Compare commits

...

925 Commits

Author SHA1 Message Date
dlage 81a052f94a Merge remote-tracking branch 'remotes/oficial/master' into patch-2 2019-12-18 16:13:59 +00:00
mdipierro c44c2b06d3 Merge branch 'master' of github.com:web2py/web2py 2019-11-02 23:09:04 -07:00
mdipierro eda8277fbd removed unwanted import that breaks python3.8 2019-11-02 20:09:47 -07:00
mdipierro 21afb0933e Merge pull request #2270 from tomodachi/freeipa_auth
Add support for freeIPA ldap auth
2019-10-27 21:27:40 -07:00
mdipierro 90fc9ea622 Merge pull request #2269 from bmiklautz/spawn_v2
Fix scheduler issue on linux related to multiprocessing
2019-10-27 21:27:04 -07:00
mdipierro 61976e7c3a Merge pull request #2267 from nicozanf/master
Fix broken inframe Vimeo video
2019-10-27 21:25:20 -07:00
Mateusz Mojsiejuk a0eac8fce7 Add support for freeIPA ldap auth 2019-10-25 15:52:11 +02:00
Bernhard Miklautz 7038758960 new [scheduler]: add parameter use_spawn
Add a new parameter to Scheduler to allow it to use spawn
multiprocessing method.

This is only available with python3 therefore the parameter is
ignored with python2.
2019-10-25 11:31:54 +02:00
Nico Zanferrari 77bcda3f3e Added Python 3 binaries to the download page +typo
It fixes issue #2027.

** IMPORTANT ** - before approving, you need to copy from https://github.com/nicozanf/web2py-pyinstaller to https://mdipierro.pythonanywhere.com/examples/static the files: 
- web2py_win.zip
- web2py_win_py2.zip
- web2py_osx.zip
- web2py_osx_py2.zip

And also modify the procedures for the "For Testers" versions on https://mdipierro.pythonanywhere.com/examples/static, that should use the previous ones as binaries.
2019-10-23 22:41:19 +02:00
Nico Zanferrari 92bb2c2241 Added Python 3 binaries to the download page 2019-10-23 22:05:12 +02:00
Nico Zanferrari f7b3abdc89 Fix broken inframe Vimeo video
It fixes Issue #2068
2019-10-22 21:54:01 +02:00
mdipierro 8f98994423 fixed validate for good 2019-10-20 22:04:11 -07:00
mdipierro cf91145db0 made validators compliant with new dal 2019-10-20 21:48:49 -07:00
mdipierro dce5fbb472 fixed validate maybe 2019-10-20 21:43:01 -07:00
mdipierro 40485ecd88 Merge pull request #2265 from vinyldarkscratch/patch-1
Add events for form upload progress
2019-10-20 21:39:50 -07:00
mdipierro 78b529bb92 Merge pull request #2263 from jicho/master
No redirect when url ends with #
2019-10-20 21:38:36 -07:00
mdipierro 32fc729cdc Merge pull request #2225 from nicozanf/pyinstaller
Full docs for obtaining Win and Mac binaries with PyInstaller
2019-10-20 21:35:47 -07:00
Queen Vinyl Darkscratch 5bcf34aba5 Add events for form upload progress 2019-10-15 16:32:43 -07:00
jicho e4845aeef6 No redirect when url ends with #
When a redirect url ends with a hash (#) the browser (Chrome) does not redirect/refreshes the browser.

This is happening with this setting:
```
form = SQLFORM.grid(
        query,
        client_side_delete=True
    )
```
2019-10-09 09:33:18 +02:00
mdipierro 1ce316609a Merge branch 'master' of github.com:web2py/web2py 2019-09-30 20:47:15 -07:00
mdipierro c95b4e43d7 isostring->isoformat 2019-09-30 20:47:06 -07:00
mdipierro 501d0b8a9b Merge pull request #2260 from timnyborg/patch-11
no sleep when redis_cache set to fail gracefully
2019-09-29 19:47:13 -07:00
Tim Nyborg 2b30157cce Update redis_cache.py
moving logging as well
2019-09-25 11:06:23 +01:00
mdipierro cbbf793841 Merge pull request #2259 from timnyborg/patch-8
correcting indentation
2019-09-21 12:00:09 -07:00
Tim Nyborg 89c392d224 correcting indentation 2019-09-17 14:48:15 +01:00
mdipierro 91fd094790 Merge branch 'master' of github.com:web2py/web2py 2019-09-09 21:13:20 -07:00
mdipierro 0f638f9cdf possibly fixed the Redis problem, thanks Rastafarian 2019-09-09 21:13:01 -07:00
mdipierro d84cbf8763 Merge pull request #2255 from vinyldarkscratch/patch-1
Don't set form in trap_form as ajax_page element
2019-09-09 20:52:15 -07:00
mdipierro 6af98ac7bc Merge pull request #2252 from misl6/fix-user-registration-key-error
Fix user registration key error
2019-09-09 20:51:24 -07:00
mdipierro f91eaa84e8 Merge pull request #2249 from timnyborg/patch-7
python3 compatibility for JSONRPCError
2019-09-09 20:50:47 -07:00
Queen Vinyl Darkscratch d17572fb10 Don't set form in trap_form as ajax_page element 2019-09-05 00:02:19 -07:00
Mirko Galimberti 1dec1b4358 Checks for user availability before accessing the registration key 2019-09-02 13:50:39 +02:00
Mirko 4191d4c48c Merge pull request #2 from web2py/master
Merge w/ current master
2019-09-02 13:43:56 +02:00
Tim Nyborg 75491fb273 python3 compatibility for JSONRPCError
Trying this again, now that I learned about gluon._compat
2019-08-23 12:25:11 +01:00
mdipierro b7202df0b9 do not test 3.5 on bionic 2019-08-18 01:11:04 -07:00
mdipierro 529444cda7 fixed a test for Decimal serializer 2019-08-18 00:47:25 -07:00
mdipierro 12d1ca739d reverting test 3.5 2019-08-18 00:21:31 -07:00
mdipierro af151783c6 test 2019-08-18 00:20:24 -07:00
mdipierro 4a838c2c14 biopic web2py tests 2019-08-17 23:43:25 -07:00
mdipierro 42181ca263 Merge branch 'master' of github.com:web2py/web2py 2019-08-17 22:46:56 -07:00
mdipierro 8b55025cb3 serializing decimal as float, thanks villas 2019-08-17 22:46:31 -07:00
mdipierro e0fc657b8e Merge pull request #2237 from dlage/fake_migrate
Fake migrate
2019-08-17 21:59:28 -07:00
mdipierro 619af453a6 Merge pull request #2234 from jvanbraekel/Fix-encoding-of-pdflatex-log-file
Fix encoding of pdflatex log file
2019-08-17 21:58:30 -07:00
dlage 179edb659a Load all models when using --force_migrate (same behaviour as appadmin). 2019-08-13 18:04:30 +01:00
mdipierro 019295e1d1 reverting 2c364c2079 which incorrecly assumes the scheme can only be http or https 2019-08-11 10:58:22 -07:00
mdipierro 60c68164f3 Merge pull request #2231 from dlage/patch-1
Force page reload with anchors
2019-08-11 10:45:37 -07:00
dlage b4c2ee8304 Allow easily switching fake_migrate on to allow easier fixes of the database migrations 2019-07-25 17:15:19 +01:00
dlage cb0c2e6edd Merge remote-tracking branch 'upstream/master' 2019-07-25 17:07:24 +01:00
Dinis 3741fe4c66 initialize env with abspath
When running scripts, the path used is relative to the web2py root instead of the full path. This causes differences in migrations when using InDBMigrator - this causes pydal to try to repeat migrations already done.
2019-07-25 17:03:01 +01:00
jvanbraekel 37d1fca32c Enable greek symbols support
Pakage was missing form the template, leading to errors when greeks characters were used
2019-07-25 11:28:37 +02:00
jvanbraekel 251314ceb8 Only return get_vars after a failing login
Since the redirect is a GET action, there is no reason to return post vars from the failing attempt.
2019-07-24 09:43:03 +02:00
jvanbraekel a23a068d40 Add utf-8 encoding in latex log opening
By default, open use ascii encoding leading to crash when non ascii caracters are present . Fix it by enforcing UTF-8  encoding
2019-07-23 15:52:21 +02:00
jvanbraekel 726d664292 Merge pull request #3 from web2py/master
merge web2py master changes
2019-07-23 15:38:15 +02:00
mdipierro 2c364c2079 Merge pull request #2233 from rayluo/patch-1
Better https detection
2019-07-23 00:28:17 -07:00
Ray Luo 8faa5e2a82 Better https detection
Switch to request.is_https which provides better https detection
2019-07-22 23:41:23 -07:00
Dinis 6fddca4e4f Force page reload with anchors
Force page to reload even when the location contains anchors, while using "web2py-redirect-location".
Otherwise, when the location is the same and the url has an anchor it won't redirect.
2019-07-17 15:18:44 +01:00
mdipierro 0557fe9c58 sync 2019-07-15 22:02:57 -07:00
mdipierro 5945edebfd Merge pull request #2230 from bjones1/master
Allow specification of server's encoding in webclient.
2019-07-15 22:00:33 -07:00
mdipierro 558afd886c Merge pull request #2229 from leonelcamara/patch-32
__lt__ and __gt__ for lazyT
2019-07-15 22:00:13 -07:00
mdipierro 1bc8ea6838 Merge pull request #2227 from nicozanf/bookfix
fix for py 3.6+ compatibility
2019-07-15 21:59:56 -07:00
mdipierro 24d970a943 Merge pull request #2223 from gonguinguen/patch-6
Added followlinks=True when calling listdir
2019-07-15 21:58:06 -07:00
mdipierro e66dda8641 Merge pull request #2222 from gonguinguen/patch-5
Added followlinks argument to listdir
2019-07-15 21:57:36 -07:00
mdipierro 320a28d564 Merge pull request #2216 from web-py/patch-3
Update fa.py
2019-07-15 21:57:12 -07:00
Bryan A. Jones 9db1c6b0b0 Allow specification of server's encoding in webclient. 2019-07-12 10:23:53 -05:00
Leonel Câmara f307fe7d56 __lt__ and __gt__ for lazyT
Fixes #2228
2019-07-10 12:25:40 +01:00
Nico Zanferrari f845497479 fix for py 3.6+ compatibility
py 3.6+ gives errors and need more escapes - I've tested the patch on the full web2py book's latex output and it's backward compatible with 2.7. For technical details see https://bugs.python.org/issue28450 :
"Deprecated since version 3.5, will be removed in version 3.6: Unknown escapes consist of '\' and ASCII letter now raise a deprecation warning and will be forbidden in Python 3.6"
2019-07-07 00:55:39 +02:00
Nico Zanferrari ab257031b5 Modified fake site.py from PyInstaller - for PY3 2019-07-01 22:51:25 +02:00
Nico Zanferrari 64c66000fa Modified fake site.py from PyInstaller - for PY2 2019-07-01 22:50:37 +02:00
Nico Zanferrari c247e740a2 full docs 2019-07-01 22:49:09 +02:00
Nico Zanferrari 3fe797ce60 full docs 2019-07-01 22:42:27 +02:00
Dinis f1f65275f7 Merge pull request #1 from web2py/master
Refresh master
2019-06-19 14:20:22 +01:00
Lisandro 2989beae02 Added followlinks=True when calling listdir
In order to solve the issue #2221, I've added followlinks=True when calling listdir() from functions compile_views(), compile_models() and compile_controllers()
2019-06-07 19:24:59 -03:00
Lisandro 2a7b16d61f Added followlinks argument to listdir
The followlinks argument is then used by the function when it calls os.walk(path...
Notice the "followlinks" argument of os.walk() is False by default, so this change won't make any difference. Every actual call to listdir() function won't need to be changed.
This change is needed to resolve issue #2221
2019-06-07 19:21:10 -03:00
mdipierro 14c1b3e400 fixed typo 2019-06-06 22:39:38 -07:00
mdipierro 8823cde350 simpler populate 2019-06-06 21:52:20 -07:00
mdipierro 3e09add351 submit->Submit, thanks Paolo Pastori 2019-06-06 21:28:56 -07:00
mdipierro 7385904f97 --force_migrate and --cron_threads, thanks Paolo Pastori 2019-06-06 21:23:31 -07:00
web-py c82f0ba619 Update fa.py
edit plural-forms for persian agian
2019-06-02 16:07:58 +04:30
mdipierro 409a499dd0 Merge pull request #2215 from yamandu/pt_br_translation
Better Brazilian Portuguese translation
2019-06-01 11:37:17 -07:00
mdipierro 9d52f5498e Merge pull request #2214 from yamandu/issue2179
Issue2179
2019-06-01 11:36:52 -07:00
mdipierro 0fe9d0aa34 Merge pull request #2213 from web-py/patch-2
create fa.py
2019-06-01 11:36:06 -07:00
mdipierro 89a4da0594 better scheduler logic to prevent deadlocks, thanks Paolo Pastori 2019-06-01 11:34:58 -07:00
mdipierro f2e95d1bb6 no need to create folders in shell 2019-06-01 11:31:27 -07:00
Carlos Costa 273ebb9a70 Better Brazilian Portuguese translation
Including SQLFORM.grid, auth and other strings.
2019-05-31 12:04:32 -03:00
Carlos Costa 1bfffc4f12 issue #2179
fixing tab size setting that breaks the editor configuration
2019-05-31 11:20:39 -03:00
Carlos José da Costa 6d7900be82 Merge pull request #1 from web2py/master
Sync with original
2019-05-31 10:28:05 -03:00
Ankidroid-net dadf363122 create fa.py
Hello. I intend to prepare a Persian translation of the Web 2 Pie and provide a good source for Persian speakers.
2019-05-26 17:20:25 +04:30
mdipierro ce25d8dc31 description % should not be escaped, reverting 2019-05-25 01:01:32 -07:00
mdipierro 1c5b2d7fce chmod a-x, thanks Paolo 2019-05-25 00:30:34 -07:00
mdipierro 9b831a64c0 Merge pull request #2159 from nicozanf/master
Change binary scripts to use PyInstaller with PY3
2019-05-25 00:24:16 -07:00
mdipierro e6e92b43c9 Merge pull request #2212 from gonguinguen/patch-4
solves #2211
2019-05-25 00:21:44 -07:00
mdipierro c02ee6a5c0 Merge pull request #2210 from timnyborg/patch-5
prevent open redirects with no protocol specified
2019-05-25 00:21:20 -07:00
mdipierro 22f95677d9 Merge pull request #2208 from dlage/fix-missing-folders-in-script
Refactor methods from gluon/admin to gluon/fileutils
2019-05-25 00:20:52 -07:00
mdipierro 4fd44ff682 Merge pull request #2207 from dlage/migrator-pr
Migrator - add a command line option to ensure that all tables are migrated
2019-05-25 00:20:21 -07:00
mdipierro da253f7ba8 Merge pull request #2202 from bmiklautz/shell_controller
fix: controller function invocation via shell
2019-05-25 00:18:55 -07:00
mdipierro a24926ad6f Merge pull request #2199 from timnyborg/patch-4
correct SAML authorization request binding
2019-05-25 00:18:27 -07:00
dlage c6837a9e73 Merge branch 'master' into migrator-pr 2019-05-23 14:32:24 +01:00
dlage a65234478c Merge branch 'master' into fix-missing-folders-in-script 2019-05-23 14:32:04 +01:00
mdipierro 94af61e732 better cron limits number of threads, thanks P.Pastori 2019-05-22 21:44:42 -07:00
Lisandro bd892556e1 solves #2211
The change I propose solves issue #2211 
I hope this is the correct approach.
2019-05-20 11:58:42 -03:00
Tim Nyborg 99d3d1d465 prevent open redirects with no protocol specified
prevent_open_redirect doesn't currently handle a 'next' with a // but no protocol, e.g.: .../user/login?_next=//google.com
2019-05-20 11:27:21 +01:00
mdipierro f258cbecee syncing pydal with restapi 2019-05-18 22:25:08 -07:00
mdipierro 2ccd7a86ec better thread handling in GUI and more resiliant start/stop, thanks P.Pastori 2019-05-18 22:21:03 -07:00
mdipierro 1790688357 some changes in permissions, thanks Paolo 2019-05-18 22:18:24 -07:00
dlage 30a0ac6a1b Refactor methods from gluon/admin to gluon/fileutils 2019-05-16 18:51:26 +01:00
dlage b365d12a2e Merge branch 'master' into migrator-pr 2019-05-16 16:49:15 +01:00
dlage 4455fa48c4 Add a script to force migration of lazy tables and fix missing options in DAL init. 2019-05-16 15:33:19 +01:00
dlage 96534ccf30 First attempt to force migration of the tables even with migrate option set to false. 2019-05-15 20:07:36 +01:00
mdipierro 148e9e8629 removed cicrular dependency in copystream, thanks Paolo 2019-05-13 20:41:27 -07:00
mdipierro 95bbaf6a38 more regex improvements, thanks Paolo Pastori 2019-05-12 19:39:33 -07:00
mdipierro 0372c50ef5 restored some missing regex, thanks Paolo Pastori 2019-05-12 17:34:24 -07:00
mdipierro 3ed69380f2 one logger per app and fixed some threading issues with newcron, thanks Paolo Pastori 2019-05-11 13:21:40 -07:00
mdipierro 55aa94bbb9 myregex is gone. Thanks Paolo Pastori 2019-05-11 13:18:03 -07:00
Bernhard Miklautz 7a225da44e fix: controller function invocation via shell
If only a compiled version is available and a controller function is invoked with -S app/c/f an
IOError is raised as '_' is used as delimiter instead of '.'.

web2py.py  -S test/test/test -M would lead to:

IOError: [Errno 2] No such file or directory: 'applications/test/compiled/controllers_test_test.pyc'
2019-05-11 17:33:42 +02:00
mdipierro caf3010408 better regex and improvements in compileapp, thank you Paolo Pastori 2019-05-09 23:30:07 -07:00
mdipierro f9c0c478df sync 2019-05-07 21:20:26 -07:00
mdipierro c5ab91041d use testing app, not welcome for test_web, thanks Paolo 2019-05-07 20:51:48 -07:00
Tim Nyborg 3f15d1ceb8 correct SAML authorization request binding
AuthnRequest cannot use BINDING_HTTP_REDIRECT, according to the SAML v2 specifications.  See:
https://github.com/IdentityPython/pysaml2/issues/163
2019-05-07 09:09:56 +01:00
mdipierro ee3b63b792 fixed create missing folders, thanks Paolo 2019-05-05 23:15:09 -07:00
mdipierro fc256343a7 better setup and teardown in test_web, thanks Paolo 2019-05-05 20:53:20 -07:00
mdipierro c59186fa64 fixed missing folder in start scheduler 2019-05-05 20:49:56 -07:00
mdipierro 091f13df43 fixed logic for running tests and using welcome for testing, thanks Paolo 2019-05-05 20:34:28 -07:00
mdipierro 621d9e6d83 Merge pull request #2194 from leonelcamara/patch-31
Fixes #2182 possibly Fixes #2190
2019-05-05 20:30:40 -07:00
mdipierro 42528987af regex fix, thanks Paolo 2019-05-04 10:20:44 -07:00
mdipierro c258d10d15 removed options_std.py, no longer necssary since options can be passed as command line arguments 2019-05-03 20:07:19 -07:00
mdipierro ca0b72d7b1 fixed a few more typos and better testing, thanks Paolo 2019-05-03 20:03:41 -07:00
mdipierro eba2455298 fixed typo, thanks Paolo 2019-05-03 20:01:27 -07:00
Leonel Câmara be81e69c2b fix tests for new json serializer 2019-05-02 16:21:34 +01:00
Leonel Câmara e3a981fc2c Fixes #2182 possibly Fixes #2190 2019-05-02 16:09:10 +01:00
mdipierro 1a169b340e fixed python3 compatibility 2019-05-01 21:45:12 -07:00
mdipierro 20416b4d1c syncing 2019-05-01 21:23:34 -07:00
mdipierro 76c5bad895 Merge branch 'master' of github.com:web2py/web2py 2019-05-01 21:10:03 -07:00
mdipierro 15daf70298 pydal sync 2019-05-01 21:09:36 -07:00
mdipierro 1c08c07a0f new command line options 2019-05-01 21:07:52 -07:00
mdipierro b291239a41 Merge pull request #2189 from nicozanf/patch-1
PY2 small print fix
2019-04-28 11:29:03 -07:00
mdipierro 6f12be7e20 even better option processing in widget.py, thanks Paolo 2019-04-26 22:36:02 -07:00
Nico Zanferrari 9769314f01 PY2 compatibility 2019-04-24 23:38:06 +02:00
Nico Zanferrari b79b5951f8 Update docs 2019-04-24 23:35:44 +02:00
Nico Zanferrari 7b9d2c87c2 PY2 compatibility 2019-04-24 23:28:48 +02:00
Nico Zanferrari 89c441cdc8 PY2 small print fix 2019-04-24 19:28:46 +02:00
mdipierro 0a9975809c cleanup in main, thanks Paolo 2019-04-23 22:10:53 -07:00
mdipierro 14dee6b466 better shell using create_app, thanks Paolo 2019-04-21 09:27:02 -07:00
mdipierro 9d5a16351b simplify admin by using create_app, thanks Paolo 2019-04-21 09:24:56 -07:00
mdipierro 7c1bb810fc cleaner fileutils and untarring/unzipping in fileutils, thanks Paolo 2019-04-20 13:53:53 -07:00
mdipierro 8a9b2d687e better option handling for the shell, thanks Paolo 2019-04-19 21:23:59 -07:00
mdipierro 0d04b8a511 widget fix, thanks Paolo 2019-04-19 21:22:29 -07:00
mdipierro 2f35117282 better options and regexp, thanks Paolo 2019-04-18 21:32:46 -07:00
mdipierro 563de284f7 better logic for passing parameters to scheduler, thanks Paolo 2019-04-17 21:59:03 -07:00
mdipierro 8c29f8b12a fixed order or sorting in grid 2019-04-13 18:04:43 -07:00
mdipierro 2fbaced689 removed naming conflict from previous commit, thanks Paolo 2019-04-11 21:18:36 -07:00
mdipierro 33335ec3e1 removed redundant os.chdir, thanks paolo 2019-04-11 21:16:54 -07:00
mdipierro 066d9c9ab5 better newcrow and widget, fixed some ssl related bugs, thanks Paolo 2019-04-11 21:15:48 -07:00
mdipierro b96c54cef9 some cleanup and better use of die() function, thanks paolo 2019-04-09 21:49:04 -07:00
mdipierro 59700b8d06 R-2.18.5 2019-04-07 21:16:13 -07:00
mdipierro 455d188da8 removed un-necessary sort exception is sqlform.grid 2019-04-07 16:26:28 -07:00
mdipierro d13a003475 use metavar, thanks Paolo 2019-04-07 09:25:08 -07:00
mdipierro a47deac038 Merge pull request #2166 from leonelcamara/revert-2145-expose
Revert "don't use a regex to find exposed functions"
2019-04-07 09:15:39 -07:00
mdipierro 5667149f8d syncing 2019-04-06 20:59:23 -07:00
mdipierro c9a42c4638 refactoring of widget.py, thanks Paolo 2019-04-06 20:54:16 -07:00
mdipierro 33fe831287 support web2py.py --GAE {app-name}, thanks Paolo 2019-04-06 20:05:39 -07:00
mdipierro f2dcc53a18 cleanup in custom import, thanks Paolo 2019-04-06 19:51:57 -07:00
Leonel Câmara 39b965be7b Revert "don't use a regex to find exposed functions" 2019-04-01 15:24:46 +01:00
mdipierro e637b6b58a removed un-needed IO class in widgets and som refactoring, thanks Paolo 2019-03-31 19:50:02 -07:00
mdipierro 18da4fa7fd request.folder no longer ends with os.sep 2019-03-31 19:46:55 -07:00
mdipierro 66d5faf78f fixed sys.exit value, thanks Paolo 2019-03-30 11:35:34 -07:00
mdipierro cfdee6e065 better logic in running system tests, thanks Paolo 2019-03-30 10:42:01 -07:00
mdipierro 44b93929e2 better regex, thanks Paolo 2019-03-30 10:34:49 -07:00
mdipierro 8c090954fd new custom import works better with recursive imports, thanks Paolo Pastori 2019-03-24 11:28:28 -07:00
mdipierro b4e22bf465 code simplificaton in widget.py, thanks Paolo Pastori 2019-03-24 10:50:02 -07:00
mdipierro 565415d4bf code simplificatons in newcron (although deprecated), thanks Paolo Pastori 2019-03-24 10:49:35 -07:00
mdipierro 12e043c0a2 removed un-necessary code from shell, thanks Paolo Pastori 2019-03-24 10:48:58 -07:00
mdipierro 1a828bf630 syncing 2019-03-23 22:27:35 -07:00
mdipierro ce2ad2d15b syncing 2019-03-23 22:13:13 -07:00
mdipierro 78ab6de16b Merge pull request #2156 from misl6/master
Fixes virtualfields representation on grid
2019-03-23 22:12:27 -07:00
mdipierro 2e2639b12a Merge pull request #2151 from leonelcamara/patch-30
Teach admin how to deal with syntax errors
2019-03-23 22:11:31 -07:00
mdipierro 83ca7f20b8 no need for Field import, thanks Paolo 2019-03-23 21:53:30 -07:00
mdipierro eb07384c23 moved pluralize logic into sqlhtml for speed reasons, thanks Paolo P. 2019-03-23 21:42:06 -07:00
Nico Zanferrari c03c962778 Rename README to README.md 2019-03-22 15:37:44 +01:00
Nico Zanferrari ca7b676591 Update README 2019-03-22 15:37:14 +01:00
Nico Zanferrari 7a0e113a5f new PyInstaller script 2019-03-22 15:34:50 +01:00
Nico Zanferrari 7e30be377d cleanup 2019-03-22 15:33:44 +01:00
Nico Zanferrari f9db6a8306 cleanup 2019-03-22 15:33:29 +01:00
Nico Zanferrari 50878f33bd cleanup 2019-03-22 15:33:14 +01:00
Mirko Galimberti 5bc1ab1367 Fixes Field.Virtual repr in grid 2019-03-19 12:22:16 +01:00
Mirko 1d81132159 Merge pull request #1 from web2py/master
Merging from master
2019-03-19 12:07:59 +01:00
mdipierro b29cdef7e2 syncing 2019-03-18 08:22:26 -07:00
Leonel Câmara 986406ed80 Teach admin how to deal with syntax errors 2019-03-18 15:06:38 +00:00
mdipierro 396311714c fixed import 2019-03-17 13:44:40 -07:00
mdipierro 8b84026206 syncing 2019-03-17 13:11:44 -07:00
mdipierro c4861879ea moved default_validatos to pydal 2019-03-17 11:00:56 -07:00
mdipierro 4a90c82ee4 lazy initialization of highligher styles, thanks Paolo 2019-03-15 22:32:01 -07:00
mdipierro 4a16a1c377 Fixes #1996, thanks Paolo 2019-03-15 22:21:11 -07:00
mdipierro e276ac497d Merge branch 'master' of github.com:web2py/web2py 2019-03-14 21:01:49 -07:00
mdipierro 7e1e767d8f syncing pydal 2019-03-14 21:00:11 -07:00
mdipierro 378405b6b6 Merge pull request #2147 from leonelcamara/patch-29
import translate and ValidationError as well
2019-03-13 21:14:11 -07:00
Leonel Câmara e821e5c7a6 import translate and ValidationError as well 2019-03-13 18:40:45 +00:00
mdipierro b6f8ad1a54 R-2.18.4 2019-03-12 22:22:04 -07:00
mdipierro 483820c5ed Merge branch 'master' of github.com:web2py/web2py 2019-03-12 21:32:55 -07:00
mdipierro 879d8aeffd many many regex improvements, thanks Paolo 2019-03-12 21:32:03 -07:00
mdipierro bc1e417f3b Merge pull request #2145 from leonelcamara/expose
don't use a regex to find exposed functions
2019-03-12 21:18:51 -07:00
mdipierro f0bd9ed002 Merge pull request #2144 from leonelcamara/patch-28
Fixes #2143
2019-03-12 21:17:39 -07:00
Leonel Câmara cc235d3142 don't use a regex to find exposed functions 2019-03-12 11:33:41 +00:00
Leonel Câmara 1619a55802 Fixes #2143 2019-03-12 00:02:11 +00:00
mdipierro aff4f98fe1 Merge pull request #2138 from nickinho/master
Update oauth20_account.py
2019-03-10 16:54:12 -07:00
mdipierro 7e3fbef25a Merge pull request #2134 from vinyldarkscratch/translations/welcome/de
Update translations for welcome/de
2019-03-10 16:53:31 -07:00
nickinho e8d56bbba9 Update oauth20_account.py
Adding python 2/3 compatibility.
2019-03-08 13:58:54 +01:00
mdipierro 73f49379ed syncing pydal 2019-03-07 22:19:04 -08:00
Vinyl Darkscratch 27c34fc531 Merge remote-tracking branch 'web2py/master' 2019-03-07 21:47:58 -08:00
mdipierro 9e6cef56ba Merge pull request #2135 from leonelcamara/patch-27
Fix: Avoid possible NameError
2019-03-07 21:46:51 -08:00
mdipierro a8734411c4 Merge pull request #2133 from vinyldarkscratch/translations/update-files
Remove random trailing whitespace in language files
2019-03-07 21:45:37 -08:00
mdipierro 542904f83d Merge pull request #2132 from vinyldarkscratch/gitignore
Ignore __pycache__ folders
2019-03-07 21:45:22 -08:00
Leonel Câmara a339381a67 Fix: Avoid possible NameError 2019-03-07 20:26:15 +00:00
Vinyl Darkscratch afff1e50ec Remove random trailing whitespace in language files 2019-03-06 21:23:20 -08:00
Vinyl Darkscratch e74e94c52b Ignore __pycache__ folders 2019-03-06 21:21:01 -08:00
Vinyl Darkscratch 007cf42f89 Update translations for welcome/de 2019-03-06 21:19:18 -08:00
mdipierro f60f931299 Merge pull request #2131 from vinyldarkscratch/translations/update-files
Update language files
2019-03-06 20:12:13 -08:00
mdipierro a72aabfbb4 Merge pull request #2129 from leonelcamara/patch-25
Fix unclosed string typo
2019-03-06 20:10:49 -08:00
Vinyl Darkscratch 93f2ec342a Update languages for admin 2019-03-06 17:02:02 -08:00
Vinyl Darkscratch c18fc53d33 Update languages for welcome 2019-03-06 16:47:15 -08:00
Leonel Câmara 2d6eb5cf5d Fix unclosed string typo
see https://groups.google.com/forum/#!topic/web2py/DykU5wPQ614
2019-03-06 13:58:09 +00:00
mdipierro f56a19b0af syncing pydal 2019-03-05 20:05:23 -08:00
mdipierro 4b59b289de Merge branch 'master' of github.com:web2py/web2py 2019-03-04 21:46:35 -08:00
mdipierro d3a41f3a65 syncing pydal 2019-03-04 21:46:22 -08:00
mdipierro 910754c5c7 Merge pull request #2127 from leonelcamara/patch-24
Fix b' in session.flash when storing a LazyT
2019-03-04 19:54:26 -08:00
Leonel Câmara 701b6e1ebd Fix b' in session.flash when storing a LazyT
probably Fixes #2110 as putting T('foo') in the session was the only way I could reproduce it
2019-03-04 17:11:04 +00:00
mdipierro 0fc807e5cf syncing pydal 2019-03-04 01:03:23 -08:00
mdipierro 63ad7fb4ec new pydal 2019-03-04 00:59:02 -08:00
mdipierro e97c458fff reinstated commented tests 2019-03-04 00:27:41 -08:00
mdipierro bfc3169239 validators moved into pydal 2019-03-04 00:26:17 -08:00
mdipierro ca3fd90acc new validators pass all tests 2019-03-04 00:08:13 -08:00
mdipierro 26f1b8c84b new validators and adapted tests 2019-03-03 23:54:49 -08:00
mdipierro 6128d03d4b R-2.18.3 2019-03-03 15:08:28 -08:00
mdipierro dd27abc770 Merge pull request #2125 from nicozanf/master
fix for building python 3 windows binaries
2019-03-03 15:03:59 -08:00
mdipierro 9e7b2b0b0b R-2.18.3 2019-03-03 15:02:35 -08:00
mdipierro e09655b112 fixed translator 2019-03-03 14:27:12 -08:00
mdipierro 399b57d13e fixed import of local packages 2019-03-03 14:14:19 -08:00
mdipierro 2941aa13da fixed admin save 2019-03-03 13:53:12 -08:00
Nico Zanferrari c1e5571de8 fix for building python 3 windows binaries 2019-03-03 22:26:46 +01:00
mdipierro a828cb2124 Merge pull request #2115 from leonelcamara/patch-23
py3 compat don't use keys()[0]
2019-03-02 23:08:04 -08:00
mdipierro 5a848e51a3 Merge pull request #2107 from vinyldarkscratch/validators/is_file
Add new IS_FILE validator
2019-03-02 23:07:22 -08:00
mdipierro 8477b77c56 Merge pull request #2104 from leonelcamara/valbcompat
Validators backwards compatibility fix
2019-03-02 23:06:00 -08:00
mdipierro 9bee5906d9 Merge pull request #2103 from erbalito/patch-3
resolves #1729
2019-03-02 23:04:38 -08:00
mdipierro 70ccecb1ab Merge pull request #2100 from erbalito/patch-1
Update redis_cache.py
2019-03-02 23:03:18 -08:00
mdipierro f2b8cdf684 Merge pull request #2099 from erbalito/patch-2
resolves #2098
2019-03-02 23:02:25 -08:00
Leonel Câmara ef6814d452 py3 compat
Fixes #2114
2019-03-01 15:05:26 +00:00
Vinyl Darkscratch 1abdb0b5d8 Add new IS_FILE validator 2019-02-26 07:35:01 -08:00
Leonel Câmara ef6eb2cb04 Change the way Validator.translator is assigned so Validators can use self.translator 2019-02-26 11:43:58 +00:00
Leonel Câmara be3343e4af backwards compatibility translator -> translate 2019-02-26 11:41:45 +00:00
mdipierro 8dcb4326c6 R-2.18.2 2019-02-25 22:08:20 -08:00
mdipierro d5d2cf55de removed teritem which breaks py3 2019-02-25 21:44:53 -08:00
mdipierro 818494d0f3 fixed problems with byte escaping in py3 2019-02-25 21:30:04 -08:00
erbalito 1779cf1a64 resolves #1729
A fix to avoid an error when time_expire=0 and set the proper cache_control instead.
2019-02-24 21:37:03 -03:00
mdipierro c439355c1a removed duplicate function local_html_escape 2019-02-24 02:12:22 -08:00
mdipierro b58b7da18f validatos no longer depend on T 2019-02-24 01:51:18 -08:00
mdipierro afaf57f6da R-2.18.1 2019-02-23 21:46:01 -08:00
mdipierro 7a8b5695bc syncing dal 2019-02-23 19:07:28 -08:00
mdipierro 2d62c6ce88 updated pydal 2019-02-23 17:56:01 -08:00
mdipierro 263b1d0156 removed gluon/tests/test_template because moved to yatl 2019-02-23 16:38:31 -08:00
mdipierro e199d0b495 added yatl to submodules 2019-02-23 16:28:29 -08:00
mdipierro 632946ac79 Merge branch 'master' of github.com:web2py/web2py 2019-02-23 16:25:39 -08:00
mdipierro 0663088d7f added yatl 2019-02-23 16:24:33 -08:00
mdipierro 943e3b4de8 Merge pull request #2101 from jvanbraekel/patch-1
Fix redirect url when login failed (invalid login)
2019-02-23 15:55:54 -08:00
jvanbraekel b21cfb53f3 Fix redirect url when login failed (invalid login)
Hello,

This is broken since 1457e12f70 . 'self.url' does'nt have any get_vars,post_vars, only one parameter called vars. I suggest to pass all variables instead  with request.vars  that will encompass both get and post vars... Another possibility would be to change the self.url signature but I don't see the purpose of making the distinction between post and get vars in this case.
2019-02-21 15:17:40 +01:00
erbalito df2d09706c resolves #2098 2019-02-21 08:39:41 -03:00
erbalito 118e57dd15 Update redis_cache.py
Small fix to make proper use of current.request.application when application is not provided
2019-02-21 08:12:07 -03:00
mdipierro f06c60b963 space cleanup 2019-02-17 17:20:38 -08:00
mdipierro bf23e7bb0e better support of virtual fields in grid by accessing new sqlrows.colnames_fields, thanks Paolo 2019-02-17 17:02:24 -08:00
mdipierro 001b77b5f3 better regex escaping 2019-02-17 16:45:45 -08:00
mdipierro 23bcfe4239 Merge pull request #2094 from sethkinast/is-strong
gluon.validators: update IS_STRONG to behave as it did in web2py < 2.15
2019-02-17 16:19:26 -08:00
Seth Kinast 0077f29d71 gluon.validators: update IS_STRONG to behave as it did in web2py < 2.15
We used to compare `type(self.upper) == int` but the check was changed
to `isinstance(self.upper, int)`. Because bool is an instance of int but is not
the type int, the meaning of the checks changed to treat False as 0.

This patch specifically differentiates between False and 0.
  - False means "no requirements for this character class".
  - 0 means "exactly 0 of this character class".

Fixes #2093
2019-02-13 21:14:05 -08:00
mdipierro ddc99b3552 validators are back in web2py for now 2019-02-10 22:15:12 -08:00
mdipierro cf278d3741 validators now tested in pydal and code moved there 2019-02-10 21:32:31 -08:00
mdipierro 21b0bac625 Merge branch 'master' of github.com:web2py/web2py 2019-02-10 21:10:38 -08:00
mdipierro e1cbaf1cb3 made template independent of everything else (ready to bedome its own package) and other minor fixes 2019-02-10 21:10:25 -08:00
mdipierro b3175d092e Merge pull request #2088 from vinyldarkscratch/python-3
Introduce better Python 3 compatibility across all files
2019-02-10 20:09:27 -08:00
mdipierro d8bdc47542 Merge pull request #2084 from vinyldarkscratch/fix-2083
Fix login form clearing after failed login
2019-02-10 20:09:14 -08:00
mdipierro d16b90c04f pydal 19.02 2019-02-10 20:08:32 -08:00
Vinyl Darkscratch f4ffac58ae Convert to print function 2019-02-09 10:03:49 -08:00
Vinyl Darkscratch c856c2b0e2 Fix tabs + indents mix 2019-02-09 10:03:41 -08:00
Vinyl Darkscratch 405527672c Update Python version in setup scripts 2019-02-09 09:41:54 -08:00
Vinyl Darkscratch f434ebec8a Update Python 3 compatibility 2019-02-09 00:01:11 -08:00
Vinyl Darkscratch 8852df7a7a Delete password rather than simply clearing it 2019-02-04 09:56:58 -08:00
mdipierro fcea326855 using _compat.py from pydal 2019-02-03 21:36:26 -08:00
mdipierro 5e1527a8e2 many improvements to grid, thanks Paolo 2019-02-03 21:24:52 -08:00
mdipierro 7c515f48f6 Merge pull request #2090 from vinyldarkscratch/appveyor/add-python-3.7
Add Python 3.7 to AppVeyor
2019-02-03 21:17:20 -08:00
mdipierro 0bf55f18d6 Merge pull request #2086 from vinyldarkscratch/patch-5
Fix tools.py _get_login_settings()
2019-02-03 21:15:01 -08:00
mdipierro 2fb3a78d75 Merge pull request #2076 from ilvalle/ci_updates
updated travis env
2019-02-03 21:13:01 -08:00
mdipierro 3f56a0ad70 Merge pull request #2075 from benlawraus/benlawraus
unicode() is not a standard python 3 function so using str() if pytho…
2019-02-03 21:10:43 -08:00
mdipierro b501d77903 Merge pull request #2072 from vinyldarkscratch/admin-debug-interact-patch
Fix translation strings to use Markmin
2019-02-03 21:10:13 -08:00
mdipierro 252835d8e7 Merge pull request #2071 from vinyldarkscratch/translations/de
Update German translations
2019-02-03 21:09:48 -08:00
Vinyl Darkscratch 4529ee5ead Add Python 3.7 to AppVeyor 2019-02-02 06:59:36 -08:00
Vinyl Darkscratch 3269e1a3f5 Fix #2044 2019-01-29 20:39:16 -08:00
Vinyl Darkscratch 1457e12f70 Don't remember password on failed login 2019-01-29 17:30:10 -08:00
Vinyl Darkscratch 603f54fade Fix login form clearing after failed login 2019-01-29 02:11:18 -08:00
ilvalle 04626f83cf updated travis env 2019-01-17 20:10:27 +01:00
Ben Lawrence b23131b3d6 unicode() is not a standard python 3 function so using str() if python 3 test is true 2019-01-17 09:58:56 -08:00
Vinyl Darkscratch fc3e9d95b8 Fix translation strings to use Markmin 2019-01-05 05:42:15 -08:00
Vinyl Darkscratch b1e397c223 Update German translations for admin (2nd revision) 2019-01-05 03:48:38 -08:00
Vinyl Darkscratch 41fd73e26c Update German translations for welcome 2019-01-04 15:24:35 -08:00
Vinyl Darkscratch 975949ab18 Update German translations for admin 2019-01-04 15:23:15 -08:00
mdipierro cef31f1277 fixed submodule reference 2018-12-09 19:25:57 -08:00
mdipierro 040966850c fixed submodule reference 2018-12-09 19:08:52 -08:00
mdipierro 79b2685fba fixed autocomplete widget feature, thanks Paolo 2018-12-09 19:02:33 -08:00
mdipierro a87ee9a966 changed pydal 2018-12-09 18:59:46 -08:00
mdipierro 3ee6ddb081 allow 0 to be an id, thanks Paolo 2018-12-09 18:53:45 -08:00
mdipierro 4b587c45df Merge pull request #2061 from Faelysse/master
[Py3] Open shell executed files in binary mode, fixes #2060
2018-12-05 20:49:48 -08:00
mdipierro 134d9a11c8 Merge pull request #2059 from erbalito/master
resolves #2058
2018-12-05 20:49:16 -08:00
Faelysse 08f04814ba Open shell executed files in binary mode, fixes #2060
Non-ASCII characters in executed files caused a crash, this fixes such
behaviour.
2018-12-03 16:14:05 +01:00
erbalito 178f48799a Merge branch 'master' into master 2018-11-26 11:46:59 -03:00
erbalito 109206e721 Merge pull request #1 from erbalito/erbalito-patch-1
fixes #2058
2018-11-26 11:43:38 -03:00
erbalito 9d8fce0687 fixes #2058
I've modified redis_cache.py to be able to optionally provide an application name to RedisCache constructor. This makes possible to share cache between different web2py applications if needed.
2018-11-21 09:40:19 -03:00
mdipierro 5368a14c43 Merge pull request #2054 from vinyldarkscratch/validators/image_aspect_ratio
Add aspect ratio to IS_IMAGE() validator
2018-11-18 11:09:52 -08:00
mdipierro f119f1fcb2 Merge pull request #2053 from boriscougar/patch-1
redis_scheduler failing
2018-11-18 11:09:26 -08:00
mdipierro c52e75624c Merge pull request #2055 from erbalito/patch-1
Update redis_cache.py to allow sharing cache between applications
2018-11-18 11:06:20 -08:00
erbalito 66f6549817 Update redis_cache.py to allow sharing cache between different applications
I'm not sure if this would help someone else. I've always had this scenario where some of my web2py applications share the models, and therefore, need to share the cache (I use Redis). In the past I've asked if there was any possibility to share cache between applications, but I got no answers:
https://groups.google.com/forum/#!searchin/web2py/share$20cache$20application%7Csort:date/web2py/iNCzMq8ADnw/ufyPBWajBQAJ

Anyway, I've noticed that I could make a simple change to redis_cache.py to achieve what I was looking for: I've added the optional argument "application" to RedisCache(). If you inspect the RedisCache() code, you will notice that previously it was forced to use current.request.application for the instance_name. With this simple change I did, it's possible to provide an application name to the RedisCache() constructor.

This has worked like a charm for my specific scenario, and I think I can say that it has backwards compatibility. Still, if this proposal isn't accepted, I would like to hear about some alternative to share cache between applications. Thanks!
2018-11-14 12:47:04 -03:00
Vinyl Darkscratch 62df950f50 Add aspect ratio validation tests 2018-11-03 21:17:13 -08:00
Vinyl Darkscratch 7318d28f1a Add aspect ratio to IS_IMAGE() validator 2018-11-03 21:06:43 -08:00
Boris Aramis Aguilar Rodríguez a79ad25001 redis_scheduler failing
redis_scheduler failed when calculating next_run_time (method total_seconds() belongs to timedelta)
2018-11-01 15:04:22 -06:00
mdipierro bf27c8c394 Merge pull request #2048 from timnyborg/patch-3
Allow custom json encoder
2018-11-01 08:24:53 -07:00
mdipierro bbaf151f25 Merge pull request #2047 from kvanzuijlen/fix_issues_for_python3
'unique_key' shouldn't be saved as bytes
2018-11-01 08:24:27 -07:00
mdipierro 41448926cb Merge pull request #2045 from veiko99/traceback_errors
Fixes python3 traceback errors
2018-11-01 08:23:02 -07:00
mdipierro 2fa6b644ad Merge pull request #2043 from timnyborg/patch-2
fix selectable breaking with custom formstyle
2018-11-01 08:21:42 -07:00
mdipierro 9824ead2e7 Merge pull request #2041 from rif/master
fix recaptcha2 for python3
2018-11-01 08:21:11 -07:00
mdipierro eefdd6f887 Merge pull request #2040 from d3im/master
fix plugin.html view to work with python3
2018-11-01 08:19:54 -07:00
mdipierro 623bbc4349 Merge pull request #2034 from timnyborg/patch-1
correct rendering of jsonrpcerrors
2018-11-01 08:19:32 -07:00
mdipierro f307d32288 Merge pull request #2033 from cbenhagen/patch-1
Fix basic_auth with Python 3
2018-11-01 08:19:00 -07:00
mdipierro eaa34a7f9f Merge pull request #2032 from rayluo/generic-csv
Create generic.csv
2018-11-01 08:18:35 -07:00
Tim Nyborg 77a5c01ac9 Allow custom json encoder
This lets an application use a custom JSONEncoder when making jsonrpc calls (to automatically handle, say, serialization of datetime, or Decimal, or custom classes).

e.g.:
    
import json, datetime, decimal
class ExtendedEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, datetime.datetime):
            return obj.isoformat()
        if isinstance(obj, decimal.Decimal):
            return str(obj)
        return super(ExtendedEncoder, self).default(obj)
    
api = ServerProxy(address, version='2.0', encoder=ExtendedEncoder)
2018-10-29 15:16:28 +00:00
Koen van Zuijlen ec41d49454 'unique_key' shouldn't be saved as bytes 2018-10-29 13:47:35 +01:00
Koen van Zuijlen 2be479fc9f Merge branch 'master' into fix_issues_for_python3 2018-10-29 13:47:06 +01:00
Veiko Aasa 5887e43248 Fixes #1829 2018-10-20 13:58:41 +03:00
Veiko Aasa c5e1ddea20 Fixes #1998 2018-10-20 13:54:04 +03:00
Tim Nyborg aca4947927 fix selectable breaking with custom formstyle
the recently added elif results in a 'function is not iterable' exception if you have a custom formstyle function
2018-10-19 16:36:13 +01:00
Radu Ioan Fericean 7de0a3b53f fix recaptcha2 for python3 2018-10-18 16:27:15 +03:00
d3im 508e96c486 fix plugin.html view to work with python3 2018-10-18 09:20:29 +02:00
Tim Nyborg 5d9f17d414 correct rendering of jsonrpcerrors
Currently, JSONRPCErrors get spit into a console or ticket one line per character (due to the  '\n'.join(data) applying to a string).  This fixes that issue while preserving new lines for arrays.
2018-10-09 10:51:38 +01:00
Ben Hagen a5d7827fc7 Fix basic_auth with Python 3
`base64.b64decode` returns bytes and thus the separator needs to be a bytes-like object.
2018-10-08 15:47:13 +02:00
Ray Luo 313f7292f8 Create generic.csv 2018-10-07 01:02:50 -07:00
mdipierro 95709e582d R-2.17.2 2018-10-06 11:41:01 -07:00
mdipierro 755275f8ef R-2.17.2 2018-10-06 11:36:23 -07:00
mdipierro 84a33f1a50 Merge branch 'master' of github.com:web2py/web2py 2018-10-06 11:35:29 -07:00
mdipierro ca5c79c980 R-2.17.2 2018-10-06 11:35:12 -07:00
mdipierro 09e53f495d Merge pull request #2031 from leonelcamara/patch-22
Use export columns as is supposed instead of selectable ones
2018-10-06 11:31:14 -07:00
mdipierro 4ede2de037 Merge pull request #2030 from leonelcamara/patch-21
Show readable fields with a default in create form
2018-10-06 11:30:14 -07:00
Leonel Câmara 800bd53870 Use export columns as is supposed instead of selectable ones
Fixes #2014
2018-10-04 12:43:49 +01:00
Leonel Câmara 4c87932f06 Show readable fields with a default in create form
Fixes #2006 
This is a backwards compatibility fix.
2018-10-03 12:53:58 +01:00
mdipierro 8276b30c32 Merge pull request #2026 from nicozanf/patch-1
Python 3 compatibility + fixed link for cookbook
2018-09-27 22:19:37 -07:00
mdipierro 6f87a20e26 Merge pull request #2025 from leonelcamara/patch-20
Python 3 compatibility
2018-09-27 22:19:20 -07:00
mdipierro 41162c794e Merge pull request #2022 from leonelcamara/patch-19
Fixes #2020
2018-09-27 22:18:22 -07:00
Nico Zanferrari 6034368364 Python 3 compatibility + fixed link for cookbook 2018-09-27 21:16:05 +02:00
Leonel Câmara 19c41b308d Update languages.py 2018-09-27 17:57:24 +01:00
Leonel Câmara f5638c8f6b Python 3 has no cmp function in sorted 2018-09-27 16:22:48 +01:00
Leonel Câmara 904ca403a2 Python 3 compatibility
Fixes #2024
2018-09-27 01:53:08 +01:00
Leonel Câmara d244c34282 Fixes #2020 2018-09-24 22:04:04 +01:00
mdipierro 1715bccac4 Merge pull request #2019 from hrother/sqlform_factory_validators
Testcase for #2007
2018-09-23 10:44:37 -07:00
mdipierro abf3ca54bf Merge pull request #2018 from leonelcamara/fix726
Fixes #726
2018-09-22 18:48:21 -07:00
mdipierro 2440932579 Merge pull request #2017 from leonelcamara/fixfactoryvalidators
Fixes #2007
2018-09-22 18:47:51 -07:00
mdipierro 02e14d91e1 Merge pull request #2016 from inpos/master
Python 3 compat
2018-09-22 18:44:25 -07:00
mdipierro e9547d219a Merge pull request #2008 from leonelcamara/samesite
Add SameSite support
2018-09-22 18:43:38 -07:00
Holger Rother 70bb497b96 Simplify testcase 2018-09-22 09:55:26 +02:00
Holger Rother 398fc6de37 Testcase for #2007 2018-09-21 07:58:12 +02:00
Leonel Câmara 50692a4fd3 Fixes #726 2018-09-20 18:59:41 +01:00
Leonel Câmara 11b441b777 Make SameSite=Lax the default for all web2py apps 2018-09-20 13:02:09 +01:00
Leonel Câmara 62f5372876 Fixes #2007 2018-09-20 12:47:05 +01:00
Бородин Роман fba90d31f4 Error 'dict_items += list' when try to save code-editor settings 2018-09-19 11:06:04 +03:00
Бородин Роман 9375ea7378 TypeError when try to disable appliance 2018-09-19 10:57:57 +03:00
mdipierro e697bdaf90 Merge branch 'master' of github.com:web2py/web2py 2018-09-17 21:36:54 -07:00
mdipierro 7bddd67a61 fixed basestring in template.py filenames, thanks appjarbiz 2018-09-17 21:32:41 -07:00
mdipierro 93c05240b7 Merge pull request #2009 from misl6/master
Fixes request_reset_password w/ custom userfield
2018-09-17 06:29:16 -07:00
mdipierro 2f1db7dfa2 Merge pull request #2005 from Faelysse/master
HTTP header date made independent of locale, fixes #1997
2018-09-17 06:24:32 -07:00
mdipierro 0389a45034 Merge pull request #2004 from DonaldMcC/issue/2003
Issue/2003
2018-09-17 06:23:34 -07:00
mdipierro ec53580a76 Merge pull request #2002 from JusticeN/patch-2
changing the anyserver.py to make it run with py3
2018-09-17 06:22:45 -07:00
Mirko Galimberti 09c8b5eced skip requires on custom userfield 2018-09-07 10:23:07 +02:00
Leonel Câmara 928fd364cf Add SameSite support 2018-09-06 16:16:44 +01:00
Mirko Galimberti 55a2f4a6b2 Fixes request_reset_password w/ custom userfield 2018-09-06 14:58:03 +02:00
Faelysse 6e0da9cea7 HTTP header date made independent of locale, fixes #1997 2018-09-06 14:46:07 +02:00
Donald McClymont 9364aa2036 Support for compiled apps on python 3.7 and above - marshal_header_size increased to 16 for those cases - tested by compiling and running welcome app on py 2.7,3.6 and 3.7 2018-09-05 23:34:05 +01:00
Donald 48806ccd8f Merge pull request #1 from web2py/master
merge my branch forward hopefully
2018-09-05 22:52:36 +01:00
JusticeN 80582daaa0 changing the anyserver.py to make it run with py3
actually fixing the issue #1993 i have created.
i tested it successfuly with the command python3 anyserver.py -s tornado -i 127.0.0.1 -p 80 -l
2018-09-05 14:17:33 +02:00
mdipierro 33c6dd9656 fixed broken connection in scheduler, thanks Bart 2018-09-02 10:45:06 -07:00
mdipierro 1c8790271d Merge pull request #1995 from wojtek555/issue/1974
Glyphicons replaced with awasome icons in list widget, fix #1974
2018-09-02 10:27:04 -07:00
mdipierro f8cba1e5c4 Merge pull request #1992 from jvanbraekel/master
Update the style of SQLgrid select actions
2018-09-02 10:26:40 -07:00
mdipierro f2aacd93c8 Merge pull request #1991 from Faelysse/master
Python3 redis compatibility
2018-09-02 10:25:59 -07:00
mdipierro 02b02f73bd Merge pull request #1989 from nicozanf/patch-2
partially restore original layout for Welcome page
2018-09-02 10:25:25 -07:00
mdipierro af69716bf0 Merge pull request #1982 from kvanzuijlen/fix_issues_for_python3
Fixed KeyError that occured when trying to retrieve column 'session_data'
2018-09-02 10:23:36 -07:00
mdipierro 433ef09d2c Merge pull request #1924 from blackthorne/master
added task broadcasting for workers within a group
2018-09-02 10:22:18 -07:00
mdipierro 2859994bbe Merge branch 'master' of github.com:web2py/web2py 2018-09-02 10:21:53 -07:00
mdipierro 5cf2c9696d Merge pull request #1994 from JusticeN/patch-1
make make_min_web2py.py run for python3
2018-09-02 10:19:46 -07:00
mdipierro b517282238 Merge pull request #1984 from amerikan/master
Adds the auto-fill Github issues templates
2018-09-02 10:19:06 -07:00
mdipierro 842a8d613b Merge pull request #1979 from kelvinspencer/patch-1
Update web2py_bootstrap.js
2018-09-02 10:18:02 -07:00
mdipierro 2226862ea9 Merge pull request #1976 from nicozanf/patch-1
Python 3 compatibility clarification
2018-09-02 10:17:14 -07:00
mdipierro e87ef4bc3a fixed SimpleXMLRPCDispatcher, thanks Leonel 2018-09-02 10:15:01 -07:00
Wojciech Barcik b28cc5b5c3 Glyphicons replaced with awasome icons in list widget, fix #1974 2018-08-29 19:01:22 +02:00
JusticeN ef4e465222 make make_min_web2py.py run for python3
i tried to minify the web2py server and this script was not able to run with python3.5.
So i change it.
2018-08-25 13:45:46 +02:00
jvanbraekel 1cdda4f7f6 Merge https://github.com/jvanbraekel/web2py 2018-08-22 17:53:27 +02:00
jvanbraekel de7aeceac8 Merge pull request #2 from web2py/master
merge origin changes
2018-08-22 17:50:14 +02:00
jvanbraekel e04d16bdc1 Align SQLForm.grid selec action left and insure compatibility with bootsrap 4 2018-08-22 17:21:31 +02:00
Faelysse c5547091cf Python3 redis compatibility
Redis expects int, Python3 <int>/<int> operation returns floatgit
2018-08-17 16:35:54 +02:00
Nico Zanferrari 83abe91e3a restore original background image 2018-08-16 18:38:55 +02:00
Nico Zanferrari 4f29733fae restore dark navbar 2018-08-16 18:31:13 +02:00
Erik Montes 6b8ccff2a4 Create feature_request.md 2018-08-13 23:36:16 -07:00
Erik Montes e7fee6a417 Create bug_report.md 2018-08-13 23:34:22 -07:00
mdipierro 63972386c2 fixed limitby in sqlhtml grid, thanks Paolo 2018-08-12 10:56:58 -07:00
Koen van Zuijlen 5c626c6d95 Fixed KeyError that occured when trying to retrieve column 'session_data' 2018-08-10 16:06:40 +02:00
Kelvin Spencer 46b8ad3fdd Update web2py_bootstrap.js
This allows dropdown menu items to be open in the target specified if it exists without changing main/top window
2018-08-08 08:58:15 -05:00
Nico Zanferrari 7111b3dcb2 Python 3 compatibility clarification 2018-08-08 00:13:23 +02:00
mdipierro 285013a64a version 2.17.1 2018-08-05 17:57:11 -07:00
mdipierro bcf288f55d fixed pydal 18.08 2018-08-05 17:56:03 -07:00
mdipierro 88c98cad5c fixed pydal 18.08 2018-08-05 17:22:23 -07:00
mdipierro 2203e0e49f Merge pull request #1970 from web2py/jwt_allow_decorator_fix
Jwt allow decorator fix
2018-08-05 17:21:17 -07:00
mdipierro 540bda993f Merge pull request #1967 from misl6/master
Fixes login_bare + register_bare w/ custom login_userfield
2018-08-05 17:19:34 -07:00
mdipierro 65b9c9ce17 Merge pull request #1960 from daniellibonati/master
Proposed Fix for #1959 "Can't initiate simplejsonrpc service object"
2018-08-05 17:18:29 -07:00
mdipierro 5f9a097505 Merge pull request #1956 from marian-vignau/master
Proposed fix to solve crash on markdown2 module
2018-08-05 17:18:00 -07:00
mdipierro b33efddb77 Merge pull request #1954 from gonguinguen/patch-3
Catch KeyError in download function
2018-08-05 17:17:28 -07:00
mdipierro 577c45d183 Merge pull request #1951 from yamandu/issue/1950
correction to generate options also for fields generated with…
2018-08-05 17:16:47 -07:00
mdipierro 077eb4263d Merge pull request #1946 from leonelcamara/patch-17
Import urllib stuff from _compat
2018-08-05 17:14:43 -07:00
mdipierro 2904dae2c3 Merge pull request #1945 from leonelcamara/patch-16
Import urllib stuff from _compat
2018-08-05 17:14:29 -07:00
mdipierro 225380d00b Merge pull request #1944 from leonelcamara/patch-15
PY3 compatibility
2018-08-05 17:14:16 -07:00
mdipierro fc295bb617 Merge pull request #1943 from leonelcamara/patch-14
fixed XML import
2018-08-05 17:14:03 -07:00
mdipierro 6438200923 Merge pull request #1942 from jvanbraekel/master
Use request_reset_password +  PDF and TSV exports
2018-08-05 17:13:45 -07:00
mdipierro 8c7955e107 Merge pull request #1937 from sugizo/add_docker
add another server in some os (docker)
2018-08-05 17:12:12 -07:00
jvanbraekel 68284be7b0 Fix pdf export , make it python3 compatible, Fix markmin2latex import 2018-08-02 11:04:14 +02:00
jvanbraekel 0d8dc294e9 Fix tsv ext, add tsv hidden exporter , use csv exporter for tsv export 2018-08-02 10:59:51 +02:00
jvanbraekel cfe9c74eb1 Merge pull request #1 from web2py/master
web2py origin changes
2018-08-01 11:12:32 +02:00
jvanbraekel e73029ce37 fix markmin2latex import
Add full path name in markmin2latex import
2018-07-31 10:13:21 +02:00
Mirko Galimberti a053df7b75 Adds type error for handling NoneType exceptions 2018-07-27 12:03:39 +02:00
Mirko Galimberti a22aac1e65 Fixes ipython console listindex error 2018-07-27 11:18:24 +02:00
Michele Comitini 6f2be48e25 generate HTTP error code also if jwt token parameter is missing in request 2018-07-26 20:01:38 +02:00
Gautham Pai 39dd86d6fb Raise an error only if required is True and token is not present 2018-07-24 17:40:15 +05:30
Gautham bc59d58a3e Fixing a bug - the allows_jwt method does NOT throw any error if a token is not found at all.
This could cause potential security issues as developers decorate their methods with @allows_jwt and then not pass a token and the method allows the call.

Signed-off-by: Gautham <buzypi@gmail.com>
2018-07-24 15:12:20 +05:30
Mirko Galimberti 1aab089205 Fixes login_bare + register_bare w/ custom login_userfield 2018-07-19 17:13:38 +02:00
Daniel Libonati ea1d9acfad Fix #1959 2018-06-30 21:55:16 -03:00
mavignau@gmail.com 90222d7867 Fixed crash encountered in markdown2 module 2018-06-19 21:25:55 -03:00
mavignau@gmail.com e6b7388758 Fix proposed to crash in linux on import markdown module 2018-06-19 21:18:33 -03:00
mavignau@gmail.com 52672530b7 Fix proposed to crash in linux on import markdown module 2018-06-19 21:13:53 -03:00
Lisandro 911cf430a9 Catch KeyError in download function
This change is necessary to avoid an error ticket when you delete an upload field from a table (and also from the model definition). In those cases, requests to old URLs will throw a KeyError. With this fix, those requests return 404 as expected.

Also, catching AttributeError is still necessary for the situation when the table is removed entirely. If an old request come in, that sentence will throw an AttributeError, that will be catched properly, and request will return 404.
2018-06-15 08:30:44 -03:00
mdipierro d7624b95f8 fixed a typo in validators, thanks Paolo 2018-06-15 05:08:12 +02:00
mdipierro 09271bff5f simplfied a test, thanks Paolo 2018-06-15 05:07:28 +02:00
mdipierro f239882d32 fxed various sqlhtml bugs, thanks Paolo 2018-06-15 05:06:49 +02:00
Carlos Costa 9076053f7e correction to generate options also for fields generated with requires=IS_IN_SET or any field with options attribute 2018-06-12 19:55:25 -03:00
Leonel Câmara c97cac19f0 Import urllib stuff from _compat 2018-06-08 10:54:57 +01:00
Leonel Câmara b5e8cad672 Import urllib stuff from _compat 2018-06-08 10:45:36 +01:00
Leonel Câmara d502275fc8 PY3 compatibility 2018-06-08 10:41:13 +01:00
Leonel Câmara 98c70d8a70 fixed XML import 2018-06-07 23:17:07 +01:00
jvanbraekel b7ba4a15f1 Update request_reset_password in user.htlm
Update /user/request_reset_password to user/retrieve_password and linked settings option.
According to https://web2py.readthedocs.io/en/latest/_modules/gluon/tools.html#Auth 'request_reset_password' should not even be exposed anymore. (but this is still the case).
2018-06-07 16:14:52 +02:00
sugizo 3585ef828e add some of server (diesel, eventlet, gevent, paste, twisted, waitress, wsgiref) in some os 2018-06-02 06:53:31 +07:00
mdipierro 14083907e5 Merge pull request #1936 from sugizo/add_docker
add docker
2018-06-01 13:55:51 -05:00
mdipierro c358d2a851 better validators and comments, thanks Paolo 2018-06-01 13:34:27 -05:00
mdipierro 319490edc1 fixed one more test 2018-06-01 13:19:35 -05:00
mdipierro 7fce2d04af fixed tests for IS_LIST_OF 2018-06-01 12:56:45 -05:00
mdipierro c3f11dc976 Merge pull request #1935 from sugizo/fix_anyserver_cherrypy
anyserver.py with cherrypy
2018-06-01 12:45:21 -05:00
mdipierro 246b5293e5 Merge pull request #1933 from jvanbraekel/master
Update layout navbar for centering navbar items
2018-06-01 12:44:50 -05:00
mdipierro d383da31c8 Merge pull request #1928 from umbromancer/master
Added missing config section in Scheduler
2018-06-01 12:44:20 -05:00
mdipierro eaaa9203f7 Merge pull request #1927 from alexandremasbr/fixes_layout_to_translate
fixes allow translate strings at views/default/user.html
2018-06-01 12:43:42 -05:00
mdipierro 7176524e4f Merge pull request #1926 from alexandremasbr/language_pt_br_corrections
fixes in languages/pt-br.py
2018-06-01 12:43:19 -05:00
mdipierro e740451b69 Merge pull request #1923 from robinvandernoord/patch-1
Changed file to open
2018-06-01 12:41:40 -05:00
mdipierro 4d9eaf1ac4 Merge pull request #1922 from cccaballero/user_page_bottom_margin
Add bottom margin on welcome user page
2018-06-01 12:41:18 -05:00
mdipierro dfd5752814 Merge pull request #1921 from leonelcamara/patch-13
Fixes #1918
2018-06-01 12:40:58 -05:00
mdipierro d2de59c05d Merge pull request #1917 from cccaballero/NEWINSTALL_file_unlink
#1911 NEWINSTALL file unlink issue
2018-06-01 12:40:28 -05:00
sugizo ba917605ac anyserver can use cherrypy issue on https://github.com/web2py/web2py/issues/1934 2018-06-01 14:51:14 +07:00
Julien Van Braekel 98c2788203 Update layout navbarfor bootstrap 4 2018-05-31 09:32:11 +02:00
mdipierro 8d865f1c5f better error handing in IS_LIST_OF, thanks Paolo 2018-05-24 11:17:49 -05:00
umbromancer 61be442614 Added missing config section in Scheduler 2018-05-14 11:38:55 +01:00
mdipierro bb338ef19c added acknowledgement to Paolo Pastori 2018-05-13 20:15:30 -05:00
Alexandre Andrade c313611e0d fixes in languages/pt-br.py 2018-05-11 02:38:59 +00:00
Alexandre Andrade 716c697a60 fixes allow translate strings at views/default/user.html 2018-05-11 02:31:14 +00:00
d1ed9ab88c fixes in languages/pt-br.py 2018-05-11 02:12:17 +00:00
Francisco Ribeiro 32eb1bc27d added task broadcasting for workers within a group 2018-05-09 04:45:08 +01:00
Robin 16e3e7c35e Changed file to open
file is deprecated in python 3, but open works on both. So for compatibility I would suggest to use open over file.
2018-05-08 11:00:35 +02:00
Carlos Cesar Caballero Díaz 9e794b1929 Add bottom margin on welcome user page container for properly shadow visualization 2018-05-07 13:56:00 -04:00
mdipierro ae60debc90 fixed up export 2018-05-06 15:09:11 -05:00
Leonel Câmara 18414ab8c2 Fixes #1918
Took the chance to also update the syntax from the old style "except socket.error, e:" to "except socket.error as e"
2018-05-03 17:15:53 +01:00
mdipierro 4ed36cfb1f welcome improvements 2018-05-01 16:08:40 -05:00
mdipierro fda67e1be5 request method 2018-05-01 15:58:14 -05:00
mdipierro 4130f87c62 fixed languages.py py3 bug 2018-05-01 15:53:19 -05:00
mdipierro 891348986c fixed test 2018-05-01 11:38:08 -05:00
mdipierro d2290eb3d5 better tests for languages.py, thanks Paolo 2018-05-01 11:10:08 -05:00
mdipierro 3170c360aa improved docstring and comments in languages.py, thanks Paolo 2018-05-01 11:09:17 -05:00
mdipierro 38482d4846 better highlight.py, thanks Paolo 2018-05-01 11:06:36 -05:00
mdipierro e8df84caa8 fixed logging example, thanks Paolo Pastori 2018-05-01 10:54:04 -05:00
mdipierro 13ff0877fd fixes #1596, thanks Paolo Pastori 2018-05-01 10:51:42 -05:00
Carlos Cesar Caballero Díaz f50380af73 #1911 NEWINSTALL file unlink issue 2018-04-30 14:17:44 -04:00
mdipierro 0226eb5286 Merge pull request #1914 from cccaballero/fix_welcome_styles
Fix welcome styles
2018-04-29 19:51:28 -05:00
mdipierro de256cfb28 Merge pull request #1910 from richboss/typo2
fix editing mistakes
2018-04-29 19:51:14 -05:00
mdipierro ad9ed5a9c4 Merge pull request #1909 from richboss/typo
fix my own correction mistake (forms -> formats)
2018-04-29 19:50:51 -05:00
mdipierro a79ec41b3b Merge pull request #1908 from leonelcamara/make_sure_to_unlock_redis
Release the lock even if function call fails
2018-04-29 19:50:33 -05:00
mdipierro 9fb33e6b93 Merge pull request #1907 from leonelcamara/fix1905
Fixes #1905
2018-04-29 19:50:13 -05:00
mdipierro 8ae34dd8ad Merge pull request #1906 from amerikan/master
Updated Welcome appadmin page styling
2018-04-29 19:49:56 -05:00
mdipierro f0eb120bba Merge pull request #1904 from n1k9/master
Modify dispacher for differente response element name
2018-04-29 19:49:10 -05:00
Carlos Cesar Caballero Díaz 32aad5531a Fix bottom margin in footer 2018-04-26 14:09:08 -04:00
Carlos Cesar Caballero Díaz 1dea18b8a1 Fix form submit buttons responsiveness 2018-04-26 14:06:58 -04:00
Carlos Cesar Caballero Díaz bf85a0b8df Remove unused glyphicons fonts in welcome app 2018-04-26 12:44:11 -04:00
Carlos Cesar Caballero Díaz 323a8953b5 Fix welcome index markup 2018-04-26 12:43:15 -04:00
Carlos Cesar Caballero Díaz 577fcefb33 Fix welcome main container 2018-04-26 12:33:10 -04:00
Carlos Cesar Caballero Díaz d92820326a Fix welcome navbar 2018-04-26 12:02:53 -04:00
Carlos Cesar Caballero Díaz fa41c255da Fix welcome footer 2018-04-26 11:32:19 -04:00
Carlos Cesar Caballero Díaz ff3e9ec85b Add last bootstrap version
- include bundle js version
- include map files
2018-04-26 10:46:48 -04:00
mdipierro 2f0f3075b0 allow web2py.py -S c/a/f?x=y 2018-04-24 17:40:47 -05:00
Richard Boß da23a706e7 fix editing mistakes 2018-04-23 21:37:21 +02:00
Richard Boß 85dd82e03c fix my own correction mistake (forms -> formats) 2018-04-23 20:54:08 +02:00
Leonel Câmara d6f426ed29 Update redis_cache.py
fix comment position
2018-04-20 17:00:13 +01:00
Leonel Câmara ea5ea6a307 Release the lock even if function call fails 2018-04-20 16:55:05 +01:00
Leonel Câmara be197e90e6 Fixes #1905
replace all e[0] with e.errno to fix for py3, this also works with python 2
2018-04-20 16:47:09 +01:00
Erik Montes e5387d5f79 updated to use bootstrap 4 classes, cleaned up layout 2018-04-19 17:13:25 -07:00
Nicola Gramola 43e2ed2fc7 Modify dispacher for differente response element name 2018-04-19 08:57:25 +02:00
mdipierro cf52195b44 Merge branch 'master' of github.com:web2py/web2py 2018-04-19 00:17:39 -05:00
mdipierro 94a9bfd05f Merge pull request #1901 from richboss/defunct_links
weed out broken links
2018-04-18 22:02:40 -05:00
mdipierro 8053d42689 Merge pull request #1899 from richboss/typos2
fix editing mistakes
2018-04-18 22:02:21 -05:00
mdipierro 039da93b14 Merge branch 'master' into typos2 2018-04-18 22:02:13 -05:00
mdipierro 5df23179b5 Merge pull request #1900 from richboss/rocket
supply missing link to Rocket Web Server
2018-04-18 22:01:33 -05:00
mdipierro 10171ac4c6 Merge pull request #1898 from richboss/typos
fix editing mistakes
2018-04-18 22:01:11 -05:00
mdipierro ddb2f0ebc3 Merge pull request #1897 from rif/master
Python3 fixes
2018-04-18 22:00:53 -05:00
mdipierro 2d500d4cc8 Merge pull request #1896 from cccaballero/set_ldap_python_log_levels
Add support for Python logger logging levels in LDAP auth
2018-04-18 22:00:07 -05:00
mdipierro 53c1f67195 Merge pull request #1895 from cccaballero/fix_ldap_bytes_error
Fixed Python 3.x LDAP bug on user firstname and lastname part
2018-04-18 21:59:44 -05:00
mdipierro 1e450ed1d6 Merge pull request #1888 from BuhtigithuB/fix/recapchat-v1-deprecated
Close #1887 - remove Recaptcha V1
2018-04-18 21:59:13 -05:00
Richard Boß 9f06760fe7 weed out broken links 2018-04-17 23:55:33 +02:00
Richard Boß bfcb047482 supply missing link to Rocket Web Server 2018-04-17 22:24:07 +02:00
Richard Boß 77ebad50e3 fix editing mistakes 2018-04-17 22:17:01 +02:00
Richard Boß b26e28fda1 fix editing mistakes 2018-04-17 20:31:38 +02:00
Radu Ioan Fericean 0900a3ddb9 discovered and use _compat to_bytes and to_native functions 2018-04-14 14:58:53 +03:00
Radu Ioan Fericean 086bfb5851 fix redis sessions and redis for python3 2018-04-14 14:33:37 +03:00
Radu Ioan Fericean 90288a0134 fix sessions in cookies for python3 2018-04-14 11:42:31 +03:00
Carlos Cesar Caballero Díaz de0e63469c Add support for Python logger logging levels in LDAP auth 2018-04-13 14:35:52 -04:00
Carlos Cesar Caballero Díaz 9b4b412239 Fixed Python 3.x LDAP bug on user fistname and lastname part 2018-04-12 12:25:30 -04:00
mdipierro 5de8cb4da5 fixed syntax for attachemnts, thanks Paolo Pastori 2018-04-03 11:24:32 -05:00
mdipierro 8d4dc1b373 fixed logging issue when invalid user_id 2018-04-03 00:22:19 -05:00
mdipierro cec14c741a fixed no-email edit in profile 2018-04-02 23:53:05 -05:00
Richard Vézina ff44821f05 Close #1887 - remove Recaptcha V1 2018-03-26 16:21:21 -04:00
mdipierro 2237076a5a Merge pull request #1884 from tyrbonit/master
Fix UnicodeDecodeError
2018-03-20 16:55:34 -05:00
mdipierro d24bf501e9 Merge pull request #1878 from BuhtigithuB/improve/sessions2trash-doc
Explain command switched specific to sessions2trash.p
2018-03-20 16:55:08 -05:00
mdipierro 99455cfb0a Merge pull request #1877 from BuhtigithuB/improve/ldap-auth-contrib
Improve/ldap auth contrib
2018-03-20 16:54:40 -05:00
mdipierro 9b99d8ae6c Merge pull request #1876 from leonelcamara/bs4checkboxes
Update bootstrap from a v4-alpha version to the latest release
2018-03-20 16:54:14 -05:00
mdipierro 3174990c95 Merge pull request #1850 from maxcrystal/master
gluon/shell.py PY3 fix
2018-03-20 16:52:49 -05:00
mdipierro a679210649 fixed aws email 2018-03-20 09:14:05 -05:00
tyrbonit 014ddf8248 Fix Pluralizaiton UnicodeDecodeError #1883 and #1808 2018-03-19 22:42:48 +09:00
tyrbonit e1531a936f Merge remote-tracking branch 'refs/remotes/web2py/master' 2018-03-19 22:23:32 +09:00
mdipierro f0e939db3a Merge branch 'master' of github.com:web2py/web2py 2018-03-15 17:14:50 -05:00
mdipierro 2752aba471 allow sending raw emails with server='aws' 2018-03-15 17:14:00 -05:00
Richard Vézina 8b521c0984 Explain command switched specific to sessions2trash.p 2018-03-13 16:52:20 -04:00
Richard Vézina 1452fd3851 Would make more sens there 2018-03-13 13:35:44 -04:00
Richard Vézina 0fc6bbc744 Install wiht pip not easy_install 2018-03-13 10:22:36 -04:00
Leonel Câmara b4673384e5 Update bootstrap from a v4-alpha version to the latest release
Fixed welcome to work with the new release
Fixed checkboxes and radiobuttons in bs4 formstyle
2018-03-07 14:07:09 +00:00
mdipierro f6d2f8a2a1 Merge pull request #1871 from masia5/drop_pg8000_tests
Drop pg8000 tests
2018-03-06 23:40:11 -06:00
mdipierro 49204ab24d Merge branch 'master' of github.com:web2py/web2py 2018-03-05 15:17:34 -06:00
mdipierro 8575b6bf2b checkpoint 2018-03-05 15:17:28 -06:00
mdipierro b16e33ab65 Merge pull request #1873 from leonelcamara/fixtests
fix config for coverage 4.5 changes
2018-02-26 14:20:17 -06:00
Leonel Câmara dfa6703420 test IS_EMPTY_OR with a list and tuple 2018-02-26 19:59:21 +00:00
Leonel Câmara f40c041611 remove pg8000 2018-02-26 19:12:12 +00:00
Leonel Câmara 32e17d4ab2 fix config for coverage 4.5 changes 2018-02-26 18:47:59 +00:00
masia5 64c427d9f2 Drop pg8000 from setup.py 2018-02-25 07:39:20 +01:00
masia5 8d2fa09ef7 Drop pg8000 tests, close #1742 2018-02-25 07:25:50 +01:00
maxcrystal 9cc7cf32e6 Merge pull request #3 from web2py/master
Repo update
2018-02-25 09:23:02 +03:00
mdipierro 2bcd0c2f10 no more pg8000 2018-02-24 20:59:51 -06:00
mdipierro da2f027501 testing revert in pydal 2018-02-24 19:25:30 -06:00
mdipierro 7877220057 testing ac8dffff06a001c4f7f3ac970c3bea3077a4308c 2018-02-24 18:13:04 -06:00
mdipierro 0c465b27a4 testing 13ad4087a74fd5f7af8060ad9a58e7f74e69edf0 2018-02-24 18:05:03 -06:00
mdipierro b26184b010 testing 53a5cb2c2c9f6087984bf727e0efcaf297150e6d 2018-02-24 17:58:45 -06:00
mdipierro d83d3535be testing ccc4d4c7f8e9bfb285597d266489e169ecadbbfa 2018-02-24 17:50:10 -06:00
mdipierro 82a4d0b600 testing 2018-02-24 17:42:22 -06:00
mdipierro a037537497 reverted to stable pydal 2018-02-24 13:35:45 -06:00
mdipierro fa99620240 cannot promise forms will not changes, removed form tests 2018-02-24 13:23:09 -06:00
mdipierro ee19a48521 Merge pull request #1858 from daniellibonati/dlibonati-bootstrap4_inline_fix
Added row class to form-group so form becomes inline in Bootstrap v4
2018-02-24 12:58:47 -06:00
mdipierro 698ca8bbb8 font-awesome 2018-02-24 12:33:19 -06:00
mdipierro 9c6df11459 font-awesome 2018-02-24 12:31:33 -06:00
mdipierro ee4eb3f15a Merge branch 'master' of github.com:web2py/web2py 2018-02-24 11:56:57 -06:00
maxcrystal ad6fd70de1 Merge pull request #2 from web2py/master
Repo update
2018-02-24 20:10:05 +03:00
mdipierro a0cdad2ddf Merge pull request #1870 from ilvalle/fix_rocket_py3_bytes
fix PY3 rocket with bytes stream
2018-02-24 11:02:42 -06:00
mdipierro cc8abd0a0f Merge pull request #1869 from dartg/master
Replace the guppy library with Pympler
2018-02-24 11:02:01 -06:00
mdipierro f44d617445 Merge pull request #1860 from blackthorne/master
patched flash function to prevent XSS
2018-02-24 11:01:04 -06:00
mdipierro c17d6bb5d1 Merge pull request #1855 from ilvalle/fix_reload_py3
fix missing reload py3
2018-02-24 10:59:03 -06:00
mdipierro c9999499bb Merge pull request #1854 from liuyigh/patch-1
Fix layout.html "Lost Password" link
2018-02-24 10:58:35 -06:00
mdipierro 61b5343f66 Merge pull request #1852 from ilvalle/fix_languages_py3
fix py3 languages decode
2018-02-24 10:57:17 -06:00
ilvalle 164a271ca8 fix PY3 rocket with bytes stream. ref web2py/pydal#516 2018-02-23 19:43:34 +01:00
dartg 419dc7b5fc Replace the guppy library with Pympler 2018-02-20 02:34:21 -03:00
ilvalle fa31a6b61b Added test for T used in HTML tags, fix language encode(), close #1856 2018-02-12 21:13:19 +01:00
Francisco Ribeiro 7aafd05cbb patched flash function to prevent XSS 2018-02-12 11:36:34 +00:00
maxcrystal adb85d3061 Merge pull request #1 from web2py/master
Merge from web2py
2018-02-11 08:18:09 +03:00
Daniel Libonati 79ba8cb6e4 Added row class to form-group so form becomes inline in Bootstrap v4 2018-02-10 22:07:01 -03:00
ilvalle c3355b7457 fix missing reload py3, close #1760 2018-02-09 20:56:16 +01:00
Yi Liu 546440ece0 Fix layout.html "Lost Password" link 2018-02-09 11:48:00 -08:00
ilvalle 44e27bf65f fix py3 languages decode added tests. close #1848, thanks @bjquinn 2018-02-09 20:46:00 +01:00
mdipierro 82cf2eb44d Merge pull request #1851 from ilvalle/fix_1828
fix layout
2018-02-09 12:29:21 -06:00
mdipierro 31514060d7 Merge pull request #1847 from leonelcamara/issuesjanuary
fix print statements in a couple of scripts
2018-02-09 12:28:09 -06:00
mdipierro 1d489d0fde Merge pull request #1846 from ilvalle/fix_scheduler_async_py37
fix py37 conflict due to async definition in scheduler
2018-02-09 12:27:49 -06:00
mdipierro f161cc4f3b Merge pull request #1845 from ilvalle/fix_urllib_urlencode
fix few py3 urllib.urlencode
2018-02-09 12:27:29 -06:00
mdipierro 9e02a768cd Merge pull request #1844 from ilvalle/fix_STYLE_py3
fix py3 STYLE and SCRIPT tags
2018-02-09 12:27:01 -06:00
mdipierro fce88037bd Merge pull request #1843 from timnyborg/master
Allow choosing a SAML entityid
2018-02-09 12:26:34 -06:00
ilvalle 009d5ce48c fix layout, close #1828, thanks @carpaIdea 2018-02-08 20:15:04 +01:00
maxcrystal e02d5e2a60 PY3 fix 2018-02-07 23:46:44 +03:00
Leonel Câmara 521d5bce97 fix print statements in a couple of scripts 2018-02-06 19:48:11 +00:00
sugizo a3df59fceb add_docker 2018-02-05 07:06:40 +07:00
ilvalle d1efc8b55d fix py37 conflict due to async definition in scheduler 2018-02-04 10:02:14 +01:00
ilvalle ad3c69155b fix few urllib.urlencode, close #1841 2018-02-04 09:58:16 +01:00
ilvalle 421aec162a fix py3 STYLE and SCRIPT tags, close #1835 2018-02-04 09:41:57 +01:00
Tim Nyborg 072311fd2c Revert
Committed in error
2018-02-02 11:23:48 +00:00
Tim Nyborg 5dcbae0b37 Update saml2_auth.py
Pass along any _next url var as part of the outstanding queries, so web2py will know where to send the user once they come back from singing on.  

Useful if the SAML auth is part of a CAS, because otherwise the user is sent from the CAS consumer -> CAS -> SSO -> CAS, and is never returned to the consumer application
2018-02-02 11:03:04 +00:00
Tim Nyborg 76f3384aae Allow choosing a saml entityid
Allows you to pick an entityid when using federation XML data or an MDQ with many entries.  Pysaml2's MDQ metadata is loaded lazily, after you provide a key, so it's necessary to pass the entityid as a key
2018-02-01 14:04:47 +00:00
mdipierro f9606fabde Merge branch 'master' of github.com:web2py/web2py 2018-01-12 17:07:07 -06:00
mdipierro 623f3b9947 Merge pull request #1834 from ilvalle/avoid_garbage_collect
Added the web2py_disable_garbage_collect option to avoid garbage collect
2018-01-12 17:06:05 -06:00
mdipierro f4203ae4d6 Merge pull request #1833 from cccaballero/datewidget
Fixed welcome app date and datetime widget #1831
2018-01-07 18:36:00 -06:00
mdipierro 089359f3ea Merge pull request #1832 from roaldatwork/cas_provider_py_compatibilty
made cas_provider response py3 compatible
2018-01-07 18:35:34 -06:00
mdipierro 8c9cfff578 Merge pull request #1826 from roaldatwork/p3_admin_translator
made sorting of translation keys py3 safe
2018-01-07 18:35:10 -06:00
mdipierro 699513b961 Merge pull request #1824 from ilvalle/fix_urllib
Fix py3 urllib quote_plus
2018-01-07 18:34:42 -06:00
mdipierro b1a9b67c54 Merge pull request #1823 from skz169/skz169-patch-fix-pip
Fix dependencies in setup.py
2018-01-07 18:34:11 -06:00
mdipierro 8fe4d860a1 Merge pull request #1821 from mrdumpty/patch-1
Update db.py
2018-01-07 18:33:56 -06:00
ilvalle b7b16da08f Added the web2py_disable_garbage_collect option to avoid garbage collect 2018-01-07 18:53:33 +01:00
Carlos Cesar Caballero Díaz 6994cee6c9 Fixed wellcome app date and datetime widget #1831 2018-01-05 10:32:46 -05:00
Roald Osinga 9bf8ca9c3b made cas_provider response py3 compatible 2018-01-05 11:49:20 +01:00
Roald Osinga 35a1f6f342 made sorting of translation keys py3 safe 2017-12-13 11:10:08 +01:00
ilvalle f048e45494 removed pycrypto dep 2017-12-12 20:38:56 +01:00
ilvalle cfdda257ed testing py36 on windows 2017-12-12 20:21:54 +01:00
ilvalle dca4639b85 fix urllib quote_plus, close #1822 2017-12-12 19:23:19 +01:00
Sergei K 4ecdc2bc73 Update setup.py 2017-12-11 19:59:28 +05:00
mrdumpty c7d91108bb Update db.py
Possible typo?
2017-12-07 17:10:05 +04:00
mdipierro 4697e0e45b ignore computed fields 2017-12-04 23:45:03 -06:00
mdipierro 4f51647b2f align login menu to right 2017-12-02 14:15:06 -06:00
mdipierro 79b877f6b4 create forms should not display default values for readonly fields (third attempt) 2017-12-02 13:52:20 -06:00
mdipierro 553b7cf51a create forms should not display default values for readonly fields 2017-12-02 13:46:22 -06:00
mdipierro 20411ce45f create forms should not display default values for readonly fields 2017-12-02 13:37:42 -06:00
mdipierro b11d6f6498 removed share 2017-12-02 13:30:19 -06:00
mdipierro 44c3c3b0e4 Merge branch 'master' of github.com:web2py/web2py 2017-12-02 13:03:13 -06:00
mdipierro e9dcac4ecd Merge pull request #1818 from ilvalle/py3.6dev
fix include_meta for py35, added tests
2017-12-02 13:01:12 -06:00
mdipierro 4a2a02d1fe fixed display of computed fields 2017-12-02 12:52:15 -06:00
ilvalle 622b29366a fix include_meta for py35, added tests. close #1816 2017-12-02 11:03:46 +01:00
mdipierro 130e37d708 Merge pull request #1814 from vinyldarkscratch/patch-1
Fix update_languages script (use application folder)
2017-11-22 14:51:19 -06:00
mdipierro 160ec9b044 Merge pull request #1811 from timnyborg/master
Update SQLFORM deleted = False if readonly
2017-11-22 14:50:39 -06:00
mdipierro ee8c401020 Merge pull request #1807 from abastardi/janrain-fix
Fix Janrain due to change in behavior
2017-11-22 14:50:30 -06:00
mdipierro c8a7943e8f Merge pull request #1806 from leonelcamara/patch-12
Update list of TLDs
2017-11-22 14:50:21 -06:00
Vinyl Darkscratch 7bbf6b93f3 Actually skip the default language 2017-11-20 13:02:32 -08:00
Vinyl Darkscratch 3410810c1c Fix update_languages script (use application folder)
Admittedly after preparing this script for others to use, I kind of forgot to test it...  Whoops!  This is an update that should fix the script and make Gluon happy.  Instead of taking the languages folder, it takes the application folder, to help resolve conflicts with Gluon.  The script was also originally configured to run with the language folder being the current working directory, and as such, the changes to the language files would never be saved.
2017-11-20 12:54:07 -08:00
ilvalle 26081782c8 testing development environments 2017-11-18 12:44:46 +01:00
Tim Nyborg b732ab6d53 Update SQLFORM deleted = False if readonly
fixes the following syntax:

form = SQLFORM(table, record, readonly=readonly, deletable=True)

form.process()

if form.deleted:
   pass
elif form.accepted:
   pass
2017-11-17 16:53:27 +00:00
abastardi 071622b9d9 Fix Janrain due to change in behavior
Janrain has started providing the login token via a POST request
in addition to including it in the query string. This results
in request.vars.token being a list containing two copies of the
token, which breaks the web2py code. This change keeps just a single
copy of the token.
2017-11-15 14:52:19 -05:00
Leonel Câmara fd0f169a55 Update list of TLDs 2017-11-14 18:20:13 +00:00
mdipierro c9fd0fd71e fixed test because of layout change 2017-11-14 00:55:59 -06:00
mdipierro d59e7f35ed fixed toolbar/configuration issue 2017-11-14 00:50:44 -06:00
mdipierro 999e7b7512 fixed layout in lack of configuration 2017-11-14 00:47:40 -06:00
mdipierro 7035398681 2.16.1 2017-11-13 23:50:20 -06:00
mdipierro 2c2c9d3aa2 moved to bootstrap4 2017-11-13 23:48:54 -06:00
mdipierro 65b3e6dda9 support for bootstrap4 2017-11-13 23:29:34 -06:00
mdipierro d424e5d317 Merge pull request #1610 from geomapdev/dal-enhancements
handle reference fields for keyed tables
2017-11-13 21:24:07 -06:00
mdipierro a1417df67c Merge branch 'master' of github.com:web2py/web2py 2017-11-13 21:15:04 -06:00
mdipierro 551c19bcaf Merge pull request #1761 from josedesoto/issue/update_role_on_update_profile
Update groups on edit profile
2017-11-13 21:14:02 -06:00
mdipierro 8aa07760d2 Merge pull request #1803 from leonelcamara/patch-10
Fix #1715
2017-11-13 21:13:06 -06:00
mdipierro 8bd8db5edc Merge pull request #1804 from leonelcamara/patch-11
Update supported python versions
2017-11-13 21:12:36 -06:00
mdipierro 7c1fb6643e fllowing pydal v17.11 2017-11-13 21:12:06 -06:00
Leonel Câmara e44a12eaf8 Update supported python versions 2017-11-13 22:40:37 +00:00
Leonel Câmara 12253ab757 Fix #1715 2017-11-13 15:31:05 +00:00
mdipierro 30b3d84f24 fixed options when type is list 2017-11-10 22:31:35 -06:00
mdipierro 166e268308 improved handling of regex and options field attributes 2017-11-10 18:50:52 -06:00
mdipierro 14e58276cf form handling of f.options, f.regex, f.listable, f.rearchable 2017-11-10 18:41:41 -06:00
mdipierro eb7222aa92 Merge pull request #1802 from leonelcamara/fixsqltable
Fix a problem with Expressions in SQLTABLE
2017-11-10 18:12:50 -06:00
mdipierro 009a0b87f2 Merge pull request #1801 from leonelcamara/i1800
Fixes #1800
2017-11-10 18:12:16 -06:00
mdipierro aeb0244b2c Merge pull request #1799 from vinyldarkscratch/master
Add two scripts
2017-11-10 18:12:03 -06:00
mdipierro 57522ddeb1 Merge pull request #1797 from BigManWalter/master
Set entry animation to 'fadeIn' and provide an easy switch for 'slideDown'
2017-11-10 18:10:13 -06:00
mdipierro 934042fc04 Merge pull request #1796 from vitkarpenko/middleware_status_code
gluon.http expects status code as integer while LazyWSGI generates str
2017-11-10 18:09:37 -06:00
Leonel Câmara 4bfa9c1686 Fix a problem with Expressions in SQLTABLE possibly fixes #1735 and fixes web2py/pydal#487 2017-11-08 22:21:51 +00:00
Leonel Câmara 925f928843 Copy all CRYPT attributes thanks @abastardi 2017-11-08 11:53:29 +00:00
mdipierro 2f5eb409b6 show computed fields in readonly mode in appadmin 2017-11-08 00:40:47 -06:00
Leonel Câmara 228d3c41b6 Fixes #1800 2017-11-07 23:34:35 +00:00
Vinyl Darkscratch 3ab91b9fe9 Add check_lang_progress script 2017-11-06 01:42:25 -08:00
Vinyl Darkscratch 5db3b21437 Add update_languages script 2017-11-06 01:42:14 -08:00
Eric Waldman 2aa8fd22a2 Set entry animation to 'fadeIn' and provide an easy switch for 'slideDown' 2017-11-03 15:17:18 -04:00
Vitaly Karpenko d5eb8d8f17 gluon.http expects status code as integer 2017-11-02 13:52:25 +03:00
mdipierro c4e08eeeb3 Merge pull request #1793 from sherdim/master
A step to PY3  closes #1792 and may be closes #1727
2017-11-01 18:59:52 -05:00
geomapdev c1a3d5d67e sync with master branch 2017-10-31 14:47:07 -07:00
geomapdev b2841de6f3 Merge remote-tracking branch 'upstream/master' 2017-10-31 14:42:19 -07:00
Дим Щ c7d415fefd compatible unicode 2017-10-28 19:32:48 +03:00
Дим Щ 2e572aee9a Update custom_import.py 2017-10-28 19:29:55 +03:00
Дим Щ dd14d1c8c9 Add reload 2017-10-28 19:28:51 +03:00
Дим Щ afa5fac074 Add reload 2017-10-28 19:26:34 +03:00
mdipierro a5b76f1dec Merge branch 'master' of github.com:web2py/web2py 2017-10-18 22:14:27 -05:00
mdipierro 1e586b32a4 Merge pull request #1789 from timnyborg/master
Fix setting 'ac' in request.vars
2017-10-18 22:13:16 -05:00
mdipierro dfcffe1a9d Merge pull request #1785 from tiagobar/master
Enhances/fixes validators/is_empty() for Python 3 compatibility, fix #1764
2017-10-18 22:12:09 -05:00
Tim Nyborg 2e6f529dfd Fix setting 'ac' in request.vars 2017-10-12 17:18:06 +01:00
Tim Nyborg 0ae3ee506f Merge pull request #1 from web2py/master
rebase
2017-10-12 17:16:56 +01:00
geomapdev 6b103f7e3a updated test_validators IS_IN_DB 2017-10-10 08:42:17 -07:00
geomapdev 02c32ebace update gluon unittest for dal reference fields 2017-10-09 11:22:48 -07:00
geomapdev 603cc7092a dal.py more code cleanup 2017-10-04 10:39:42 -07:00
geomapdev 8590aae2e8 dal.py code cleanup 2017-10-04 10:34:48 -07:00
tiago.bar 511245a68c Unit test for #1764 fix 2017-09-23 20:21:14 -03:00
tiago.bar 4a347a4f78 Enhances/fixes validators/is_empty() for Python 3 compatibility, fix #1764 2017-09-22 13:04:47 -03:00
Jose de Soto 5f4c47729b Removed a tab and replaced by spaces 2017-09-21 10:17:17 +02:00
mdipierro 5975e4767f Merge pull request #1766 from abastardi/tsv_export
Fix grid TSV export bug
2017-09-21 00:23:17 -05:00
mdipierro 1800304ade Merge pull request #1763 from abastardi/compiled_views
Fix bug with compiled views in compiled-only apps
2017-09-21 00:22:53 -05:00
mdipierro 9af0d8c3c9 Merge pull request #1758 from leonelcamara/patch-9
Fix #1757
2017-09-21 00:21:10 -05:00
mdipierro 2e2d3482e4 Merge pull request #1756 from leonelcamara/i1752
Make _compat accept ducks
2017-09-21 00:20:54 -05:00
mdipierro 48cc63741e Merge pull request #1755 from leonelcamara/i1753
Fixes #1753
2017-09-21 00:20:26 -05:00
abastardi a605e43fa6 Fix grid TSV export bug 2017-09-14 18:49:31 -04:00
abastardi 8eda21ca86 Fix bug with compiled views in compiled-only apps
Compiled views were not being executed in apps containing only compiled
files (i.e., generated via the admin "Pack compiled" functionality),
resulting in "Invalid view" errors for all pages.
2017-09-13 11:48:25 -04:00
Jose de Soto e8cf50326d When profile is updated self._update_session_user(user) set session.user_groups to None. self.update_groups() needs to be done. 2017-09-13 11:21:03 +02:00
mdipierro 27c9250efb fixed book link 2017-09-07 12:46:36 -05:00
Leonel Câmara 3ecdd1c11b Fix #1757 2017-09-07 10:18:41 +01:00
Leonel Câmara 912c22d593 Don't use gluon.utf8.Utf8 with py3 there's no need for it and it breaks stuff 2017-09-06 16:22:50 +01:00
Leonel Câmara 4b38186b51 simplify condition if you ain't got decode you ain't bytes 2017-09-06 15:37:51 +01:00
Leonel Câmara 83f9016528 fix in py3 too 2017-09-06 15:33:47 +01:00
Leonel Câmara a6044068cd Fixes #1751 2017-09-06 15:31:30 +01:00
Leonel Câmara 4aefb93ab4 Fixes #1752 2017-09-06 15:28:39 +01:00
Leonel Câmara 2861dc4215 Fixes #1753 2017-09-05 15:46:31 +01:00
mdipierro 087280ec17 fixed Makefile _ssd 2017-09-01 22:47:54 -05:00
mdipierro d06a1f9dc6 R-2.15.4 2017-09-01 22:40:20 -05:00
mdipierro c06fc67064 following pydal 17.08 2017-08-31 17:31:43 -05:00
mdipierro bd167aa94a Merge pull request #1749 from liuyigh/patch-1
Minor error in EOF instructions
2017-08-31 17:29:56 -05:00
Yi Liu c9a71a7055 MInor error in EOF instructions
start -> stop
2017-08-29 11:26:22 -07:00
mdipierro 02e50cadbc Merge pull request #1746 from abastardi/disable-submit
Fix submit button disable bug
2017-08-28 11:25:55 -05:00
mdipierro 9f69ab9753 Merge pull request #1743 from ilvalle/fix_ticket_compile_views
Fix view file name in ticket traceback
2017-08-28 11:25:40 -05:00
mdipierro 56d10a40c6 Merge pull request #1741 from leonelcamara/patch-8
execfile shim for python 3 compatibility
2017-08-28 11:25:28 -05:00
mdipierro 76b09393e4 Merge pull request #1738 from leonelcamara/patch-7
Fixes #1737
2017-08-28 11:25:07 -05:00
abastardi e880da0d0e Fix submit button disable bug
When a form includes more than one submit button, after being disabled
all buttons are re-enabled with the value of the first button rather
than having their original values restored. This change iterates over
each button separately to disable and enable.
2017-08-23 11:43:40 -04:00
ilvalle 9694c66703 Fix view file name in ticket traceback, fix #1740, fix #1676 2017-08-19 10:07:52 +02:00
Leonel Câmara f22e3a7624 execfile shim for python 3 compatibility
Fixes #1739
2017-08-16 16:35:46 +01:00
Leonel Câmara bd7ee209ea Fixes #1737
getproxies is in urllib.request for python 3
2017-08-15 15:34:35 +01:00
mdipierro 5e6c3dba81 Merge pull request #1732 from lkrn/master
fixes #1724
2017-08-13 13:55:09 -05:00
LAdm 135f41041d fixes #1724
call func instead of module in url_is_acceptable
2017-08-10 06:49:36 +02:00
mdipierro 1d0f322d09 Merge pull request #1731 from leonelcamara/fix-include-files
Fix include files
2017-08-09 15:46:51 -05:00
Leonel Câmara 892fba9e54 fix unordered include_files result
Now only concats adjacent internal to the application stuff, this also Fixes #1673
2017-08-09 01:08:28 +01:00
Leonel Câmara 6e5c8b62cc Make test_include_files demand the same order 2017-08-09 01:05:37 +01:00
mdipierro 852a9e0127 Merge pull request #1726 from BuhtigithuB/feature/has-membership-cached-true
auth.has_membership(cached=True) check membership in auth.user_groups
2017-08-08 12:19:26 -05:00
Richard Vézina 485f868cd1 auth.has_membership(cached=True) check membership in auth.user_groups 2017-08-08 11:40:07 -04:00
mdipierro de8b2a477b Merge pull request #1722 from leonelcamara/patch-5
mobilize is back
2017-08-07 23:29:06 -05:00
Leonel Câmara 8533fa0d00 put is_mobile and is_tablet in the result of user_agent() 2017-08-08 00:50:55 +01:00
mdipierro 7e96ecafd7 R-2.15.3 2017-08-07 07:41:11 -05:00
mdipierro 86ea728f4f R-2.15.3 2017-08-07 07:32:58 -05:00
mdipierro a29947f298 websocket_messaging in Python 3 #1696, thanks hirolau 2017-08-07 07:27:28 -05:00
mdipierro dc29f33365 addressed __ssl.pyd issue #1716, thanks Jhleite 2017-08-07 07:18:42 -05:00
mdipierro 834460f0cc Merge pull request #1723 from leonelcamara/patch-6
Small unicode compatibility py3 fixes
2017-08-07 07:09:30 -05:00
mdipierro 5353e17c66 Merge pull request #1720 from leonelcamara/patch-4
Fix BEAUTIFY trying to display uploaded file contents
2017-08-07 07:08:58 -05:00
mdipierro d2022ca500 Merge pull request #1719 from leonelcamara/patch-3
Fix response.download with nonasccii filenames
2017-08-07 07:08:33 -05:00
mdipierro c560f607af Merge pull request #1710 from willimoa/issue/1704
Fix Issue 1709
2017-08-07 07:08:10 -05:00
Leonel Câmara 3eea1f68f4 Make sure you return bytes when you str(body) 2017-08-07 00:20:29 +01:00
Leonel Câmara 10b6b93cb2 minor py3 compatibility change 2017-08-07 00:17:43 +01:00
Leonel Câmara 0b41ed36f9 mobilize is back
Fixes #1721
2017-08-06 19:20:01 +01:00
Leonel Câmara 90e20a4f39 Fix BEAUTIFY trying to display uploaded file contents
Fixes #1717
2017-08-06 17:01:27 +01:00
Leonel Câmara a744835f21 Fix response.download with nonasccii filenames
Fixes #1718
2017-08-05 13:27:44 +01:00
mdipierro ebc614bf91 fixed has_ssl, thanks leonel 2017-08-04 10:21:43 -05:00
mdipierro b7270df9c3 fixed issue topic/web2py/UnN6AyOh2Lg thanks Paul 2017-08-04 09:58:05 -05:00
Andrew Willimott 4a47bb8e83 d3_graph_model fixed, no longer hardcoded for a “db” database 2017-08-02 21:47:26 +12:00
mdipierro 213c4ee7d1 fixed use of whitespaces 2017-08-01 10:26:33 -05:00
mdipierro 7088b74d42 Merge pull request #1705 from josedesoto/enhancement/1557
Enhancement/1557
2017-08-01 09:46:55 -05:00
mdipierro 752b5a8cdb Merge pull request #1704 from josedesoto/enhancement/response_json_sort_paramenter
Allow response.json to be sortable or not
2017-08-01 09:46:11 -05:00
mdipierro 56e6d682d6 Merge pull request #1702 from leonelcamara/i1699
Fix autocomplete called after user_signature chk
2017-08-01 09:46:00 -05:00
mdipierro c1881fa205 Merge pull request #1701 from jkotyz/issue/1700
Fixes 1700 - utc and local time inconsistency in AuthJWT
2017-08-01 09:45:46 -05:00
mdipierro cc2cae5de4 Merge pull request #1692 from timnyborg/master
Fix #1691: Passing tables to SQLFORM.factory() fails
2017-08-01 09:45:21 -05:00
mdipierro cedd74c1ad Merge pull request #1690 from josedesoto/issue/1689
del_membership prevent update self user if user_id has a value
2017-08-01 09:44:41 -05:00
Jose de Soto d5167f2ed6 change_password_url parameter for alternate login methods 2017-07-31 19:00:24 +02:00
Jose de Soto 1014d3e86e new parameter to auto create or not users with alternate login methods 2017-07-31 18:33:15 +02:00
Jose de Soto f3bba29287 Allow response.json to be sortable or not 2017-07-31 17:46:46 +02:00
mdipierro cd2ec98a26 grid.dbset 2017-07-29 01:31:25 -05:00
mdipierro 0e613f2d7f allow DAL(..., adapter_args=dict(migrator=InDBMigrator)) 2017-07-28 16:05:35 -05:00
Leonel Câmara 561828fa60 Fix autocomplete called after user_signature chk
Fixes #1699 which was caused by the autocomplete widget only being called after a user_signature check and the signature not being there.  

The default values for user_signature and hash_vars make this work with the grid when it has the user_signature=True option without any problem when that isn't the case. Users can disable it if they want or change it according to what they're verifying in their controllers.   
  
The autocomplete widget will still fail with the default kwargs in a situation where it is called in a controller function that first verifies the URL signature with hash_vars=True.  
  
For users having that problem, there's no way around this without inserting a security flaw, so they must sadly change their application code to give the autocomplete widget the needed user_signature and hash_vars argument.
2017-07-28 02:20:54 +01:00
Jan Kotyz 19efbfecfa Fixes 1700 2017-07-27 11:27:41 +02:00
Tim Nyborg d43604c3ff List comprehension rather than loop
I've now learned this is quicker
2017-07-24 10:15:12 +01:00
Tim Nyborg ec21f72ce3 Fixes #1691
Clone fields, but leave tables untouched in factory()
2017-07-21 10:20:08 +01:00
Jose de Soto aa0313c59b del_membership prevent update self user if user_id has a value 2017-07-21 10:41:58 +02:00
mdipierro 0a013e3edc R-2.15.2 2017-07-19 01:21:48 -05:00
mdipierro fb4c114d85 Merge pull request #1686 from leonelcamara/25issues
Fixes 6 issues
2017-07-18 03:44:19 -05:00
mdipierro b47e1334d5 Merge pull request #1682 from leonelcamara/fixheroku
Fixheroku
2017-07-18 03:43:45 -05:00
Leonel Câmara ce0b255747 Fixes #1672 2017-07-16 17:59:52 +01:00
Leonel Câmara 05d2ced779 remove print that was left from debugging 2017-07-16 14:27:11 +01:00
Leonel Câmara d144ff7d65 Fixes #1687 2017-07-16 14:06:03 +01:00
Leonel Câmara 780510dc32 Fixes #1684 2017-07-15 09:52:58 +01:00
Leonel Câmara 7a5f611e76 Fixes #1571 2017-07-14 20:23:13 +01:00
Leonel Câmara b7b8a009f2 Fixes #1680 2017-07-14 20:17:30 +01:00
Leonel Câmara 113df51ef9 Fixes #1685 2017-07-14 18:52:36 +01:00
mdipierro 4e704ca6f7 R-2.15.1 2017-07-10 16:18:35 -05:00
mdipierro 047ed786ac fixed some error in hashlib_md5 2017-07-10 16:02:15 -05:00
mdipierro ca1e5156ba fixed hashlib_md5 again, thanks Paolo 2017-07-10 15:10:16 -05:00
mdipierro 4854b84ff9 fixed a python 3 problem, thanks kato 2017-07-10 14:54:08 -05:00
mdipierro aa252cdbd8 Merge branch 'BuhtigithuB-improve/pep8-globals-py' 2017-07-10 14:20:45 -05:00
mdipierro e3ec4d4075 merged hashlib conflict 2017-07-10 14:20:39 -05:00
mdipierro 81b000d47a Merge branch 'master' of github.com:web2py/web2py 2017-07-10 14:19:08 -05:00
mdipierro 305dac4976 fixed changelog 2017-07-10 14:19:01 -05:00
mdipierro 876cc634a8 Merge pull request #1679 from leonelcamara/fix1675
Fixes #1675 dropdown not working in the "manage" button
2017-07-10 14:18:17 -05:00
mdipierro c004d2c16e Merge pull request #1678 from willimoa/issue/1674
Issue/1674
2017-07-10 14:17:56 -05:00
mdipierro e3cce4d752 Merge pull request #1669 from ilvalle/testing_pypy3_trusty
Testing pypy3.5 in travis, switching to ubuntu trusty
2017-07-10 14:17:20 -05:00
mdipierro 2c84b88466 Merge pull request #1668 from ilvalle/fix_compile_views
fix performance regression with compiled views
2017-07-10 14:17:04 -05:00
mdipierro fe652c851b Merge pull request #1667 from BuhtigithuB/improve/pep8-main-py
Enhance main.py PEP8
2017-07-10 14:16:09 -05:00
mdipierro c183c7b18b Merge pull request #1666 from abastardi/ajax-uploads
Enable Ajax file uploads
2017-07-10 14:15:01 -05:00
mdipierro e2c9875cd5 Merge pull request #1665 from BuhtigithuB/clean/python-2-6-remaining-code-in-import-all-py
Close #1664 remaining py2.6 specific code
2017-07-10 14:14:44 -05:00
mdipierro 579c54f926 Merge pull request #1663 from BuhtigithuB/improve/pep8-http-py
Enhance http.py PEP8
2017-07-10 14:14:09 -05:00
mdipierro b2cb0bc189 Merge pull request #1662 from BuhtigithuB/improve/pep8-html-py
Enhance html.py PEP8
2017-07-10 14:13:53 -05:00
mdipierro 3f6e8c755a Merge pull request #1660 from BuhtigithuB/improve/pep8-highlight-py
Enhance highlight.py PEP8
2017-07-10 14:13:19 -05:00
mdipierro 023d7f3e6c Merge pull request #1659 from BuhtigithuB/improve/pep8-decoder-py
Enhance decoder.py PEP8
2017-07-10 14:13:04 -05:00
mdipierro 01285ad4cd Merge pull request #1657 from BuhtigithuB/improve/pep8-dal-py
Enhance dal.py PEP8
2017-07-10 14:12:55 -05:00
mdipierro 0d855c1e9c Merge pull request #1656 from BuhtigithuB/improve/pep8-contenttype-py
Enhance contenttype.py PEP8
2017-07-10 14:12:45 -05:00
mdipierro 2d21c00e8d Merge pull request #1655 from BuhtigithuB/improve/pep8-compileapp-py
Enhance compileapp.py PEP8
2017-07-10 14:12:30 -05:00
mdipierro de9d0eb895 Merge pull request #1654 from BuhtigithuB/improve/pep8-admin-py
Enhance admin.py PEP8
2017-07-10 14:12:16 -05:00
mdipierro 9998916ef6 Merge pull request #1653 from BuhtigithuB/improve/pep8-validators-py
Enhance validators.py PEP8 and fix docstring py3 compatibility
2017-07-10 14:11:58 -05:00
mdipierro 453123a8ed Merge pull request #1652 from BuhtigithuB/improve/pep8-tools-py
Enhance tools.py PEP8 compliancy
2017-07-10 14:11:11 -05:00
mdipierro 2396cad2d1 Merge pull request #1658 from ilvalle/fix_minify
fix minify, added tests
2017-07-10 14:09:53 -05:00
mdipierro 540eecc207 R-2.15.0b2 2017-07-10 03:23:13 -05:00
mdipierro 83681f3f5d fixed markmin test, change beahvior 2017-07-10 03:16:42 -05:00
mdipierro b0a01ef720 fixed some relative imports, thanks steve.van.christen 2017-07-10 03:13:12 -05:00
mdipierro da5543f62e tracking newest pydal 2017-07-10 03:06:08 -05:00
mdipierro dc4ff7c3cc made markmin2html independens on gluon again and fixed reported problem, thanks mweissen 2017-07-10 03:01:35 -05:00
mdipierro 0223b0871e jquery 2.2.4 in admin 2017-07-10 02:43:56 -05:00
Leonel Câmara b3a7c20f3f Fixes #1635 2017-07-10 00:17:15 +01:00
Leonel Câmara 2fc4115718 update heroku.py to the new pydal 2017-07-09 15:35:48 +01:00
Leonel Câmara c6c027dbec Fixes #1675 dropdown not working in the "manage" button 2017-07-07 18:10:31 +01:00
Andrew Willimott 60edb11420 Explicit path added for graph css file. 2017-07-07 21:03:55 +12:00
Andrew Willimott 51ce3ffd36 Path to css file changed to explicitly point to admin app 2017-07-07 20:39:42 +12:00
mdipierro 89832479fc R-2.16.0b1 2017-07-05 01:48:28 -05:00
mdipierro 15ffdd9a20 R-2.16.0b1 2017-07-05 01:46:01 -05:00
mdipierro 8505c7b282 R-2.16.0b1 2017-07-05 01:42:59 -05:00
mdipierro 5583e9cdc7 R-2.16.0b1 2017-07-05 01:37:48 -05:00
mdipierro 5d8a25626c tracking PyDAL 17.07 2017-07-05 01:32:50 -05:00
mdipierro 9ded289924 fixed minor pylint -E errors 2017-07-02 01:55:51 -05:00
mdipierro f657b42f65 fixed undefined variable 2017-07-02 01:34:05 -05:00
mdipierro 1c0b498880 fixed undefined variable 2017-07-02 01:32:25 -05:00
mdipierro 2fd0c7c778 new dal 2017-06-30 09:22:50 -05:00
mdipierro 3d0b81cbe6 reverted backward imcompatible change 2017-06-30 08:22:26 -05:00
mdipierro 48d69e9724 Merge branch 'master' of github.com:web2py/web2py 2017-06-27 16:43:58 -05:00
mdipierro 757ce4e76e fixes #1528 2017-06-27 16:43:42 -05:00
ilvalle af7bfac1e2 Testing pypy3.5 in travis, switching to ubuntu trusty 2017-06-24 08:07:50 +02:00
ilvalle 054320820c fix performance regression with compiled views 2017-06-24 07:21:23 +02:00
Richard Vézina 1a52b0ee3b Enhance main.py PEP8 2017-06-22 09:46:55 -04:00
abastardi 78f3af6fc1 Use FormData when supported to allow Ajax file uploads 2017-06-21 16:29:19 -04:00
Richard Vézina b5b98d6e19 Close #1664 remaining py2.6 specific code 2017-06-21 15:32:28 -04:00
Richard Vézina aa1b71e431 Enhance http.py PEP8 2017-06-21 15:14:41 -04:00
Richard Vézina 472c0ff2fb Enhance html.py PEP8 2017-06-21 15:08:52 -04:00
Richard Vézina 58bedd4c1a Enhance highlight.py PEP8 2017-06-21 14:54:59 -04:00
Richard Vézina 88790dcaee Enhance globals.py PEP8 2017-06-21 14:49:10 -04:00
Richard Vézina a8fb41333b Enhance decoder.py PEP8 2017-06-21 14:38:52 -04:00
Richard Vézina 8d5464692f Enhance dal.py PEP8 2017-06-21 13:41:10 -04:00
Richard Vézina 2080e0460f Enhance contenttype.py PEP8 2017-06-21 13:32:42 -04:00
Richard Vézina 7f5fc798c5 Enhance compileapp.py PEP8 2017-06-21 13:30:02 -04:00
Richard Vézina 833cb03ee1 Enhance admin.py PEP8 2017-06-21 13:22:30 -04:00
Richard Vézina 590de9c890 Enhance validators.py PEP8 and fix docstring py3 compatibility 2017-06-21 11:57:31 -04:00
Richard Vézina 583d106104 Fix docstring py3 compatibility issues print -> print() 2017-06-21 11:33:00 -04:00
Richard Vézina 7ada2cf89a Enhance tools.py PEP8 compliancy 2017-06-21 11:27:54 -04:00
mdipierro 2f0b429f9e Merge pull request #1651 from BuhtigithuB/improve/pep8-authapi-py
Enhance authapi.py PEP8 compliancy
2017-06-20 16:44:18 -05:00
ilvalle 9f79dccb05 fix minify, added tests 2017-06-20 22:12:43 +02:00
Richard Vézina a78662e4cc Enhance authapi.py PEP8 compliancy 2017-06-20 16:02:50 -04:00
mdipierro 81fa787ec2 fixes #1514, thanks RekGRpth 2017-06-20 14:59:57 -05:00
mdipierro 159dd0d022 fixed #1542, thanks RekGRpth 2017-06-20 14:49:54 -05:00
mdipierro 16df6840ed fixes #1547, thanks yaminle 2017-06-20 14:47:59 -05:00
mdipierro 0674111129 fixes #1579, thanks Nico 2017-06-20 14:29:47 -05:00
mdipierro 18b755b8da fixed #1583, thanks matclab 2017-06-20 14:24:35 -05:00
mdipierro 2174fc3bec partially fixes #1621, thanks Nico. The strip issue is a python3 error in my opinion 2017-06-20 12:26:14 -05:00
mdipierro 77a947b35c fixed #1638, thanks Anthony 2017-06-20 12:02:40 -05:00
mdipierro 954cef48da fixes #1648, thanks you tbear 2017-06-20 11:53:47 -05:00
mdipierro 566feb79d4 Merge pull request #1649 from ilvalle/fix_globals
fix Pickler.dispatch_table
2017-06-15 04:01:14 -05:00
mdipierro c117e3d1b9 Merge pull request #1644 from leonelcamara/test_is_url_py3
Changed URL validation to use urlparse instead of regex for spliting …
2017-06-15 04:00:30 -05:00
mdipierro 0c3662fb6d scheduler should decode credentials 2017-06-15 03:59:51 -05:00
ilvalle 2ea5939640 fix Pickler.dispatch_table 2017-06-14 21:45:18 +02:00
Leonel Câmara 7c9653ae23 Merge branch 'master' into test_is_url_py3 2017-06-14 15:41:07 +01:00
mdipierro a02538549b Merge pull request #1642 from leonelcamara/restful
Fixes #1634 by adding a parameter "ignore_extension" to Request.restf…
2017-06-14 09:30:52 -05:00
mdipierro ce965cf62a Merge pull request #1641 from leonelcamara/i1639
Fixes #1639
2017-06-14 09:30:25 -05:00
Leonel Câmara 2a33c0faff Changed URL validation to use urlparse instead of regex for spliting the URL
Enabled test_is_url in Python 3 since it is now passing
This might be one of the last fixes to #1353
Fixes #1598
2017-06-07 04:59:03 +01:00
Leonel Câmara ac67beb280 Fixes #1634 by adding a parameter "ignore_extension" to Request.restful which allows you to leave the args untouched if you set it to True. 2017-06-06 01:53:42 +01:00
Leonel Câmara 617ca4a98d Fixes #1639 2017-06-05 23:52:25 +01:00
mdipierro 85ecebc3a4 Merge pull request #1640 from leonelcamara/i1628better
Fixes #1628
2017-06-05 17:44:01 -05:00
Leonel Câmara 376c12a225 Fixes #1628 2017-06-05 23:35:41 +01:00
mdipierro 7769917102 Merge pull request #1637 from timrichardson/issues/1636
fix to #1636: sqlgrid left= (left outer join) fails because db._adapt…
2017-06-05 11:48:33 -05:00
mdipierro 30c28ad44c Merge pull request #1630 from ilvalle/fix_1629
fix web debugger
2017-06-05 11:41:25 -05:00
mdipierro d905968197 Merge pull request #1626 from willimoa/issue/1472
Issue/1472
2017-06-05 11:40:38 -05:00
mdipierro f1ef95e15f Merge pull request #1625 from Scimonster/master
Fix #1624 -- Unicode in XML sanitizing causes error
2017-06-05 11:39:52 -05:00
mdipierro da6688360d Merge pull request #1623 from ilvalle/fix_tag_py3
fix TAG helper on PY3
2017-06-05 11:39:15 -05:00
Tim Richardson f30c31a8a2 fix to #1636: sqlgrid left= (left outer join) fails because db._adapter.tables() now returns dict (previously a table) 2017-06-01 16:53:04 +10:00
Andrew Willimott 59405b9f18 d3 js check was pointing to app, now checking in admin app. 2017-05-16 06:54:51 +12:00
Andrew Willimott 1c747357b0 Repointed appadmin to admin/static for d3 files 2017-05-16 06:47:30 +12:00
Andrew Willimott 6342bf0ddb Consistent set of d3 js and css across admin, examples, and welcome 2017-05-15 20:12:58 +12:00
ilvalle f76437703b fix web debugger, close #1629 2017-05-13 08:26:09 +02:00
Andrew Willimott 6f256be1f1 Added databases variable check 2017-05-08 07:02:31 +12:00
Andrew Willimott 3505e372d8 Remove graphviz graph code from appadmin and design files 2017-05-08 06:40:50 +12:00
Scimonster 49bf14e79a Fix #1624 -- Unicode in XML sanitizing causes error
Add unit test for it
2017-05-07 14:32:52 +03:00
ilvalle cf1ea98217 fix TAG helper on PY3, updated web2pyHTMLParser 2017-05-06 08:51:58 +02:00
mdipierro 8a741023d8 Merge pull request #1622 from willimoa/enhancement/d3_graph
Enhancement/d3 graph
2017-05-03 23:57:42 -05:00
mdipierro 1f4a490a84 Merge pull request #1620 from ilvalle/issue_1618
fix cron with py3, added initial tests, close #1618
2017-05-03 23:57:12 -05:00
Andrew Willimott ca5539561f Typo delete fix for hooks() return 2017-05-04 07:17:04 +12:00
Andrew Willimott 57b554d618 Initial d3 graph commit. Add d3 to graph layout 2017-05-04 07:03:07 +12:00
geomapdev 69e6e79e23 Update dal.py
updated to handle references without format
2017-05-01 08:39:31 -07:00
mdipierro baa129f871 Merge pull request #1527 from leonelcamara/authapi2
Auth refactor
2017-05-01 09:13:18 -05:00
ilvalle 90e606dcfd fix cron with py3, added initial tests, close #1618 2017-05-01 15:31:37 +02:00
mdipierro 1d77968a06 Merge pull request #1617 from ilvalle/issue_1609
fix open file in py3
2017-04-28 08:12:54 -05:00
mdipierro 1842a2e42c Merge pull request #1616 from cccaballero/py3welcome
Fixes in generic layouts for python 3 compatibility
2017-04-28 08:11:42 -05:00
mdipierro c9b6b0faf8 Merge pull request #1607 from sugizo/fix_memcache_appadmin
appadmin can use ccache with cache.ram = cache.disk = cache.memcache
2017-04-28 08:09:17 -05:00
mdipierro d8be963656 Merge pull request #1606 from cccaballero/master
Added on_succes and custom options for web2py ajax function
2017-04-28 08:08:39 -05:00
mdipierro 496112c4fe Merge pull request #1604 from ilvalle/fix_1570
prevent is_empty from stripping whitespaces, close #1570
2017-04-28 08:07:20 -05:00
mdipierro a186f5c51f Merge pull request #1603 from ilvalle/fix_1582_internazionalized_domain_names
fix IS_EMAIL for internationalized domain names
2017-04-28 08:05:30 -05:00
mdipierro fef43cd053 Merge pull request #1602 from leonelcamara/fix_webclientforget
Create a CookieJar on __init__ instead of creating a new one each post
2017-04-28 08:04:56 -05:00
mdipierro ab41cd94ec Merge pull request #1601 from leonelcamara/port_dialog
Make web2pyDialog Python 3 compatible
2017-04-28 08:04:06 -05:00
mdipierro 9ab7ed0029 catching errors in python3 in custom_import 2017-04-28 08:01:20 -05:00
ilvalle 4d117af85f fix open file in py3, close #1609 2017-04-27 18:08:59 +02:00
Carlos Cesar Caballero Díaz 60a6180a77 fixes in generic layouts for python 3 compatibility 2017-04-27 10:35:27 -04:00
geomapdev 3292f760ca handle reference fields for keyed tables 2017-04-20 10:21:16 -07:00
sugizo ab537242c4 appadmin can use ccache with cache.ram = cache.disk = cache.memcache 2017-04-13 06:31:40 +07:00
Carlos Cesar Caballero Díaz 02d2fefc21 renamed "on_succes" option to "done" allowing multiple inputs
renamed "on_succes" option to "done" allowing multiple inputs,code
refactoring
2017-04-12 08:48:52 -04:00
Carlos Cesar Caballero Díaz 232598fd8d Added on_succes and custom options for web2py ajax function 2017-04-10 12:23:34 -04:00
ilvalle 7a69e087f7 prevent is_empty from stripping whitespaces, close #1570 2017-04-06 20:48:12 +02:00
ilvalle 6da3a9d8fd fix is_email with internationalized Domain Names, close #1582 2017-04-05 22:16:21 +02:00
Leonel Câmara fe0f506efc Create a CookieJar on __init__ instead of creating a new one each post
Fixes #1505
2017-04-03 19:54:06 +01:00
Leonel Câmara 140023e920 Make web2pyDialog Python 3 compatible
checks "port web2pyDialog" in #1353
2017-03-31 12:04:55 +01:00
mdipierro ad43249f61 Merge branch 'master' of github.com:web2py/web2py 2017-03-21 12:28:14 -05:00
mdipierro dd31fb480c Merge branch 'ilvalle-py36' 2017-03-21 12:27:29 -05:00
mdipierro e5121876db Merge branch 'py36' of https://github.com/ilvalle/web2py into ilvalle-py36 2017-03-21 12:27:11 -05:00
mdipierro 532137bce5 Merge pull request #1594 from BuhtigithuB/improve/translations
Improve french translation and close #1592
2017-03-21 12:24:44 -05:00
mdipierro 35f7caa2f0 Merge pull request #1591 from cccaballero/master
Some fixes on ldap_auth
2017-03-21 12:24:05 -05:00
mdipierro 98dddee697 Merge pull request #1578 from ndegroot/minorcleanupbs3
minor cleanup removed unused class 'navbar-ex1-collapse' see https://…
2017-03-21 12:22:48 -05:00
mdipierro 5000c47472 Merge pull request #1568 from amerikan/patch-2
Remove ! from tag
2017-03-21 12:22:16 -05:00
mdipierro bf3d53ad96 Merge pull request #1567 from amerikan/patch-3
Removed ! from tag
2017-03-21 12:21:13 -05:00
mdipierro b2f221bbaa Merge pull request #1566 from BrenBarn/flexserve
Add FlexibleService, which allows @service-style methods with varargs
2017-03-21 12:18:09 -05:00
mdipierro 868d6f6369 Merge branch 'master' of github.com:web2py/web2py 2017-03-21 12:06:11 -05:00
mdipierro 0e1831bcc7 Merge pull request #1581 from nextghost/pydal-17.01
Update SQLTABLE for API changes in PyDAL 17.01
2017-03-21 12:06:00 -05:00
mdipierro dda808ebda pydal 17.03 2017-03-21 12:05:47 -05:00
Hardirc a81e116274 Improve french translation and close #1592 2017-03-15 01:03:21 -04:00
Carlos Cesar Caballero Díaz 34f2825a49 fix ldap_auth logging info not shown 2017-03-14 13:09:29 -04:00
Carlos Cesar Caballero Díaz 7dec909254 fixed group mapping on ldap auth 2017-03-14 13:00:32 -04:00
ilvalle ca9198a26e updated to latest dal 2017-03-07 21:11:05 +01:00
ilvalle ad421e42c6 added tests for py36 2017-03-06 21:35:23 +01:00
Martin Doucha 6954988851 Update SQLTABLE for API changes in PyDAL 17.01 2017-02-28 22:12:54 +01:00
Nico de Groot f0382d646c minor cleanup removed unused class 'navbar-ex1-collapse' see https://github.com/twbs/bootstrap/issues/10948 2017-02-26 13:21:44 +01:00
Erik Montes 48a0683dd1 Removed ! from tag 2017-02-07 10:47:26 -08:00
Erik Montes d7fb270e7e Remove ! from tag 2017-02-07 10:46:22 -08:00
BrenBarn 86a2c529b9 Change to modify Service instead of adding FlexibleService 2017-01-31 14:13:43 -08:00
BrenBarn 55592e7c6e Add FlexibleService, which allows @service-style methods that accept varargs 2017-01-31 11:48:28 -08:00
Leonel Câmara a23b264a37 make sudo false again 2016-11-21 19:48:41 +00:00
Leonel Câmara 79e256b1d7 require sudo 2016-11-21 15:53:10 +00:00
Leonel Câmara 920ab72415 fixed _update_session_user not really updating the session 2016-11-20 20:11:45 +00:00
Leonel Câmara 757d46274e fix bug with new login_user 2016-11-20 20:00:51 +00:00
Leonel Câmara 7b66ec0ae3 Fixes #1506 2016-11-20 19:51:51 +00:00
Leonel Câmara bf5ec0d7cf Fixed a long standing bug in login_user which was using 'password' instead of settings.password_field
Fixes #636
2016-11-20 19:38:21 +00:00
Leonel Câmara 85c68e6876 typo 2016-11-05 16:52:42 +00:00
Leonel Câmara d1dfc4a06a use _compat's long 2016-11-05 16:51:54 +00:00
Leonel Câmara 02f0bdb8d3 Auth refactor, extracted many methods into a base class for more generic auth mechanisms.
Partially addresses #1526
Includes a solution for IS_LOWER and IS_UPPER validator problems I mentioned in #1353
2016-11-05 16:37:22 +00:00
561 changed files with 23738 additions and 20595 deletions
+35
View File
@@ -0,0 +1,35 @@
---
name: Bug report
about: Create a report to help us improve
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
+17
View File
@@ -0,0 +1,17 @@
---
name: Feature request
about: Suggest an idea for this project
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
+1
View File
@@ -62,3 +62,4 @@ HOWTO-web2py-devel
.idea/* .idea/*
site-packages/ site-packages/
logs/ logs/
__pycache__/
+3
View File
@@ -1,3 +1,6 @@
[submodule "gluon/packages/dal"] [submodule "gluon/packages/dal"]
path = gluon/packages/dal path = gluon/packages/dal
url = https://github.com/web2py/pydal.git url = https://github.com/web2py/pydal.git
[submodule "gluon/packages/yatl"]
path = gluon/packages/yatl
url = https://github.com/web2py/yatl
+13 -10
View File
@@ -1,13 +1,21 @@
language: python language: python
sudo: required sudo: required
cache: pip cache: pip
dist: "bionic"
services:
- mysql
python: python:
- '2.7' - '2.7'
- 'pypy' - '3.6'
- '3.5' - '3.7'
- 'pypy3.5'
matrix:
allow_failures:
- python: 'pypy3.5'
install: install:
- pip install -e . - pip install -e .
@@ -15,11 +23,9 @@ install:
before_script: before_script:
- pip install coverage - pip install coverage
- pip install codecov - pip install codecov
- mysql -e 'create database pydal;'
- psql -c 'create database pydal;' -U postgres
- psql -c 'create extension postgis;' -U postgres -d pydal;
- psql -c 'SHOW SERVER_VERSION' -U postgres
before_install:
- mysql -e 'create database pydal;'
script: export COVERAGE_PROCESS_START=gluon/tests/coverage.ini; ./web2py.py --run_system_tests --with_coverage script: export COVERAGE_PROCESS_START=gluon/tests/coverage.ini; ./web2py.py --run_system_tests --with_coverage
@@ -29,6 +35,3 @@ after_success:
notifications: notifications:
email: true email: true
addons:
postgresql: "9.4"
+76 -6
View File
@@ -1,8 +1,68 @@
## 2.19.0
- new command line options (Thanks Paolo Pastori)
## 2.15.x OLD NAME NEW NAME
- web2py does not support python 2.6 anymore ================== ==================
- py3.5 syntax compatible (see #1353 for details) --debug --log_level
- dropped web shell from admin --nogui --no_gui
--ssl_private_key --server_key
--ssl_certificate --server_cert
--minthreads --min_threads
--maxthreads --max_threads
--profiler --profiler_dir
--run-cron --with_cron
--softcron --soft_cron
--cron --cron_run
--cronjob * --cron_job *
--test --run_doctests
--add_options
--interface
--crontab
## 2.18.1-2.18.5
- pydal 19.04
- made template its own module (Yet Another Template Language)
- improved python 3.4-3.7 support
- better regular expressions
- bug fixes
## 2.17.1-2
- pydal 18.08
- many small bug fixes
## 2.16.1
- pydal 17.11
- bootstrap 4
- better welcome examples
- many bug fixes
## 2.15.1-4
- pydal 17.08
- dropped support for python 2.6
- dropped web shell
- experimental python 3 support
- experimental authapi for service login
- allow ajax file uploads
- more tests
- more pep8 compliance
- d3.js model visulization
- improved scheduler
- is_email support for internationalized Domain Names
- improved used of cookies with CookieJar
- SQLFORM.grid(showblobs=True)
- import JS events (added w2p.componentBegin event)
- added support for CASv3
- allow first_name and last_name placeholders in verify_email message
- added three-quote support in markmin
- updated pg8000 driver (but we still recommend psycopg2)
- compiled views use . separator not _ separator (must recompile code)
- better serbian, french, and catalan translations
- speed improvements (refactor of compileapp and pyc caching)
- removed web shell (never worked as intended)
- allow Expose(..., follow_symlink_out=False).
- Updated fpdf to latest version
- JWT support
- import fabfile for remote deployment
- scheduler new feature: you can now specify intervals with cron - scheduler new feature: you can now specify intervals with cron
- gluon/* removed from sys.path. Applications relying on statements like e.g. - gluon/* removed from sys.path. Applications relying on statements like e.g.
"from storage import Storage" "from storage import Storage"
@@ -10,8 +70,18 @@
"from gluon.storage import Storage" "from gluon.storage import Storage"
- tests can only be run with the usual web2py.py --run_system_tests OR with - tests can only be run with the usual web2py.py --run_system_tests OR with
python -m unittest -v gluon.tests on the root dir python -m unittest -v gluon.tests on the root dir
- updated pymysql driver - jQuery 3.2.1
- PyDAL 17.07 including:
allow jsonb support for postgres
correctly configure adapters that need connection for configuration
better caching
updated IMAP adapter methods to new API
experimental suport for joinable subselects
improved Teradata support
improved mongodb support
overall refactoring
experimental support for Google Cloud SQL v2
new pymysql driver
## 2.14.6 ## 2.14.6
+24 -19
View File
@@ -6,23 +6,24 @@ clean:
rm -f httpserver.log rm -f httpserver.log
rm -f parameters*.py rm -f parameters*.py
rm -f -r applications/*/compiled rm -f -r applications/*/compiled
find ./ -name '*~' -exec rm -f {} \; find . -name '*~' -exec rm -f {} \;
find ./ -name '*.orig' -exec rm -f {} \; find . -name '*.orig' -exec rm -f {} \;
find ./ -name '*.rej' -exec rm -f {} \; find . -name '*.rej' -exec rm -f {} \;
find ./ -name '#*' -exec rm -f {} \; find . -name '#*' -exec rm -f {} \;
find ./ -name 'Thumbs.db' -exec rm -f {} \; find . -name 'Thumbs.db' -exec rm -f {} \;
# find ./gluon/ -name '.*' -exec rm -f {} \; # find . -name '.tox' -exec rm -rf {} \;
find ./gluon/ -name '*class' -exec rm -f {} \; # find . -name '__pycache__' -exec rm -rf {} \;
find ./applications/admin/ -name '.*' -exec rm -f {} \; find gluon/ -name '*class' -exec rm -f {} \;
find ./applications/examples/ -name '.*' -exec rm -f {} \; find applications/admin/ -name '.*' -exec rm -f {} \;
find ./applications/welcome/ -name '.*' -exec rm -f {} \; find applications/examples/ -name '.*' -exec rm -f {} \;
find ./ -name '*.pyc' -exec rm -f {} \; find applications/welcome/ -name '.*' -exec rm -f {} \;
find . -name '*.pyc' -exec rm -f {} \;
tests: tests:
python web2py.py --run_system_tests python web2py.py --verbose --run_system_tests
coverage: coverage:
coverage erase --rcfile=gluon/tests/coverage.ini coverage erase --rcfile=gluon/tests/coverage.ini
export COVERAGE_PROCESS_START=gluon/tests/coverage.ini export COVERAGE_PROCESS_START=gluon/tests/coverage.ini
python web2py.py --run_system_tests --with_coverage python web2py.py --verbose --run_system_tests --with_coverage
coverage combine --rcfile=gluon/tests/coverage.ini coverage combine --rcfile=gluon/tests/coverage.ini
sleep 1 sleep 1
coverage html --rcfile=gluon/tests/coverage.ini coverage html --rcfile=gluon/tests/coverage.ini
@@ -30,11 +31,7 @@ update:
wget -O gluon/contrib/feedparser.py http://feedparser.googlecode.com/svn/trunk/feedparser/feedparser.py wget -O gluon/contrib/feedparser.py http://feedparser.googlecode.com/svn/trunk/feedparser/feedparser.py
wget -O gluon/contrib/simplejsonrpc.py http://rad2py.googlecode.com/hg/ide2py/simplejsonrpc.py wget -O gluon/contrib/simplejsonrpc.py http://rad2py.googlecode.com/hg/ide2py/simplejsonrpc.py
echo "remember that pymysql was tweaked" echo "remember that pymysql was tweaked"
src: rmfiles:
### Use semantic versioning
echo 'Version 2.14.6-stable+timestamp.'`date +%Y.%m.%d.%H.%M.%S` > VERSION
### rm -f all junk files
make clean
### clean up baisc apps ### clean up baisc apps
rm -f routes.py rm -f routes.py
rm -rf applications/*/sessions/* rm -rf applications/*/sessions/*
@@ -46,6 +43,12 @@ src:
rm -rf applications/admin/uploads/* rm -rf applications/admin/uploads/*
rm -rf applications/welcome/uploads/* rm -rf applications/welcome/uploads/*
rm -rf applications/examples/uploads/* rm -rf applications/examples/uploads/*
src:
### Use semantic versioning
echo 'Version 2.18.5-stable+timestamp.'`date +%Y.%m.%d.%H.%M.%S` > VERSION
### rm -f all junk files
make clean
# make rmfiles
### make welcome layout and appadmin the default ### make welcome layout and appadmin the default
cp applications/welcome/views/appadmin.html applications/admin/views cp applications/welcome/views/appadmin.html applications/admin/views
cp applications/welcome/views/appadmin.html applications/examples/views cp applications/welcome/views/appadmin.html applications/examples/views
@@ -54,7 +57,7 @@ src:
### build web2py_src.zip ### build web2py_src.zip
echo '' > NEWINSTALL echo '' > NEWINSTALL
mv web2py_src.zip web2py_src_old.zip | echo 'no old' mv web2py_src.zip web2py_src_old.zip | echo 'no old'
cd ..; zip -r web2py/web2py_src.zip web2py/web2py.py web2py/anyserver.py web2py/gluon/* web2py/extras/* web2py/handlers/* web2py/examples/* web2py/README.markdown web2py/LICENSE web2py/CHANGELOG web2py/NEWINSTALL web2py/VERSION web2py/MANIFEST.in web2py/scripts/*.sh web2py/scripts/*.py web2py/applications/admin web2py/applications/examples/ web2py/applications/welcome web2py/applications/__init__.py web2py/site-packages/__init__.py web2py/gluon/tests/*.sh web2py/gluon/tests/*.py cd ..; zip -r --exclude=**.git** --exclude=**.tox** --exclude=**_pycache__** web2py/web2py_src.zip web2py/web2py.py web2py/anyserver.py web2py/fabfile.py web2py/gluon/* web2py/extras/* web2py/handlers/* web2py/examples/* web2py/README.markdown web2py/LICENSE web2py/CHANGELOG web2py/NEWINSTALL web2py/VERSION web2py/MANIFEST.in web2py/scripts/*.sh web2py/scripts/*.py web2py/applications/admin web2py/applications/examples/ web2py/applications/welcome web2py/applications/__init__.py web2py/site-packages/__init__.py web2py/gluon/tests/*.sh web2py/gluon/tests/*.py
mdp: mdp:
make src make src
@@ -97,6 +100,8 @@ win:
cp -r applications/welcome ../web2py_win/web2py/applications cp -r applications/welcome ../web2py_win/web2py/applications
cp -r applications/examples ../web2py_win/web2py/applications cp -r applications/examples ../web2py_win/web2py/applications
cp applications/__init__.py ../web2py_win/web2py/applications cp applications/__init__.py ../web2py_win/web2py/applications
# per https://github.com/web2py/web2py/issues/1716
mv ../web2py_win/web2py/_ssl.pyd ../web2py_win/web2py/_ssl.pyd.legacy | echo 'done'
cd ../web2py_win; zip -r web2py_win.zip web2py cd ../web2py_win; zip -r web2py_win.zip web2py
mv ../web2py_win/web2py_win.zip . mv ../web2py_win/web2py_win.zip .
run: run:
+1 -1
View File
@@ -1 +1 @@
Version 2.14.6-stable+timestamp.2016.05.09.19.18.48 Version 2.18.5-stable+timestamp.2019.04.07.21.13.59
+10 -10
View File
@@ -43,8 +43,8 @@ class Servers:
@staticmethod @staticmethod
def cherrypy(app, address, **options): def cherrypy(app, address, **options):
from cherrypy import wsgiserver from cheroot.wsgi import Server as WSGIServer
server = wsgiserver.CherryPyWSGIServer(address, app) server = WSGIServer(address, app)
server.start() server.start()
@staticmethod @staticmethod
@@ -212,16 +212,16 @@ def mongrel2_handler(application, conn, debug=False):
while True: while True:
if debug: if debug:
print "WAITING FOR REQUEST" print("WAITING FOR REQUEST")
# receive a request # receive a request
req = conn.recv() req = conn.recv()
if debug: if debug:
print "REQUEST BODY: %r\n" % req.body print("REQUEST BODY: %r\n" % req.body)
if req.is_disconnect(): if req.is_disconnect():
if debug: if debug:
print "DISCONNECT" print("DISCONNECT")
continue # effectively ignore the disconnect from the client continue # effectively ignore the disconnect from the client
# Set a couple of environment attributes a.k.a. header attributes # Set a couple of environment attributes a.k.a. header attributes
@@ -247,7 +247,7 @@ def mongrel2_handler(application, conn, debug=False):
environ['wsgi.input'] = req.body environ['wsgi.input'] = req.body
if debug: if debug:
print "ENVIRON: %r\n" % environ print("ENVIRON: %r\n" % environ)
# SimpleHandler needs file-like stream objects for # SimpleHandler needs file-like stream objects for
# requests, errors and responses # requests, errors and responses
@@ -282,10 +282,10 @@ def mongrel2_handler(application, conn, debug=False):
# return the response # return the response
if debug: if debug:
print "RESPONSE: %r\n" % response print("RESPONSE: %r\n" % response)
if errors: if errors:
if debug: if debug:
print "ERRORS: %r" % errors print("ERRORS: %r" % errors)
data = "%s\r\n\r\n%s" % (data, errors) data = "%s\r\n\r\n%s" % (data, errors)
conn.reply_http( conn.reply_http(
req, data, code=code, status=status, headers=headers) req, data, code=code, status=status, headers=headers)
@@ -355,8 +355,8 @@ def main():
dest='workers', dest='workers',
help='number of workers number') help='number of workers number')
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
print 'starting %s on %s:%s...' % ( print('starting %s on %s:%s...' % (
options.server, options.ip, options.port) options.server, options.ip, options.port))
run(options.server, options.ip, options.port, run(options.server, options.ip, options.port,
logging=options.logging, profiler=options.profiler_dir, logging=options.logging, profiler=options.profiler_dir,
options=options) options=options)
+100 -109
View File
@@ -12,11 +12,6 @@ import gluon.contenttype
import gluon.fileutils import gluon.fileutils
from gluon._compat import iteritems from gluon._compat import iteritems
try:
import pygraphviz as pgv
except ImportError:
pgv = None
is_gae = request.env.web2py_runtime_gae or False is_gae = request.env.web2py_runtime_gae or False
# ## critical --- make a copy of the environment # ## critical --- make a copy of the environment
@@ -35,7 +30,7 @@ except:
if request.is_https: if request.is_https:
session.secure() session.secure()
elif (remote_addr not in hosts) and (remote_addr != "127.0.0.1") and \ elif (remote_addr not in hosts) and (remote_addr != '127.0.0.1') and \
(request.function != 'manage'): (request.function != 'manage'):
raise HTTP(200, T('appadmin is disabled because insecure channel')) raise HTTP(200, T('appadmin is disabled because insecure channel'))
@@ -51,7 +46,7 @@ if request.function == 'manage':
auth.table_permission()]) auth.table_permission()])
manager_role = manager_action.get('role', None) if manager_action else None manager_role = manager_action.get('role', None) if manager_action else None
if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)): if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)):
raise HTTP(403, "Not authorized") raise HTTP(403, 'Not authorized')
menu = False menu = False
elif (request.application == 'admin' and not session.authorized) or \ elif (request.application == 'admin' and not session.authorized) or \
(request.application != 'admin' and not gluon.fileutils.check_credentials(request)): (request.application != 'admin' and not gluon.fileutils.check_credentials(request)):
@@ -187,12 +182,12 @@ def select():
db = get_database(request) db = get_database(request)
dbname = request.args[0] dbname = request.args[0]
try: try:
is_imap = db._uri.startswith("imap://") is_imap = db._uri.startswith('imap://')
except (KeyError, AttributeError, TypeError): except (KeyError, AttributeError, TypeError):
is_imap = False is_imap = False
regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)') regex = re.compile(r'(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)')
if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'): if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'):
regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>.+)') regex = re.compile(r'(?P<table>\w+)\.(?P<field>\w+)=(?P<value>.+)')
if request.vars.query: if request.vars.query:
match = regex.match(request.vars.query) match = regex.match(request.vars.query)
if match: if match:
@@ -229,20 +224,20 @@ def select():
session.last_orderby = orderby session.last_orderby = orderby
session.last_query = request.vars.query session.last_query = request.vars.query
form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px', form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px',
_name='query', _value=request.vars.query or '', _name='query', _value=request.vars.query or '', _class='form-control',
requires=IS_NOT_EMPTY( requires=IS_NOT_EMPTY(
error_message=T("Cannot be empty")))), TR(T('Update:'), error_message=T('Cannot be empty')))), TR(T('Update:'),
INPUT(_name='update_check', _type='checkbox', INPUT(_name='update_check', _type='checkbox',
value=False), INPUT(_style='width:400px', value=False), INPUT(_style='width:400px',
_name='update_fields', _value=request.vars.update_fields _name='update_fields', _value=request.vars.update_fields
or '')), TR(T('Delete:'), INPUT(_name='delete_check', or '', _class='form-control')), TR(T('Delete:'), INPUT(_name='delete_check',
_class='delete', _type='checkbox', value=False), ''), _class='delete', _type='checkbox', value=False), ''),
TR('', '', INPUT(_type='submit', _value=T('submit')))), TR('', '', INPUT(_type='submit', _value=T('Submit'), _class='btn btn-primary'))),
_action=URL(r=request, args=request.args)) _action=URL(r=request, args=request.args))
tb = None tb = None
if form.accepts(request.vars, formname=None): if form.accepts(request.vars, formname=None):
regex = re.compile(request.args[0] + '\.(?P<table>\w+)\..+') regex = re.compile(request.args[0] + r'\.(?P<table>\w+)\..+')
match = regex.match(form.vars.query.strip()) match = regex.match(form.vars.query.strip())
if match: if match:
table = match.group('table') table = match.group('table')
@@ -259,8 +254,8 @@ def select():
if is_imap: if is_imap:
fields = [db[table][name] for name in fields = [db[table][name] for name in
("id", "uid", "created", "to", ('id', 'uid', 'created', 'to',
"sender", "subject")] 'sender', 'subject')]
if orderby: if orderby:
rows = db(query, ignore_common_filters=True).select( rows = db(query, ignore_common_filters=True).select(
*fields, limitby=(start, stop), *fields, limitby=(start, stop),
@@ -276,10 +271,10 @@ def select():
# begin handle upload csv # begin handle upload csv
csv_table = table or request.vars.table csv_table = table or request.vars.table
if csv_table: if csv_table:
formcsv = FORM(str(T('or import from csv file')) + " ", formcsv = FORM(str(T('or import from csv file')) + ' ',
INPUT(_type='file', _name='csvfile'), INPUT(_type='file', _name='csvfile'),
INPUT(_type='hidden', _value=csv_table, _name='table'), INPUT(_type='hidden', _value=csv_table, _name='table'),
INPUT(_type='submit', _value=T('import'))) INPUT(_type='submit', _value=T('import'), _class='btn btn-primary'))
else: else:
formcsv = None formcsv = None
if formcsv and formcsv.process().accepted: if formcsv and formcsv.process().accepted:
@@ -361,26 +356,26 @@ def state():
def ccache(): def ccache():
if is_gae: if is_gae:
form = FORM( form = FORM(
P(TAG.BUTTON(T("Clear CACHE?"), _type="submit", _name="yes", _value="yes"))) P(TAG.BUTTON(T('Clear CACHE?'), _type='submit', _name='yes', _value='yes')))
else: else:
cache.ram.initialize() cache.ram.initialize()
cache.disk.initialize() cache.disk.initialize()
form = FORM( form = FORM(
P(TAG.BUTTON( P(TAG.BUTTON(
T("Clear CACHE?"), _type="submit", _name="yes", _value="yes")), T('Clear CACHE?'), _type='submit', _name='yes', _value='yes')),
P(TAG.BUTTON( P(TAG.BUTTON(
T("Clear RAM"), _type="submit", _name="ram", _value="ram")), T('Clear RAM'), _type='submit', _name='ram', _value='ram')),
P(TAG.BUTTON( P(TAG.BUTTON(
T("Clear DISK"), _type="submit", _name="disk", _value="disk")), T('Clear DISK'), _type='submit', _name='disk', _value='disk')),
) )
if form.accepts(request.vars, session): if form.accepts(request.vars, session):
session.flash = "" session.flash = ''
if is_gae: if is_gae:
if request.vars.yes: if request.vars.yes:
cache.ram.clear() cache.ram.clear()
session.flash += T("Cache Cleared") session.flash += T('Cache Cleared')
else: else:
clear_ram = False clear_ram = False
clear_disk = False clear_disk = False
@@ -392,17 +387,16 @@ def ccache():
clear_disk = True clear_disk = True
if clear_ram: if clear_ram:
cache.ram.clear() cache.ram.clear()
session.flash += T("Ram Cleared") session.flash += T('Ram Cleared')
if clear_disk: if clear_disk:
cache.disk.clear() cache.disk.clear()
session.flash += T("Disk Cleared") session.flash += T('Disk Cleared')
redirect(URL(r=request)) redirect(URL(r=request))
try: try:
from guppy import hpy from pympler.asizeof import asizeof
hp = hpy()
except ImportError: except ImportError:
hp = False asizeof = False
import shelve import shelve
import os import os
@@ -442,7 +436,7 @@ def ccache():
gae_stats['ratio'] = ((gae_stats['hits'] * 100) / gae_stats['ratio'] = ((gae_stats['hits'] * 100) /
(gae_stats['hits'] + gae_stats['misses'])) (gae_stats['hits'] + gae_stats['misses']))
except ZeroDivisionError: except ZeroDivisionError:
gae_stats['ratio'] = T("?") gae_stats['ratio'] = T('?')
gae_stats['oldest'] = GetInHMS(time.time() - gae_stats['oldest_item_age']) gae_stats['oldest'] = GetInHMS(time.time() - gae_stats['oldest_item_age'])
total.update(gae_stats) total.update(gae_stats)
else: else:
@@ -456,9 +450,9 @@ def ccache():
ram['ratio'] = 0 ram['ratio'] = 0
for key, value in iteritems(cache.ram.storage): for key, value in iteritems(cache.ram.storage):
if hp: if asizeof:
ram['bytes'] += hp.iso(value[1]).size ram['bytes'] += asizeof(value[1])
ram['objects'] += hp.iso(value[1]).count ram['objects'] += 1
ram['entries'] += 1 ram['entries'] += 1
if value[0] < ram['oldest']: if value[0] < ram['oldest']:
ram['oldest'] = value[0] ram['oldest'] = value[0]
@@ -474,9 +468,9 @@ def ccache():
except (KeyError, ZeroDivisionError): except (KeyError, ZeroDivisionError):
disk['ratio'] = 0 disk['ratio'] = 0
else: else:
if hp: if asizeof:
disk['bytes'] += hp.iso(value[1]).size disk['bytes'] += asizeof(value[1])
disk['objects'] += hp.iso(value[1]).count disk['objects'] += 1
disk['entries'] += 1 disk['entries'] += 1
if value[0] < disk['oldest']: if value[0] < disk['oldest']:
disk['oldest'] = value[0] disk['oldest'] = value[0]
@@ -508,7 +502,7 @@ def ccache():
TR(TD(B(T('Key'))), TD(B(T('Time in Cache (h:m:s)')))), TR(TD(B(T('Key'))), TD(B(T('Time in Cache (h:m:s)')))),
*[TR(TD(k[0]), TD('%02d:%02d:%02d' % k[1])) for k in keys], *[TR(TD(k[0]), TD('%02d:%02d:%02d' % k[1])) for k in keys],
**dict(_class='cache-keys', **dict(_class='cache-keys',
_style="border-collapse: separate; border-spacing: .5em;")) _style='border-collapse: separate; border-spacing: .5em;'))
if not is_gae: if not is_gae:
ram['keys'] = key_table(ram['keys']) ram['keys'] = key_table(ram['keys'])
@@ -516,7 +510,7 @@ def ccache():
total['keys'] = key_table(total['keys']) total['keys'] = key_table(total['keys'])
return dict(form=form, total=total, return dict(form=form, total=total,
ram=ram, disk=disk, object_stats=hp != False) ram=ram, disk=disk, object_stats=asizeof != False)
def table_template(table): def table_template(table):
@@ -542,80 +536,29 @@ def table_template(table):
# This is horribe HTML but the only one graphiz understands # This is horribe HTML but the only one graphiz understands
rows = [] rows = []
cellpadding = 4 cellpadding = 4
color = "#000000" color = '#000000'
bgcolor = "#FFFFFF" bgcolor = '#FFFFFF'
face = "Helvetica" face = 'Helvetica'
face_bold = "Helvetica Bold" face_bold = 'Helvetica Bold'
border = 0 border = 0
rows.append(TR(TD(FONT(table, _face=face_bold, _color=bgcolor), rows.append(TR(TD(FONT(table, _face=face_bold, _color=bgcolor),
_colspan=3, _cellpadding=cellpadding, _colspan=3, _cellpadding=cellpadding,
_align="center", _bgcolor=color))) _align='center', _bgcolor=color)))
for row in db[table]: for row in db[table]:
rows.append(TR(TD(FONT(row.name, _color=color, _face=face_bold), rows.append(TR(TD(FONT(row.name, _color=color, _face=face_bold),
_align="left", _cellpadding=cellpadding, _align='left', _cellpadding=cellpadding,
_border=border), _border=border),
TD(FONT(row.type, _color=color, _face=face), TD(FONT(row.type, _color=color, _face=face),
_align="left", _cellpadding=cellpadding, _align='left', _cellpadding=cellpadding,
_border=border), _border=border),
TD(FONT(types(row), _color=color, _face=face), TD(FONT(types(row), _color=color, _face=face),
_align="center", _cellpadding=cellpadding, _align='center', _cellpadding=cellpadding,
_border=border))) _border=border)))
return "< %s >" % TABLE(*rows, **dict(_bgcolor=bgcolor, _border=1, return '< %s >' % TABLE(*rows, **dict(_bgcolor=bgcolor, _border=1,
_cellborder=0, _cellspacing=0) _cellborder=0, _cellspacing=0)
).xml() ).xml()
def bg_graph_model():
graph = pgv.AGraph(layout='dot', directed=True, strict=False, rankdir='LR')
subgraphs = dict()
for tablename in db.tables:
if hasattr(db[tablename],'_meta_graphmodel'):
meta_graphmodel = db[tablename]._meta_graphmodel
else:
meta_graphmodel = dict(group=request.application, color='#ECECEC')
group = meta_graphmodel['group'].replace(' ', '')
if group not in subgraphs:
subgraphs[group] = dict(meta=meta_graphmodel, tables=[])
subgraphs[group]['tables'].append(tablename)
graph.add_node(tablename, name=tablename, shape='plaintext',
label=table_template(tablename))
for n, key in enumerate(subgraphs.iterkeys()):
graph.subgraph(nbunch=subgraphs[key]['tables'],
name='cluster%d' % n,
style='filled',
color=subgraphs[key]['meta']['color'],
label=subgraphs[key]['meta']['group'])
for tablename in db.tables:
for field in db[tablename]:
f_type = field.type
if isinstance(f_type,str) and (
f_type.startswith('reference') or
f_type.startswith('list:reference')):
referenced_table = f_type.split()[1].split('.')[0]
n1 = graph.get_node(tablename)
n2 = graph.get_node(referenced_table)
graph.add_edge(n1, n2, color="#4C4C4C", label='')
graph.layout()
if not request.args:
response.headers['Content-Type'] = 'image/png'
return graph.draw(format='png', prog='dot')
else:
response.headers['Content-Disposition']='attachment;filename=graph.%s'%request.args(0)
if request.args(0) == 'dot':
return graph.string()
else:
return graph.draw(format=request.args(0), prog='dot')
def graph_model():
return dict(databases=databases, pgv=pgv)
def manage(): def manage():
tables = manager_action['tables'] tables = manager_action['tables']
if isinstance(tables[0], str): if isinstance(tables[0], str):
@@ -645,7 +588,7 @@ def manage():
auth.table_permission().group_id.label = T('Role') auth.table_permission().group_id.label = T('Role')
auth.table_permission().name.label = T('Permission') auth.table_permission().name.label = T('Permission')
if table == auth.table_user(): if table == auth.table_user():
linked_tables=[auth.settings.table_membership_name] linked_tables = [auth.settings.table_membership_name]
elif table == auth.table_group(): elif table == auth.table_group():
orderby = 'role' if not request.args(3) or '.group_id' not in request.args(3) else None orderby = 'role' if not request.args(3) or '.group_id' not in request.args(3) else None
elif table == auth.table_permission(): elif table == auth.table_permission():
@@ -661,13 +604,13 @@ def manage():
def hooks(): def hooks():
import functools import functools
import inspect import inspect
list_op=['_%s_%s' %(h,m) for h in ['before', 'after'] for m in ['insert','update','delete']] list_op = ['_%s_%s' %(h,m) for h in ['before', 'after'] for m in ['insert','update','delete']]
tables=[] tables = []
with_build_it=False with_build_it = False
for db_str in sorted(databases): for db_str in sorted(databases):
db = databases[db_str] db = databases[db_str]
for t in db.tables: for t in db.tables:
method_hooks=[] method_hooks = []
for op in list_op: for op in list_op:
functions = [] functions = []
for f in getattr(db[t], op): for f in getattr(db[t], op):
@@ -687,16 +630,64 @@ def hooks():
except: except:
pass pass
if len(functions): if len(functions):
method_hooks.append({'name':op, 'functions':functions}) method_hooks.append({'name': op, 'functions':functions})
if len(method_hooks): if len(method_hooks):
tables.append({'name':"%s.%s" % (db_str,t), 'slug': IS_SLUG()("%s.%s" % (db_str,t))[0], 'method_hooks':method_hooks}) tables.append({'name': '%s.%s' % (db_str, t), 'slug': IS_SLUG()('%s.%s' % (db_str,t))[0], 'method_hooks':method_hooks})
# Render # Render
ul_main = UL(_class='nav nav-list') ul_main = UL(_class='nav nav-list')
for t in tables: for t in tables:
ul_main.append(A(t['name'], _onclick="collapse('a_%s')" % t['slug'])) ul_main.append(A(t['name'], _onclick="collapse('a_%s')" % t['slug']))
ul_t = UL(_class='nav nav-list', _id="a_%s" % t['slug'], _style='display:none') ul_t = UL(_class='nav nav-list', _id='a_%s' % t['slug'], _style='display:none')
for op in t['method_hooks']: for op in t['method_hooks']:
ul_t.append(LI (op['name'])) ul_t.append(LI(op['name']))
ul_t.append(UL([LI(A(f['funcname'], _class="editor_filelink", _href=f['url']if 'url' in f else None, **{'_data-lineno':f['lineno']-1})) for f in op['functions']])) ul_t.append(UL([LI(A(f['funcname'], _class='editor_filelink', _href=f['url']if 'url' in f else None, **{'_data-lineno':f['lineno']-1})) for f in op['functions']]))
ul_main.append(ul_t) ul_main.append(ul_t)
return ul_main return ul_main
# ##########################################################
# d3 based model visualizations
# ###########################################################
def d3_graph_model():
''' See https://www.facebook.com/web2py/posts/145613995589010 from Bruno Rocha
and also the app_admin bg_graph_model function
Create a list of table dicts, called 'nodes'
'''
nodes = []
links = []
for database in databases:
db = eval_in_global_env(database)
for tablename in db.tables:
fields = []
for field in db[tablename]:
f_type = field.type
if not isinstance(f_type, str):
disp = ' '
elif f_type == 'string':
disp = field.length
elif f_type == 'id':
disp = 'PK'
elif f_type.startswith('reference') or \
f_type.startswith('list:reference'):
disp = 'FK'
else:
disp = ' '
fields.append(dict(name=field.name, type=field.type, disp=disp))
if isinstance(f_type, str) and (
f_type.startswith('reference') or
f_type.startswith('list:reference')):
referenced_table = f_type.split()[1].split('.')[0]
links.append(dict(source=tablename, target = referenced_table))
nodes.append(dict(name=tablename, type='table', fields = fields))
# d3 v4 allows individual modules to be specified. The complete d3 library is included below.
response.files.append(URL('admin','static','js/d3.min.js'))
response.files.append(URL('admin','static','js/d3_graph.js'))
return dict(databases=databases, nodes=nodes, links=links)
+2 -1
View File
@@ -6,6 +6,7 @@ import gluon.validators
import code import code
from gluon.debug import communicate, web_debugger, dbg_debugger from gluon.debug import communicate, web_debugger, dbg_debugger
from gluon._compat import thread from gluon._compat import thread
from gluon.fileutils import open_file
import pydoc import pydoc
@@ -54,7 +55,7 @@ def interact():
if filename: if filename:
# prevent IOError 2 on some circuntances (EAFP instead of os.access) # prevent IOError 2 on some circuntances (EAFP instead of os.access)
try: try:
lines = open(filename).readlines() lines = open_file(filename, 'r').readlines()
except: except:
lines = "" lines = ""
lines = dict([(i + 1, l) for (i, l) in enumerate( lines = dict([(i + 1, l) for (i, l) in enumerate(
+36 -18
View File
@@ -16,6 +16,7 @@ from gluon.tools import Config
from gluon.compileapp import find_exposed_functions from gluon.compileapp import find_exposed_functions
from glob import glob from glob import glob
from gluon._compat import iteritems, PY2, pickle, xrange, urlopen, to_bytes, StringIO, to_native from gluon._compat import iteritems, PY2, pickle, xrange, urlopen, to_bytes, StringIO, to_native
import gluon.rewrite
import shutil import shutil
import platform import platform
@@ -165,9 +166,9 @@ def check_version():
new_version, version = check_new_version(request.env.web2py_version, new_version, version = check_new_version(request.env.web2py_version,
WEB2PY_VERSION_URL) WEB2PY_VERSION_URL)
if new_version == -1: if new_version in (-1, -2):
return A(T('Unable to check for upgrades'), _href=WEB2PY_URL) return A(T('Unable to check for upgrades'), _href=WEB2PY_URL)
elif new_version != True: elif not new_version:
return A(T('web2py is up to date'), _href=WEB2PY_URL) return A(T('web2py is up to date'), _href=WEB2PY_URL)
elif platform.system().lower() in ('windows', 'win32', 'win64') and os.path.exists("web2py.exe"): elif platform.system().lower() in ('windows', 'win32', 'win64') and os.path.exists("web2py.exe"):
return SPAN('You should upgrade to %s' % version.split('(')[0]) return SPAN('You should upgrade to %s' % version.split('(')[0])
@@ -249,6 +250,7 @@ def site():
db.app.insert(name=appname, owner=auth.user.id) db.app.insert(name=appname, owner=auth.user.id)
log_progress(appname) log_progress(appname)
session.flash = T('new application "%s" created', appname) session.flash = T('new application "%s" created', appname)
gluon.rewrite.load()
redirect(URL('design', args=appname)) redirect(URL('design', args=appname))
else: else:
session.flash = \ session.flash = \
@@ -266,6 +268,7 @@ def site():
new_repo = git.Repo.clone_from(form_update.vars.url, target) new_repo = git.Repo.clone_from(form_update.vars.url, target)
session.flash = T('new application "%s" imported', session.flash = T('new application "%s" imported',
form_update.vars.name) form_update.vars.name)
gluon.rewrite.load()
except git.GitCommandError as err: except git.GitCommandError as err:
session.flash = T('Invalid git repository specified.') session.flash = T('Invalid git repository specified.')
redirect(URL(r=request)) redirect(URL(r=request))
@@ -302,6 +305,7 @@ def site():
log_progress(appname) log_progress(appname)
session.flash = T(msg, dict(appname=appname, session.flash = T(msg, dict(appname=appname,
digest=md5_hash(installed))) digest=md5_hash(installed)))
gluon.rewrite.load()
else: else:
msg = 'unable to install application "%(appname)s"' msg = 'unable to install application "%(appname)s"'
session.flash = T(msg, dict(appname=form_update.vars.name)) session.flash = T(msg, dict(appname=form_update.vars.name))
@@ -558,7 +562,11 @@ def enable():
os.unlink(filename) os.unlink(filename)
return SPAN(T('Disable'), _style='color:green') return SPAN(T('Disable'), _style='color:green')
else: else:
safe_open(filename, 'wb').write('disabled: True\ntime-disabled: %s' % request.now) if PY2:
safe_open(filename, 'wb').write('disabled: True\ntime-disabled: %s' % request.now)
else:
str_ = 'disabled: True\ntime-disabled: %s' % request.now
safe_open(filename, 'wb').write(str_.encode('utf-8'))
return SPAN(T('Enable'), _style='color:red') return SPAN(T('Enable'), _style='color:red')
@@ -638,7 +646,10 @@ def edit():
# show settings tab and save prefernces # show settings tab and save prefernces
if 'settings' in request.vars: if 'settings' in request.vars:
if request.post_vars: # save new preferences if request.post_vars: # save new preferences
post_vars = request.post_vars.items() if PY2:
post_vars = request.post_vars.items()
else:
post_vars = list(request.post_vars.items())
# Since unchecked checkbox are not serialized, we must set them as false by hand to store the correct preference in the settings # Since unchecked checkbox are not serialized, we must set them as false by hand to store the correct preference in the settings
post_vars += [(opt, 'false') for opt in preferences if opt not in request.post_vars] post_vars += [(opt, 'false') for opt in preferences if opt not in request.post_vars]
if config.save(post_vars): if config.save(post_vars):
@@ -803,8 +814,11 @@ def edit():
if len(request.args) > 2 and request.args[1] == 'controllers': if len(request.args) > 2 and request.args[1] == 'controllers':
controller = (request.args[2])[:-3] controller = (request.args[2])[:-3]
functions = find_exposed_functions(data) try:
functions = functions and sorted(functions) or [] functions = find_exposed_functions(data)
functions = functions and sorted(functions) or []
except SyntaxError as err:
functions = ['SyntaxError:Line:%d' % err.lineno]
else: else:
(controller, functions) = (None, None) (controller, functions) = (None, None)
@@ -959,8 +973,7 @@ def edit_language():
form = SPAN(strings['__corrupted__'], _class='error') form = SPAN(strings['__corrupted__'], _class='error')
return dict(filename=filename, form=form) return dict(filename=filename, form=form)
keys = sorted(strings.keys(), lambda x, y: cmp( keys = sorted(strings.keys(), key=lambda x: to_native(x).lower())
unicode(x, 'utf-8').lower(), unicode(y, 'utf-8').lower()))
rows = [] rows = []
rows.append(H2(T('Original/Translation'))) rows.append(H2(T('Original/Translation')))
@@ -1107,7 +1120,7 @@ def design():
defines = {} defines = {}
for m in models: for m in models:
data = safe_read(apath('%s/models/%s' % (app, m), r=request)) data = safe_read(apath('%s/models/%s' % (app, m), r=request))
defines[m] = regex_tables.findall(data) defines[m] = re.findall(REGEX_DEFINE_TABLE, data, re.MULTILINE)
defines[m].sort() defines[m].sort()
# Get all controllers # Get all controllers
@@ -1117,8 +1130,11 @@ def design():
functions = {} functions = {}
for c in controllers: for c in controllers:
data = safe_read(apath('%s/controllers/%s' % (app, c), r=request)) data = safe_read(apath('%s/controllers/%s' % (app, c), r=request))
items = find_exposed_functions(data) try:
functions[c] = items and sorted(items) or [] items = find_exposed_functions(data)
functions[c] = items and sorted(items) or []
except SyntaxError as err:
functions[c] = ['SyntaxError:Line:%d' % err.lineno]
# Get all views # Get all views
views = sorted( views = sorted(
@@ -1128,12 +1144,12 @@ def design():
include = {} include = {}
for c in views: for c in views:
data = safe_read(apath('%s/views/%s' % (app, c), r=request)) data = safe_read(apath('%s/views/%s' % (app, c), r=request))
items = regex_extend.findall(data) items = re.findall(REGEX_EXTEND, data, re.MULTILINE)
if items: if items:
extend[c] = items[0][1] extend[c] = items[0][1]
items = regex_include.findall(data) items = re.findall(REGEX_INCLUDE, data)
include[c] = [i[1] for i in items] include[c] = [i[1] for i in items]
# Get all modules # Get all modules
@@ -1255,8 +1271,11 @@ def plugin():
functions = {} functions = {}
for c in controllers: for c in controllers:
data = safe_read(apath('%s/controllers/%s' % (app, c), r=request)) data = safe_read(apath('%s/controllers/%s' % (app, c), r=request))
items = find_exposed_functions(data) try:
functions[c] = items and sorted(items) or [] items = find_exposed_functions(data)
functions[c] = items and sorted(items) or []
except SyntaxError as err:
functions[c] = ['SyntaxError:Line:%d' % err.lineno]
# Get all views # Get all views
views = sorted( views = sorted(
@@ -1266,11 +1285,11 @@ def plugin():
include = {} include = {}
for c in views: for c in views:
data = safe_read(apath('%s/views/%s' % (app, c), r=request)) data = safe_read(apath('%s/views/%s' % (app, c), r=request))
items = regex_extend.findall(data) items = re.findall(REGEX_EXTEND, data, re.MULTILINE)
if items: if items:
extend[c] = items[0][1] extend[c] = items[0][1]
items = regex_include.findall(data) items = re.findall(REGEX_INCLUDE, data)
include[c] = [i[1] for i in items] include[c] = [i[1] for i in items]
# Get all modules # Get all modules
@@ -1861,7 +1880,6 @@ def user():
def reload_routes(): def reload_routes():
""" Reload routes.py """ """ Reload routes.py """
import gluon.rewrite
gluon.rewrite.load() gluon.rewrite.load()
redirect(URL('site')) redirect(URL('site'))
@@ -5,7 +5,7 @@ import re
import gzip import gzip
import tarfile import tarfile
from gluon.contrib.simplejsonrpc import ServerProxy from gluon.contrib.simplejsonrpc import ServerProxy
from gluon._compat import StringIO, ProtocolError from gluon._compat import StringIO, ProtocolError, urlencode, urllib2
def deploy(): def deploy():
response.title = T('Deploy to pythonanywhere') response.title = T('Deploy to pythonanywhere')
@@ -26,9 +26,8 @@ def create_account():
except ProtocolError as error: except ProtocolError as error:
pass pass
import urllib, urllib2
url = 'https://www.pythonanywhere.com/api/web2py/create_account' url = 'https://www.pythonanywhere.com/api/web2py/create_account'
data = urllib.urlencode(request.vars) data = urlencode(request.vars)
req = urllib2.Request(url, data) req = urllib2.Request(url, data)
try: try:
-2
View File
@@ -1,2 +0,0 @@
10 * * * * root **applications/admin/cron/expire_sessions.py
+103
View File
@@ -16,7 +16,23 @@
'(something like "it-it")': '(iets soos "it-it")', '(something like "it-it")': '(iets soos "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Soek: **%s** lêre', '@markmin\x01Searching: **%s** %%{file}': 'Soek: **%s** lêre',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'Abort': 'Abort', 'Abort': 'Abort',
'About': 'oor', 'About': 'oor',
'About application': 'Oor program', 'About application': 'Oor program',
@@ -45,6 +61,7 @@
'application is compiled and cannot be designed': 'application is compiled and cannot be designed', 'application is compiled and cannot be designed': 'application is compiled and cannot be designed',
'Application name:': 'Program naam:', 'Application name:': 'Program naam:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?', 'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?',
@@ -59,6 +76,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!', 'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
'back': 'back', 'back': 'back',
@@ -85,6 +103,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'verander admin wagwoord', 'Change admin password': 'verander admin wagwoord',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'check all', 'check all': 'check all',
'Check for upgrades': 'soek vir upgrades', 'Check for upgrades': 'soek vir upgrades',
@@ -95,8 +114,10 @@
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Clear CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Clear DISK',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'Client IP': 'Client IP',
'code': 'code', 'code': 'code',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': 'collapse/expand all', 'collapse/expand all': 'collapse/expand all',
@@ -152,6 +173,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'design', 'design': 'design',
'Detailed traceback description': 'Detailed traceback description', 'Detailed traceback description': 'Detailed traceback description',
@@ -178,6 +200,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'aflaai plugins', 'download plugins': 'aflaai plugins',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'Edit': 'wysig', 'Edit': 'wysig',
'edit all': 'edit all', 'edit all': 'edit all',
'Edit application': 'Wysig program', 'Edit application': 'Wysig program',
@@ -189,6 +212,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -225,8 +251,10 @@
'filter': 'filter', 'filter': 'filter',
'Find Next': 'Find Next', 'Find Next': 'Find Next',
'Find Previous': 'Find Previous', 'Find Previous': 'Find Previous',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.', 'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -241,6 +269,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'hulp', 'Help': 'hulp',
'here': 'here', 'here': 'here',
'Hide/Show Translated strings': 'Hide/Show Translated strings', 'Hide/Show Translated strings': 'Hide/Show Translated strings',
@@ -257,11 +289,13 @@
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'includes', 'includes': 'includes',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'inspect attributes': 'inspect attributes', 'inspect attributes': 'inspect attributes',
'Install': 'installeer', 'Install': 'installeer',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Geinstalleerde apps', 'Installed applications': 'Geinstalleerde apps',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'internal error', 'internal error': 'internal error',
@@ -270,21 +304,31 @@
'Invalid action': 'Invalid action', 'Invalid action': 'Invalid action',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'invalid password', 'invalid password': 'invalid password',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Invalid Query', 'Invalid Query': 'Invalid Query',
'invalid request': 'invalid request', 'invalid request': 'invalid request',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'invalid ticket', 'invalid ticket': 'invalid ticket',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated', 'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated',
'Language files (static strings) updated': 'Language files (static strings) updated', 'Language files (static strings) updated': 'Language files (static strings) updated',
'languages': 'tale', 'languages': 'tale',
'Languages': 'Tale', 'Languages': 'Tale',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Last saved on:', 'Last saved on:': 'Last saved on:',
'License for': 'Lisensie vir', 'License for': 'Lisensie vir',
@@ -298,7 +342,11 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Login', 'Login': 'Login',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Login to the Administrative Interface', 'Login to the Administrative Interface': 'Login to the Administrative Interface',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -319,10 +367,12 @@
'Modules': 'Modules', 'Modules': 'Modules',
'modules': 'modules', 'modules': 'modules',
'Multi User Mode': 'Multi User Mode', 'Multi User Mode': 'Multi User Mode',
'Name': 'Name',
'new application "%s" created': 'new application "%s" created', 'new application "%s" created': 'new application "%s" created',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'Nuwe app wizard', 'New application wizard': 'Nuwe app wizard',
'New password': 'New password',
'new plugin installed': 'new plugin installed', 'new plugin installed': 'new plugin installed',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'New Record', 'New Record': 'New Record',
@@ -341,6 +391,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -348,6 +400,7 @@
'or alternatively': 'or alternatively', 'or alternatively': 'or alternatively',
'Or Get from URL:': 'Or Get from URL:', 'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'or import from csv file', 'or import from csv file': 'or import from csv file',
'Origin': 'Origin',
'Original/Translation': 'Original/Translation', 'Original/Translation': 'Original/Translation',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'skryf oor geinstalleerde program', 'Overwrite installed app': 'skryf oor geinstalleerde program',
@@ -355,7 +408,12 @@
'Pack compiled': 'Pack compiled', 'Pack compiled': 'Pack compiled',
'Pack custom': 'Pack custom', 'Pack custom': 'Pack custom',
'pack plugin': 'pack plugin', 'pack plugin': 'pack plugin',
'Password': 'Password',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -363,6 +421,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted',
'Plugin "%s" in application': 'Plugin "%s" in application', 'Plugin "%s" in application': 'Plugin "%s" in application',
@@ -378,6 +437,7 @@
'previous %s rows': 'previous %s rows', 'previous %s rows': 'previous %s rows',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -393,19 +453,35 @@
'Ram Cleared': 'Ram Cleared', 'Ram Cleared': 'Ram Cleared',
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'record does not exist', 'record does not exist': 'record does not exist',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Remove compiled', 'Remove compiled': 'Remove compiled',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Resolve Conflict file', 'Resolve Conflict file': 'Resolve Conflict file',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -441,6 +517,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'site', 'Site': 'site',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -490,7 +567,9 @@
'There are no views': 'There are no views', 'There are no views': 'There are no views',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'Hierdie lêre is sonder veranderinge geserved, jou images gaan hier', 'These files are served without processing, your images go here': 'Hierdie lêre is sonder veranderinge geserved, jou images gaan hier',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
"This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.", "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.",
@@ -502,6 +581,7 @@
'Ticket ID': 'Ticket ID', 'Ticket ID': 'Ticket ID',
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Ticket Missing',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'to previous version.': 'to previous version.', 'to previous version.': 'to previous version.',
'To create a plugin, name a file/folder plugin_[name]': 'Om n plugin te skep, noem n lêer/gids plugin_[name]', 'To create a plugin, name a file/folder plugin_[name]': 'Om n plugin te skep, noem n lêer/gids plugin_[name]',
'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:', 'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:',
@@ -514,6 +594,7 @@
'try something like': 'try something like', 'try something like': 'try something like',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Unable to check for upgrades', 'Unable to check for upgrades': 'Unable to check for upgrades',
@@ -527,6 +608,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'unable to parse csv file', 'unable to parse csv file': 'unable to parse csv file',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'unable to uninstall "%s"', 'unable to uninstall "%s"': 'unable to uninstall "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': 'uncheck all', 'uncheck all': 'uncheck all',
@@ -547,10 +629,25 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'Use an url:': 'Gebruik n url:', 'Use an url:': 'Gebruik n url:',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Verify Password',
'Version': 'Version', 'Version': 'Version',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'versioning': 'versioning', 'versioning': 'versioning',
@@ -569,14 +666,20 @@
'web2py Recent Tweets': 'web2py Onlangse Tweets', 'web2py Recent Tweets': 'web2py Onlangse Tweets',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
'YES': 'YES', 'YES': 'YES',
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+103
View File
@@ -16,7 +16,23 @@
'(something like "it-it")': '(something like "it-it")', '(something like "it-it")': '(something like "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files', '@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'A new version of web2py is available', 'A new version of web2py is available': 'A new version of web2py is available',
'A new version of web2py is available: %s': 'A new version of web2py is available: %s', 'A new version of web2py is available: %s': 'A new version of web2py is available: %s',
'Abort': 'Abort', 'Abort': 'Abort',
@@ -50,6 +66,7 @@
'application is compiled and cannot be designed': 'application is compiled and cannot be designed', 'application is compiled and cannot be designed': 'application is compiled and cannot be designed',
'Application name:': 'Application name:', 'Application name:': 'Application name:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?', 'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?',
@@ -66,6 +83,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!', 'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Available databases and tables', 'Available databases and tables': 'Available databases and tables',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -94,6 +112,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'change admin password', 'Change admin password': 'change admin password',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'check all', 'check all': 'check all',
'Check for upgrades': 'check for upgrades', 'Check for upgrades': 'check for upgrades',
@@ -106,9 +125,11 @@
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'click here for online examples': 'щракни тук за онлайн примери', 'click here for online examples': 'щракни тук за онлайн примери',
'click here for the administrative interface': 'щракни тук за административния интерфейс', 'click here for the administrative interface': 'щракни тук за административния интерфейс',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'click to check for upgrades', 'click to check for upgrades': 'click to check for upgrades',
'Client IP': 'Client IP',
'code': 'code', 'code': 'code',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': 'collapse/expand all', 'collapse/expand all': 'collapse/expand all',
@@ -168,6 +189,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'дизайн', 'design': 'дизайн',
'DESIGN': 'DESIGN', 'DESIGN': 'DESIGN',
@@ -196,6 +218,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'download plugins', 'download plugins': 'download plugins',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'EDIT': 'EDIT', 'EDIT': 'EDIT',
'Edit': 'edit', 'Edit': 'edit',
'edit all': 'edit all', 'edit all': 'edit all',
@@ -211,6 +234,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -250,8 +276,10 @@
'filter': 'filter', 'filter': 'filter',
'Find Next': 'Find Next', 'Find Next': 'Find Next',
'Find Previous': 'Find Previous', 'Find Previous': 'Find Previous',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.', 'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -267,6 +295,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': 'Здравей, свят', 'Hello World': 'Здравей, свят',
'Help': 'help', 'Help': 'help',
'here': 'here', 'here': 'here',
@@ -285,6 +317,7 @@
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'includes', 'includes': 'includes',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'insert new': 'insert new', 'insert new': 'insert new',
'insert new %s': 'insert new %s', 'insert new %s': 'insert new %s',
@@ -292,6 +325,7 @@
'Install': 'install', 'Install': 'install',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Installed applications', 'Installed applications': 'Installed applications',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'internal error', 'internal error': 'internal error',
@@ -300,15 +334,24 @@
'Invalid action': 'Invalid action', 'Invalid action': 'Invalid action',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'invalid password', 'invalid password': 'invalid password',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Невалидна заявка', 'Invalid Query': 'Невалидна заявка',
'invalid request': 'невалидна заявка', 'invalid request': 'невалидна заявка',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'invalid ticket', 'invalid ticket': 'invalid ticket',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated', 'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated',
@@ -316,6 +359,7 @@
'languages': 'languages', 'languages': 'languages',
'Languages': 'Languages', 'Languages': 'Languages',
'languages updated': 'languages updated', 'languages updated': 'languages updated',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Last saved on:', 'Last saved on:': 'Last saved on:',
'License for': 'License for', 'License for': 'License for',
@@ -329,8 +373,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Login', 'Login': 'Login',
'login': 'login', 'login': 'login',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Login to the Administrative Interface', 'Login to the Administrative Interface': 'Login to the Administrative Interface',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -351,10 +399,12 @@
'Modules': 'Modules', 'Modules': 'Modules',
'modules': 'modules', 'modules': 'modules',
'Multi User Mode': 'Multi User Mode', 'Multi User Mode': 'Multi User Mode',
'Name': 'Name',
'new application "%s" created': 'new application "%s" created', 'new application "%s" created': 'new application "%s" created',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'New application wizard', 'New application wizard': 'New application wizard',
'New password': 'New password',
'new plugin installed': 'new plugin installed', 'new plugin installed': 'new plugin installed',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'New Record', 'New Record': 'New Record',
@@ -374,6 +424,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -383,6 +435,7 @@
'or import from csv file': 'or import from csv file', 'or import from csv file': 'or import from csv file',
'or provide app url:': 'or provide app url:', 'or provide app url:': 'or provide app url:',
'or provide application url:': 'or provide application url:', 'or provide application url:': 'or provide application url:',
'Origin': 'Origin',
'Original/Translation': 'Original/Translation', 'Original/Translation': 'Original/Translation',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'overwrite installed app', 'Overwrite installed app': 'overwrite installed app',
@@ -391,7 +444,12 @@
'Pack custom': 'Pack custom', 'Pack custom': 'Pack custom',
'pack plugin': 'pack plugin', 'pack plugin': 'pack plugin',
'PAM authenticated user, cannot change password here': 'PAM authenticated user, cannot change password here', 'PAM authenticated user, cannot change password here': 'PAM authenticated user, cannot change password here',
'Password': 'Password',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -399,6 +457,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted',
'Plugin "%s" in application': 'Plugin "%s" in application', 'Plugin "%s" in application': 'Plugin "%s" in application',
@@ -415,6 +474,7 @@
'previous 100 rows': 'previous 100 rows', 'previous 100 rows': 'previous 100 rows',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -431,20 +491,36 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': 'record', 'record': 'record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'записът не съществува', 'record does not exist': 'записът не съществува',
'record id': 'record id', 'record id': 'record id',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'remove compiled', 'Remove compiled': 'remove compiled',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Resolve Conflict file', 'Resolve Conflict file': 'Resolve Conflict file',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -483,6 +559,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'site', 'Site': 'site',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -537,7 +614,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'these files are served without processing, your images go here': 'these files are served without processing, your images go here', 'these files are served without processing, your images go here': 'these files are served without processing, your images go here',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'This is the %(filename)s template', 'This is the %(filename)s template': 'This is the %(filename)s template',
@@ -550,6 +629,7 @@
'Ticket ID': 'Ticket ID', 'Ticket ID': 'Ticket ID',
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Ticket Missing',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'TM': 'TM', 'TM': 'TM',
'to previous version.': 'to previous version.', 'to previous version.': 'to previous version.',
'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]', 'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]',
@@ -565,6 +645,7 @@
'try something like': 'try something like', 'try something like': 'try something like',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Unable to check for upgrades', 'Unable to check for upgrades': 'Unable to check for upgrades',
@@ -580,6 +661,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'не е възможна обработката на csv файла', 'unable to parse csv file': 'не е възможна обработката на csv файла',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'unable to uninstall "%s"', 'unable to uninstall "%s"': 'unable to uninstall "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': 'uncheck all', 'uncheck all': 'uncheck all',
@@ -603,10 +685,25 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'Use an url:': 'Use an url:', 'Use an url:': 'Use an url:',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Verify Password',
'Version': 'Version', 'Version': 'Version',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'versioning': 'versioning', 'versioning': 'versioning',
@@ -626,6 +723,7 @@
'web2py Recent Tweets': 'web2py Recent Tweets', 'web2py Recent Tweets': 'web2py Recent Tweets',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py': 'Добре дошъл в web2py', 'Welcome to web2py': 'Добре дошъл в web2py',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
@@ -633,8 +731,13 @@
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+69
View File
@@ -19,8 +19,23 @@
'(something like "it-it")': '(například "cs-cs")', '(something like "it-it")': '(například "cs-cs")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(soubor **gluon/contrib/plural_rules/%s.py** nenalezen)', '@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(soubor **gluon/contrib/plural_rules/%s.py** nenalezen)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Hledání: **%s** %%{soubor}', '@markmin\x01Searching: **%s** %%{file}': 'Hledání: **%s** %%{soubor}',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'Abort': 'Abort', 'Abort': 'Abort',
'About': 'O programu', 'About': 'O programu',
'About application': 'O aplikaci', 'About application': 'O aplikaci',
@@ -54,6 +69,7 @@
'application is compiled and cannot be designed': 'application is compiled and cannot be designed', 'application is compiled and cannot be designed': 'application is compiled and cannot be designed',
'Application name:': 'Název aplikace:', 'Application name:': 'Název aplikace:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'nepoužita', 'are not used': 'nepoužita',
'are not used yet': 'ještě nepoužita', 'are not used yet': 'ještě nepoužita',
'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?', 'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?',
@@ -68,6 +84,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!', 'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available Databases and Tables': 'Dostupné databáze a tabulky', 'Available Databases and Tables': 'Dostupné databáze a tabulky',
'back': 'zpět', 'back': 'zpět',
@@ -107,6 +124,7 @@
'Clear CACHE?': 'Vymazat CACHE?', 'Clear CACHE?': 'Vymazat CACHE?',
'Clear DISK': 'Vymazat DISK', 'Clear DISK': 'Vymazat DISK',
'Clear RAM': 'Vymazat RAM', 'Clear RAM': 'Vymazat RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Pro rozbalení stopy, klikněte na řádek', 'Click row to expand traceback': 'Pro rozbalení stopy, klikněte na řádek',
'Click row to view a ticket': 'Pro zobrazení chyby (ticketu), klikněte na řádku...', 'Click row to view a ticket': 'Pro zobrazení chyby (ticketu), klikněte na řádku...',
'Client IP': 'IP adresa klienta', 'Client IP': 'IP adresa klienta',
@@ -220,6 +238,9 @@
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email and SMS': 'Email a SMS', 'Email and SMS': 'Email a SMS',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Odblokovat', 'Enable': 'Odblokovat',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -268,6 +289,7 @@
'Forms and Validators': 'Formuláře a validátory', 'Forms and Validators': 'Formuláře a validátory',
'Frames': 'Frames', 'Frames': 'Frames',
'Free Applications': 'Aplikace zdarma', 'Free Applications': 'Aplikace zdarma',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.', 'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -284,7 +306,9 @@
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Skupina %(group_id)s vytvořena', 'Group %(group_id)s created': 'Skupina %(group_id)s vytvořena',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID skupiny', 'Group ID': 'ID skupiny',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Groups': 'Skupiny', 'Groups': 'Skupiny',
'Hello World': 'Ahoj světe', 'Hello World': 'Ahoj světe',
'Help': 'Nápověda', 'Help': 'Nápověda',
@@ -304,6 +328,7 @@
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'zahrnuje', 'includes': 'zahrnuje',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'Index': 'Index', 'Index': 'Index',
'insert new': 'vložit nový záznam ', 'insert new': 'vložit nový záznam ',
@@ -312,6 +337,7 @@
'Install': 'Instalovat', 'Install': 'Instalovat',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Nainstalované aplikace', 'Installed applications': 'Nainstalované aplikace',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interakce v %s, na řádce %s', 'Interaction at %s line %s': 'Interakce v %s, na řádce %s',
'Interactive console': 'Interaktivní příkazová řádka', 'Interactive console': 'Interaktivní příkazová řádka',
'internal error': 'internal error', 'internal error': 'internal error',
@@ -323,19 +349,26 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Neplatný email', 'Invalid email': 'Neplatný email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'Invalid password': 'Nesprávné heslo', 'Invalid password': 'Nesprávné heslo',
'invalid password': 'invalid password', 'invalid password': 'invalid password',
'invalid password.': 'neplatné heslo', 'invalid password.': 'neplatné heslo',
'Invalid Query': 'Neplatný dotaz', 'Invalid Query': 'Neplatný dotaz',
'invalid request': 'Neplatný požadavek', 'invalid request': 'Neplatný požadavek',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'invalid ticket', 'invalid ticket': 'invalid ticket',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Is Active': 'Je aktivní', 'Is Active': 'Je aktivní',
'It is %s %%{day} today.': 'Dnes je to %s %%{den}.', 'It is %s %%{day} today.': 'Dnes je to %s %%{den}.',
'Key': 'Klíč', 'Key': 'Klíč',
'Key bindings': 'Vazby klíčů', 'Key bindings': 'Vazby klíčů',
'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin', 'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated', 'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated',
@@ -361,10 +394,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Lokální proměnné', 'Locals##debug': 'Lokální proměnné',
'Log In': 'Log In',
'Logged in': 'Přihlášení proběhlo úspěšně', 'Logged in': 'Přihlášení proběhlo úspěšně',
'Logged out': 'Odhlášení proběhlo úspěšně', 'Logged out': 'Odhlášení proběhlo úspěšně',
'login': 'přihlásit se', 'login': 'přihlásit se',
'Login': 'Přihlásit se', 'Login': 'Přihlásit se',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Přihlásit se do Správce aplikací', 'Login to the Administrative Interface': 'Přihlásit se do Správce aplikací',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -442,7 +477,10 @@
'Password': 'Heslo', 'Password': 'Heslo',
'password': 'heslo', 'password': 'heslo',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": 'Hesla se neshodují', "Password fields don't match": 'Hesla se neshodují',
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -450,6 +488,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Prosím', 'Please': 'Prosím',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted',
'Plugin "%s" in application': 'Plugin "%s" in application', 'Plugin "%s" in application': 'Plugin "%s" in application',
@@ -468,6 +507,7 @@
'Private files': 'Soukromé soubory', 'Private files': 'Soukromé soubory',
'private files': 'soukromé soubory', 'private files': 'soukromé soubory',
'profile': 'profil', 'profile': 'profil',
'Profile updated': 'Profile updated',
'Project Progress': 'Vývoj projektu', 'Project Progress': 'Vývoj projektu',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -487,14 +527,24 @@
'Readme': 'Nápověda', 'Readme': 'Nápověda',
'Recipes': 'Postupy jak na to', 'Recipes': 'Postupy jak na to',
'Record': 'Záznam', 'Record': 'Záznam',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'záznam neexistuje', 'record does not exist': 'záznam neexistuje',
'Record ID': 'ID záznamu', 'Record ID': 'ID záznamu',
'Record id': 'id záznamu', 'Record id': 'id záznamu',
'Record Updated': 'Record Updated',
'refresh': 'obnovte', 'refresh': 'obnovte',
'register': 'registrovat', 'register': 'registrovat',
'Register': 'Zaregistrovat se', 'Register': 'Zaregistrovat se',
'Registration identifier': 'Registrační identifikátor', 'Registration identifier': 'Registrační identifikátor',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registrační klíč', 'Registration key': 'Registrační klíč',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'reload': 'reload', 'reload': 'reload',
'Reload routes': 'Znovu nahrát cesty', 'Reload routes': 'Znovu nahrát cesty',
'Remember me (for 30 days)': 'Zapamatovat na 30 dní', 'Remember me (for 30 days)': 'Zapamatovat na 30 dní',
@@ -504,6 +554,7 @@
'Replace All': 'Zaměnit vše', 'Replace All': 'Zaměnit vše',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset registračního klíče', 'Reset Password key': 'Reset registračního klíče',
@@ -545,6 +596,7 @@
'Set Breakpoint on %s at line %s: %s': 'Bod přerušení nastaven v souboru %s na řádce %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Bod přerušení nastaven v souboru %s na řádce %s: %s',
'shell': 'příkazová řádka', 'shell': 'příkazová řádka',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Správa aplikací', 'Site': 'Správa aplikací',
'Size of cache:': 'Velikost cache:', 'Size of cache:': 'Velikost cache:',
@@ -601,7 +653,9 @@
'These files are not served, they are only available from within your app': 'Tyto soubory jsou klientům nepřístupné. K dispozici jsou pouze v rámci aplikace.', 'These files are not served, they are only available from within your app': 'Tyto soubory jsou klientům nepřístupné. K dispozici jsou pouze v rámci aplikace.',
'These files are served without processing, your images go here': 'Tyto soubory jsou servírovány bez přídavné logiky, sem patří např. obrázky.', 'These files are served without processing, your images go here': 'Tyto soubory jsou servírovány bez přídavné logiky, sem patří např. obrázky.',
'This App': 'Tato aplikace', 'This App': 'Tato aplikace',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is a copy of the scaffolding application': 'Toto je kopie aplikace skelet.', 'This is a copy of the scaffolding application': 'Toto je kopie aplikace skelet.',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
@@ -630,6 +684,7 @@
'Try the mobile interface': 'Zkuste rozhraní pro mobilní zařízení', 'Try the mobile interface': 'Zkuste rozhraní pro mobilní zařízení',
'try view': 'try view', 'try view': 'try view',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type python statement in here and hit Return (Enter) to execute it.': 'Type python statement in here and hit Return (Enter) to execute it.', 'Type python statement in here and hit Return (Enter) to execute it.': 'Type python statement in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
@@ -644,6 +699,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'csv soubor nedá sa zpracovat', 'unable to parse csv file': 'csv soubor nedá sa zpracovat',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'unable to uninstall "%s"', 'unable to uninstall "%s"': 'unable to uninstall "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': 'vše odznačit', 'uncheck all': 'vše odznačit',
@@ -663,14 +719,21 @@
'upload plugin file:': 'nahrát soubor modulu:', 'upload plugin file:': 'nahrát soubor modulu:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použijte (...)&(...) pro AND, (...)|(...) pro OR a ~(...) pro NOT pro sestavení složitějších dotazů.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použijte (...)&(...) pro AND, (...)|(...) pro OR a ~(...) pro NOT pro sestavení složitějších dotazů.',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'Uživatel %(id)s přihlášen', 'User %(id)s Logged-in': 'Uživatel %(id)s přihlášen',
'User %(id)s Logged-out': 'Uživatel %(id)s odhlášen', 'User %(id)s Logged-out': 'Uživatel %(id)s odhlášen',
'User %(id)s Password changed': 'Uživatel %(id)s změnil heslo', 'User %(id)s Password changed': 'Uživatel %(id)s změnil heslo',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'Uživatel %(id)s upravil profil', 'User %(id)s Profile updated': 'Uživatel %(id)s upravil profil',
'User %(id)s Registered': 'Uživatel %(id)s se zaregistroval', 'User %(id)s Registered': 'Uživatel %(id)s se zaregistroval',
'User %(id)s Username retrieved': 'Uživatel %(id)s si nachal zaslat přihlašovací jméno', 'User %(id)s Username retrieved': 'Uživatel %(id)s si nachal zaslat přihlašovací jméno',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID uživatele', 'User ID': 'ID uživatele',
'Username': 'Přihlašovací jméno', 'Username': 'Přihlašovací jméno',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
@@ -696,6 +759,7 @@
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome': 'Vítejte', 'Welcome': 'Vítejte',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py': 'Vitejte ve web2py', 'Welcome to web2py': 'Vitejte ve web2py',
'Welcome to web2py!': 'Vítejte ve web2py!', 'Welcome to web2py!': 'Vítejte ve web2py!',
'Which called the function %s located in the file %s': 'která zavolala funkci %s v souboru (kontroléru) %s.', 'Which called the function %s located in the file %s': 'která zavolala funkci %s v souboru (kontroléru) %s.',
@@ -708,9 +772,14 @@
'You can inspect variables using the console bellow': 'Níže pomocí příkazové řádky si můžete prohlédnout proměnné', 'You can inspect variables using the console bellow': 'Níže pomocí příkazové řádky si můžete prohlédnout proměnné',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You can modify this application and adapt it to your needs': 'Tuto aplikaci si můžete upravit a přizpůsobit ji svým potřebám.', 'You can modify this application and adapt it to your needs': 'Tuto aplikaci si můžete upravit a přizpůsobit ji svým potřebám.',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'Je třeba nejprve nastavit a dojít až na', 'You need to set up and reach a': 'Je třeba nejprve nastavit a dojít až na',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'You visited the url %s': 'Navštívili jste stránku %s,', 'You visited the url %s': 'Navštívili jste stránku %s,',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Aplikace bude blokována než se klikne na jedno z tlačítek (další, krok, pokračovat, atd.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Aplikace bude blokována než se klikne na jedno z tlačítek (další, krok, pokračovat, atd.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+353 -267
View File
File diff suppressed because it is too large Load Diff
+104
View File
@@ -15,6 +15,23 @@
'(something like "it-it")': '(something like "it-it")', '(something like "it-it")': '(something like "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** %%{file}',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'Abort': 'Abort', 'Abort': 'Abort',
'About': 'About', 'About': 'About',
'About application': 'About application', 'About application': 'About application',
@@ -43,6 +60,7 @@
'application is compiled and cannot be designed': 'application is compiled and cannot be designed', 'application is compiled and cannot be designed': 'application is compiled and cannot be designed',
'Application name:': 'Application name:', 'Application name:': 'Application name:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?', 'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?',
@@ -57,6 +75,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!', 'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
'back': 'back', 'back': 'back',
@@ -83,6 +102,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'Change admin password', 'Change admin password': 'Change admin password',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'check all', 'check all': 'check all',
'Check for upgrades': 'Check for upgrades', 'Check for upgrades': 'Check for upgrades',
@@ -93,8 +113,10 @@
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Clear CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Clear DISK',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'Client IP': 'Client IP',
'code': 'code', 'code': 'code',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': 'collapse/expand all', 'collapse/expand all': 'collapse/expand all',
@@ -150,6 +172,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'design', 'design': 'design',
'Detailed traceback description': 'Detailed traceback description', 'Detailed traceback description': 'Detailed traceback description',
@@ -176,6 +199,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'download plugins', 'download plugins': 'download plugins',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'Edit': 'Edit', 'Edit': 'Edit',
'edit all': 'edit all', 'edit all': 'edit all',
'Edit application': 'Edit application', 'Edit application': 'Edit application',
@@ -187,6 +211,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -223,8 +250,10 @@
'filter': 'filter', 'filter': 'filter',
'Find Next': 'Find Next', 'Find Next': 'Find Next',
'Find Previous': 'Find Previous', 'Find Previous': 'Find Previous',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.', 'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -239,6 +268,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'graph model': 'graph model', 'graph model': 'graph model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'Help', 'Help': 'Help',
'here': 'here', 'here': 'here',
'Hide/Show Translated strings': 'Hide/Show Translated strings', 'Hide/Show Translated strings': 'Hide/Show Translated strings',
@@ -255,11 +288,13 @@
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'includes', 'includes': 'includes',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'inspect attributes': 'inspect attributes', 'inspect attributes': 'inspect attributes',
'Install': 'Install', 'Install': 'Install',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Installed applications', 'Installed applications': 'Installed applications',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'internal error', 'internal error': 'internal error',
@@ -268,21 +303,31 @@
'Invalid action': 'Invalid action', 'Invalid action': 'Invalid action',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'invalid password', 'invalid password': 'invalid password',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Invalid Query', 'Invalid Query': 'Invalid Query',
'invalid request': 'invalid request', 'invalid request': 'invalid request',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'invalid ticket', 'invalid ticket': 'invalid ticket',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated', 'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated',
'Language files (static strings) updated': 'Language files (static strings) updated', 'Language files (static strings) updated': 'Language files (static strings) updated',
'languages': 'languages', 'languages': 'languages',
'Languages': 'Languages', 'Languages': 'Languages',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Last saved on:', 'Last saved on:': 'Last saved on:',
'License for': 'License for', 'License for': 'License for',
@@ -295,7 +340,11 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Login', 'Login': 'Login',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Login to the Administrative Interface', 'Login to the Administrative Interface': 'Login to the Administrative Interface',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -316,10 +365,12 @@
'Modules': 'Modules', 'Modules': 'Modules',
'modules': 'modules', 'modules': 'modules',
'Multi User Mode': 'Multi User Mode', 'Multi User Mode': 'Multi User Mode',
'Name': 'Name',
'new application "%s" created': 'new application "%s" created', 'new application "%s" created': 'new application "%s" created',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'New application wizard', 'New application wizard': 'New application wizard',
'New password': 'New password',
'new plugin installed': 'new plugin installed', 'new plugin installed': 'new plugin installed',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'New Record', 'New Record': 'New Record',
@@ -338,6 +389,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -345,6 +398,7 @@
'or alternatively': 'or alternatively', 'or alternatively': 'or alternatively',
'Or Get from URL:': 'Or Get from URL:', 'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'or import from csv file', 'or import from csv file': 'or import from csv file',
'Origin': 'Origin',
'Original/Translation': 'Original/Translation', 'Original/Translation': 'Original/Translation',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'Overwrite installed app', 'Overwrite installed app': 'Overwrite installed app',
@@ -352,7 +406,12 @@
'Pack compiled': 'Pack compiled', 'Pack compiled': 'Pack compiled',
'Pack custom': 'Pack custom', 'Pack custom': 'Pack custom',
'pack plugin': 'pack plugin', 'pack plugin': 'pack plugin',
'Password': 'Password',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -360,6 +419,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted',
'Plugin "%s" in application': 'Plugin "%s" in application', 'Plugin "%s" in application': 'Plugin "%s" in application',
@@ -375,6 +435,7 @@
'previous %s rows': 'previous %s rows', 'previous %s rows': 'previous %s rows',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -390,19 +451,35 @@
'Ram Cleared': 'Ram Cleared', 'Ram Cleared': 'Ram Cleared',
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'record does not exist', 'record does not exist': 'record does not exist',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Remove compiled', 'Remove compiled': 'Remove compiled',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Resolve Conflict file', 'Resolve Conflict file': 'Resolve Conflict file',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -438,6 +515,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Site', 'Site': 'Site',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -486,7 +564,9 @@
'There are no views': 'There are no views', 'There are no views': 'There are no views',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
"This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.", "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.",
@@ -498,6 +578,7 @@
'Ticket ID': 'Ticket ID', 'Ticket ID': 'Ticket ID',
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Ticket Missing',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'to previous version.': 'to previous version.', 'to previous version.': 'to previous version.',
'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]', 'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]',
'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:', 'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:',
@@ -510,6 +591,7 @@
'try something like': 'try something like', 'try something like': 'try something like',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Unable to check for upgrades', 'Unable to check for upgrades': 'Unable to check for upgrades',
@@ -523,6 +605,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'unable to parse csv file', 'unable to parse csv file': 'unable to parse csv file',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'unable to uninstall "%s"', 'unable to uninstall "%s"': 'unable to uninstall "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': 'uncheck all', 'uncheck all': 'uncheck all',
@@ -541,10 +624,25 @@
'upload plugin file:': 'upload plugin file:', 'upload plugin file:': 'upload plugin file:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Verify Password',
'Version': 'Version', 'Version': 'Version',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'Views': 'Views', 'Views': 'Views',
@@ -561,14 +659,20 @@
'web2py online debugger': 'web2py online debugger', 'web2py online debugger': 'web2py online debugger',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
'YES': 'YES', 'YES': 'YES',
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+86
View File
@@ -15,10 +15,23 @@
'(something like "it-it")': '(algo como "it-it")', '(something like "it-it")': '(algo como "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(archivo **gluon/contrib/plural_rules/%s.py** no se ha encontrado)', '@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(archivo **gluon/contrib/plural_rules/%s.py** no se ha encontrado)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ocurrió un error, por favor [[recargue %s]] la página', '@markmin\x01An error occured, please [[reload %s]] the page': 'Ocurrió un error, por favor [[recargue %s]] la página',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Número de entradas: **%s**', '@markmin\x01Number of entries: **%s**': 'Número de entradas: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Buscando: **%s** archivos', '@markmin\x01Searching: **%s** %%{file}': 'Buscando: **%s** archivos',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'Hay una nueva versión de web2py disponible', 'A new version of web2py is available': 'Hay una nueva versión de web2py disponible',
'A new version of web2py is available: %s': 'Hay una nueva versión de web2py disponible: %s', 'A new version of web2py is available: %s': 'Hay una nueva versión de web2py disponible: %s',
'Abort': 'Abort', 'Abort': 'Abort',
@@ -54,6 +67,7 @@
'application is compiled and cannot be designed': 'la aplicación está compilada y no puede ser modificada', 'application is compiled and cannot be designed': 'la aplicación está compilada y no puede ser modificada',
'Application name:': 'Nombre de la aplicación:', 'Application name:': 'Nombre de la aplicación:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': '¿Está seguro que desea eliminar el archivo "%s"?', 'Are you sure you want to delete file "%s"?': '¿Está seguro que desea eliminar el archivo "%s"?',
@@ -70,6 +84,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENCIÓN: Inicio de sesión requiere una conexión segura (HTTPS) o localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENCIÓN: Inicio de sesión requiere una conexión segura (HTTPS) o localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCIÓN: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCIÓN: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.',
'ATTENTION: you cannot edit the running application!': 'ATENCIÓN: ¡no puede modificar la aplicación que se ejecuta!', 'ATTENTION: you cannot edit the running application!': 'ATENCIÓN: ¡no puede modificar la aplicación que se ejecuta!',
'Authentication code': 'Authentication code',
'Autocomplete': 'Autocompletar', 'Autocomplete': 'Autocompletar',
'Autocomplete Python Code': 'Autocompletar código Python', 'Autocomplete Python Code': 'Autocompletar código Python',
'Available databases and tables': 'Bases de datos y tablas disponibles', 'Available databases and tables': 'Bases de datos y tablas disponibles',
@@ -101,6 +116,7 @@
'Change admin password': 'cambie contraseña admin', 'Change admin password': 'cambie contraseña admin',
'change editor settings': 'cambiar la configuración del editor', 'change editor settings': 'cambiar la configuración del editor',
'Change Password': 'Cambie Contraseña', 'Change Password': 'Cambie Contraseña',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'marcar todos', 'check all': 'marcar todos',
'Check for upgrades': 'buscar actualizaciones', 'Check for upgrades': 'buscar actualizaciones',
@@ -113,6 +129,7 @@
'Clear RAM': 'Limpiar RAM', 'Clear RAM': 'Limpiar RAM',
'click here for online examples': 'haga click aquí para ver ejemplos en línea', 'click here for online examples': 'haga click aquí para ver ejemplos en línea',
'click here for the administrative interface': 'haga click aquí para usar la interfaz administrativa', 'click here for the administrative interface': 'haga click aquí para usar la interfaz administrativa',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click en la fila para expandir el rastreo', 'Click row to expand traceback': 'Click en la fila para expandir el rastreo',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'haga clic para buscar actualizaciones', 'click to check for upgrades': 'haga clic para buscar actualizaciones',
@@ -233,6 +250,9 @@
'Editing ul': 'Editando ul', 'Editing ul': 'Editando ul',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Habilitar', 'Enable': 'Habilitar',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -277,6 +297,7 @@
'First name': 'Nombre', 'First name': 'Nombre',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Funciones sin doctests equivalen a pruebas [aceptadas].', 'Functions with no doctests will result in [passed] tests.': 'Funciones sin doctests equivalen a pruebas [aceptadas].',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -291,7 +312,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graficación del modelo', 'graph model': 'graficación del modelo',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID de Grupo', 'Group ID': 'ID de Grupo',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': 'Hola Mundo', 'Hello World': 'Hola Mundo',
'Help': 'ayuda', 'Help': 'ayuda',
'here': 'aquí', 'here': 'aquí',
@@ -311,6 +335,7 @@
'Import/Export': 'Importar/Exportar', 'Import/Export': 'Importar/Exportar',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'incluye', 'includes': 'incluye',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'insert new': 'inserte nuevo', 'insert new': 'inserte nuevo',
'insert new %s': 'inserte nuevo %s', 'insert new %s': 'inserte nuevo %s',
@@ -319,6 +344,7 @@
'Installation of %(plugin)s for %(app)s': 'Instalación de %(plugin)s para %(app)s', 'Installation of %(plugin)s for %(app)s': 'Instalación de %(plugin)s para %(app)s',
'Installation of %(plugin)s for %(app)s app': 'Instalación de %(plugin)s para %(app)s app', 'Installation of %(plugin)s for %(app)s app': 'Instalación de %(plugin)s para %(app)s app',
'Installed applications': 'Aplicaciones instaladas', 'Installed applications': 'Aplicaciones instaladas',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interacción en %s línea %s', 'Interaction at %s line %s': 'Interacción en %s línea %s',
'Interactive console': 'Terminal interactiva', 'Interactive console': 'Terminal interactiva',
'internal error': 'error interno', 'internal error': 'error interno',
@@ -329,16 +355,24 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Correo inválido', 'Invalid email': 'Correo inválido',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'contraseña inválida', 'invalid password': 'contraseña inválida',
'Invalid password': 'Invalid password',
'invalid password.': 'contraseña inválida.', 'invalid password.': 'contraseña inválida.',
'Invalid Query': 'Consulta inválida', 'Invalid Query': 'Consulta inválida',
'invalid request': 'solicitud inválida', 'invalid request': 'solicitud inválida',
'Invalid request': 'Petición inválida', 'Invalid request': 'Petición inválida',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'tiquete inválido', 'invalid ticket': 'tiquete inválido',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key bindings': 'Key bindings', 'Key bindings': 'Key bindings',
'Key bindings for ZenCoding Plugin': 'Key bindings para el Plugin ZenCoding', 'Key bindings for ZenCoding Plugin': 'Key bindings para el Plugin ZenCoding',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Atajos de teclado', 'Keyboard shortcuts': 'Atajos de teclado',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'archivo de lenguaje "%(filename)s" creado/actualizado', 'language file "%(filename)s" created/updated': 'archivo de lenguaje "%(filename)s" creado/actualizado',
@@ -360,8 +394,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals', 'Locals##debug': 'Locals',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'login': 'inicio de sesión', 'login': 'inicio de sesión',
'Login': 'Inicio de sesión', 'Login': 'Inicio de sesión',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Inicio de sesión para la Interfaz Administrativa', 'Login to the Administrative Interface': 'Inicio de sesión para la Interfaz Administrativa',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -389,6 +427,7 @@
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'Asistente para nueva aplicación', 'New application wizard': 'Asistente para nueva aplicación',
'New password': 'New password',
'new plugin installed': 'nuevo plugin instalado', 'new plugin installed': 'nuevo plugin instalado',
'New plugin installed: %s': 'Nuevo plugin instalado: %s', 'New plugin installed: %s': 'Nuevo plugin instalado: %s',
'New plugin installed: web2py.plugin.attachment.w2p': 'Nuevo plugin instalado: web2py.plugin.attachment.w2p', 'New plugin installed: web2py.plugin.attachment.w2p': 'Nuevo plugin instalado: web2py.plugin.attachment.w2p',
@@ -413,6 +452,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'online designer': 'diseñador en línea', 'online designer': 'diseñador en línea',
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
@@ -434,6 +475,10 @@
'PAM authenticated user, cannot change password here': 'usuario autenticado por PAM, no puede cambiar la contraseña aquí', 'PAM authenticated user, cannot change password here': 'usuario autenticado por PAM, no puede cambiar la contraseña aquí',
'Password': 'Contraseña', 'Password': 'Contraseña',
'password changed': 'contraseña cambiada', 'password changed': 'contraseña cambiada',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -441,6 +486,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Por favor', 'Please': 'Por favor',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'Plugin': 'Plugin', 'Plugin': 'Plugin',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" eliminado', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" eliminado',
@@ -458,6 +504,7 @@
'previous 100 rows': '100 filas anteriores', 'previous 100 rows': '100 filas anteriores',
'Private files': 'Archivos privados', 'Private files': 'Archivos privados',
'private files': 'archivos privados', 'private files': 'archivos privados',
'Profile updated': 'Profile updated',
'Project Progress': 'Progreso del Proyecto', 'Project Progress': 'Progreso del Proyecto',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -474,16 +521,28 @@
'Rapid Search': 'Búsqueda rápida', 'Rapid Search': 'Búsqueda rápida',
'Record': 'Record', 'Record': 'Record',
'record': 'registro', 'record': 'registro',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'el registro no existe', 'record does not exist': 'el registro no existe',
'record id': 'id de registro', 'record id': 'id de registro',
'Record ID': 'ID de Registro', 'Record ID': 'ID de Registro',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'refresh': 'recargar', 'refresh': 'recargar',
'register': 'register', 'register': 'register',
'Register': 'Regístrese', 'Register': 'Regístrese',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Contraseña de Registro', 'Registration key': 'Contraseña de Registro',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'reload': 'recargar', 'reload': 'recargar',
'Reload routes': 'Recargar rutas', 'Reload routes': 'Recargar rutas',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'eliminar compilados', 'Remove compiled': 'eliminar compilados',
'Removed Breakpoint on %s at line %s': 'Eliminado punto de ruptura en %s en la línea %s', 'Removed Breakpoint on %s at line %s': 'Eliminado punto de ruptura en %s en la línea %s',
'Replace': 'Reemplazar', 'Replace': 'Reemplazar',
@@ -491,8 +550,10 @@
'Repository (%s)': 'Repositorio (%s)', 'Repository (%s)': 'Repositorio (%s)',
'Repository: %s': 'Repositorio: %s', 'Repository: %s': 'Repositorio: %s',
'request': 'petición', 'request': 'petición',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'archivo Resolución de Conflicto', 'Resolve Conflict file': 'archivo Resolución de Conflicto',
'response': 'respuesta', 'response': 'respuesta',
'restart': 'restart', 'restart': 'restart',
@@ -532,6 +593,7 @@
'Set Breakpoint on %s at line %s: %s': 'Establecer punto de ruptura en %s en la línea %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Establecer punto de ruptura en %s en la línea %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'sitio', 'Site': 'sitio',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -588,7 +650,9 @@
'These files are not served, they are only available from within your app': 'Estos archivos no se proveen, ellos sólo están disponibles para su aplicación', 'These files are not served, they are only available from within your app': 'Estos archivos no se proveen, ellos sólo están disponibles para su aplicación',
'These files are served without processing, your images go here': 'Estos archivos se proveen sin procesar, sus imágenes van aquí', 'These files are served without processing, your images go here': 'Estos archivos se proveen sin procesar, sus imágenes van aquí',
'these files are served without processing, your images go here': 'estos archivos se proveen sin procesar, sus imágenes van aquí', 'these files are served without processing, your images go here': 'estos archivos se proveen sin procesar, sus imágenes van aquí',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'Está es la plantilla %(filename)s', 'This is the %(filename)s template': 'Está es la plantilla %(filename)s',
@@ -617,6 +681,7 @@
'try something like': 'intente algo como', 'try something like': 'intente algo como',
'Try the mobile interface': 'Pruebe la interfaz móvil', 'Try the mobile interface': 'Pruebe la interfaz móvil',
'try view': 'Pruebe la vista', 'try view': 'Pruebe la vista',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Escriba algún código Python aquí y teclee la tecla Enter para ejecutarlo', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Escriba algún código Python aquí y teclee la tecla Enter para ejecutarlo',
'Unable to check for upgrades': 'No es posible verificar la existencia de actualizaciones', 'Unable to check for upgrades': 'No es posible verificar la existencia de actualizaciones',
@@ -633,6 +698,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'no es posible analizar el archivo CSV', 'unable to parse csv file': 'no es posible analizar el archivo CSV',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'no es posible instalar "%s"', 'unable to uninstall "%s"': 'no es posible instalar "%s"',
'unable to upgrade because "%s"': 'no es posible actualizar porque "%s"', 'unable to upgrade because "%s"': 'no es posible actualizar porque "%s"',
'uncheck all': 'desmarcar todos', 'uncheck all': 'desmarcar todos',
@@ -655,11 +721,25 @@
'upload plugin file:': 'suba un archivo de plugin:', 'upload plugin file:': 'suba un archivo de plugin:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para crear consultas más complejas.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para crear consultas más complejas.',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID de Usuario', 'User ID': 'ID de Usuario',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Verify Password',
'Version': 'Versión', 'Version': 'Versión',
'Versioning': 'Versiones', 'Versioning': 'Versiones',
'versioning': 'versiones', 'versioning': 'versiones',
@@ -679,6 +759,7 @@
'web2py Recent Tweets': 'Tweets Recientes de web2py', 'web2py Recent Tweets': 'Tweets Recientes de web2py',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py actualizado; favor reiniciar', 'web2py upgraded; please restart it': 'web2py actualizado; favor reiniciar',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py': 'Bienvenido a web2py', 'Welcome to web2py': 'Bienvenido a web2py',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
@@ -687,8 +768,13 @@
'You are going to install': 'Vas a instalar', 'You are going to install': 'Vas a instalar',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'Puedes inspeccionar las variables utilizando la terminal de abajo', 'You can inspect variables using the console below': 'Puedes inspeccionar las variables utilizando la terminal de abajo',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'Necesitas configurar y obtener un', 'You need to set up and reach a': 'Necesitas configurar y obtener un',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Tu aplicación será bloqueada hasta que des click en un botón de acción (siguiente, paso, continuar, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Tu aplicación será bloqueada hasta que des click en un botón de acción (siguiente, paso, continuar, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+240 -137
View File
@@ -21,18 +21,34 @@
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Cherche: **%s** fichiers', '@markmin\x01Searching: **%s** %%{file}': 'Cherche: **%s** fichiers',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available: %s': 'Une nouvelle version de web2py est disponible: %s ', 'A new version of web2py is available: %s': 'Une nouvelle version de web2py est disponible: %s ',
'A new version of web2py is available: Version 1.68.2 (2009-10-21 09:59:29)\n': 'Une nouvelle version de web2py est disponible: Version 1.68.2 (2009-10-21 09:59:29)\r\n', 'A new version of web2py is available: Version 1.68.2 (2009-10-21 09:59:29)\n': 'Une nouvelle version de web2py est disponible: Version 1.68.2 (2009-10-21 09:59:29)\r\n',
'Abort': 'Abort', 'Abort': 'Abort',
'About': 'à propos', 'About': 'À propos',
'About application': "A propos de l'application", 'About application': "À propos de l'application",
'Accept Terms': 'Termes acceptés', 'Accept Terms': 'Termes acceptés',
'Add breakpoint': 'Ajouter une interruption', 'Add breakpoint': 'Ajouter une interruption',
'additional code for your application': 'code supplémentaire pour votre application', 'additional code for your application': 'code supplémentaire pour votre application',
'Additional code for your application': 'Code additionnel pour votre application', 'Additional code for your application': 'Code additionnel pour votre application',
'Admin design page': 'Admin design page', 'Admin design page': 'Page de conception admin',
'admin disabled because no admin password': 'admin désactivée car aucun mot de passe admin', 'admin disabled because no admin password': 'admin désactivée car aucun mot de passe admin',
'admin disabled because not supported on google app engine': 'admin désactivée car non prise en charge sur Google Apps engine', 'admin disabled because not supported on google app engine': 'admin désactivée car non prise en charge sur Google Apps engine',
'admin disabled because too many invalid login attempts': 'admin disabled because too many invalid login attempts', 'admin disabled because too many invalid login attempts': 'admin disabled because too many invalid login attempts',
@@ -41,7 +57,7 @@
'Admin language': "Language de l'admin", 'Admin language': "Language de l'admin",
'Admin versioning page': 'Admin versioning page', 'Admin versioning page': 'Admin versioning page',
'administrative interface': "interface d'administration", 'administrative interface': "interface d'administration",
'Administrator Password:': 'Mot de passe Administrateur:', 'Administrator Password:': "Mot de passe de l'administrateur:",
'An error occured, please [[reload %s]] the page': 'Une erreur cest produite, sil vous plait [[reload %s]] la page', 'An error occured, please [[reload %s]] the page': 'Une erreur cest produite, sil vous plait [[reload %s]] la page',
'and rename it (required):': 'et renommez-la (obligatoire):', 'and rename it (required):': 'et renommez-la (obligatoire):',
'and rename it:': 'et renommez-le:', 'and rename it:': 'et renommez-le:',
@@ -57,14 +73,15 @@
'application is compiled and cannot be designed': "l'application est compilée et ne peut être modifiée", 'application is compiled and cannot be designed': "l'application est compilée et ne peut être modifiée",
'Application name:': "Nom de l'application:", 'Application name:': "Nom de l'application:",
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'are not used': 'are not used', 'Apply changes': 'Apply changes',
'are not used yet': 'are not used yet', 'are not used': 'ne sont pas utilisé',
'are not used yet': 'ne sont pas encore utilisé',
'Are you sure you want to delete file "%s"?': 'Êtes-vous sûr de vouloir supprimer le fichier «%s»?', 'Are you sure you want to delete file "%s"?': 'Êtes-vous sûr de vouloir supprimer le fichier «%s»?',
'Are you sure you want to delete plugin "%s"?': 'Êtes-vous sûr de vouloir supprimer le plugin "%s"?', 'Are you sure you want to delete plugin "%s"?': 'Êtes-vous sûr de vouloir supprimer le plugin "%s"?',
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?', 'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
'Are you sure you want to uninstall application "%s"?': "Êtes-vous sûr de vouloir désinstaller l'application «%s»?", 'Are you sure you want to uninstall application "%s"?': "Êtes-vous sûr de vouloir désinstaller l'application «%s»?",
'Are you sure you want to upgrade web2py now?': 'Êtes-vous sûr de vouloir mettre à jour web2py maintenant?', 'Are you sure you want to upgrade web2py now?': 'Êtes-vous sûr de vouloir mettre à jour web2py maintenant?',
'Are you sure?': 'Etes vous sûr?', 'Are you sure?': 'Êtes vous sûr?',
'arguments': 'arguments', 'arguments': 'arguments',
'at char %s': 'at char %s', 'at char %s': 'at char %s',
'at line %s': 'at line %s', 'at line %s': 'at line %s',
@@ -72,14 +89,15 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: nécessite une connexion sécurisée (HTTPS) ou être en localhost. ', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: nécessite une connexion sécurisée (HTTPS) ou être en localhost. ',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: les tests ne sont pas thread-safe DONC NE PAS EFFECTUER DES TESTS MULTIPLES SIMULTANÉMENT.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: les tests ne sont pas thread-safe DONC NE PAS EFFECTUER DES TESTS MULTIPLES SIMULTANÉMENT.',
'ATTENTION: you cannot edit the running application!': "ATTENTION: vous ne pouvez pas modifier l'application qui tourne!", 'ATTENTION: you cannot edit the running application!': "ATTENTION: vous ne pouvez pas modifier l'application qui tourne!",
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Bases de données et tables disponible', 'Available databases and tables': 'Bases de données et tables disponibles',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
'back': 'retour', 'back': 'retour',
'Back to the plugins list': 'Retour à la liste de plugins', 'Back to the plugins list': 'Retour à la liste de plugins',
'Back to wizard': 'Back to wizard', 'Back to wizard': 'Back to wizard',
'Basics': 'Basics', 'Basics': 'Basics',
'Begin': 'Begin', 'Begin': 'Début',
'breakpoint': 'breakpoint', 'breakpoint': 'breakpoint',
'Breakpoints': 'Breakpoints', 'Breakpoints': 'Breakpoints',
'breakpoints': 'breakpoints', 'breakpoints': 'breakpoints',
@@ -92,7 +110,7 @@
'Cache Keys': 'Cache Keys', 'Cache Keys': 'Cache Keys',
'cache, errors and sessions cleaned': 'cache, erreurs et sessions nettoyés', 'cache, errors and sessions cleaned': 'cache, erreurs et sessions nettoyés',
'can be a git repo': 'can be a git repo', 'can be a git repo': 'can be a git repo',
'Cancel': 'Retour', 'Cancel': 'Annuler',
'Cannot be empty': 'Ne peut pas être vide', 'Cannot be empty': 'Ne peut pas être vide',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Ne peut pas compiler: il y a des erreurs dans votre application. corriger les erreurs et essayez à nouveau.', 'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Ne peut pas compiler: il y a des erreurs dans votre application. corriger les erreurs et essayez à nouveau.',
'Cannot compile: there are errors in your app:': 'Ne peut pas compiler: il y a des erreurs dans votre application:', 'Cannot compile: there are errors in your app:': 'Ne peut pas compiler: il y a des erreurs dans votre application:',
@@ -101,61 +119,64 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'Changer le mot de passe admin', 'Change admin password': 'Changer le mot de passe admin',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'tout vérifier ', 'check all': 'tout sélectionner',
'Check for upgrades': 'Vérifier les mises à jour', 'Check for upgrades': 'Vérifier les mises à jour',
'Check to delete': 'Cocher pour supprimer', 'Check to delete': 'Cocher pour supprimer',
'Checking for upgrades...': 'Vérification des mises à jour ... ', 'Checking for upgrades...': 'Vérification des mises à jour ... ',
'Clean': 'nettoyer', 'Clean': 'nettoyer',
'Clear': 'Clear', 'Clear': 'Effacer',
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Effacer le CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Effacer le DISQUE',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Effacer la RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'Cliquez pour vérifier les mises jour', 'click to check for upgrades': 'Cliquez pour vérifier les mises jour',
'Client IP': 'Client IP',
'code': 'code', 'code': 'code',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': 'tout réduire/agrandir', 'collapse/expand all': 'tout réduire/agrandir',
'Command': 'Command', 'Command': 'Commande',
'Comment:': 'Comment:', 'Comment:': 'Commentaire:',
'Commit': 'Commit', 'Commit': 'Valider',
'Commit form': 'Commit form', 'Commit form': 'Valider le formulaire',
'Committed files': 'Committed files', 'Committed files': 'Fichiers validés',
'Compile': 'compiler', 'Compile': 'compiler',
'Compile (all or nothing)': 'Compile (all or nothing)', 'Compile (all or nothing)': 'Compile (all or nothing)',
'Compile (skip failed views)': 'Compile (skip failed views)', 'Compile (skip failed views)': 'Compile (skip failed views)',
'compiled application removed': 'application compilée enlevée', 'compiled application removed': 'application compilée enlevée',
'Condition': 'Condition', 'Condition': 'Condition',
'continue': 'continue', 'continue': 'continuer',
'Controllers': 'Contrôleurs', 'Controllers': 'Contrôleurs',
'controllers': 'contrôleurs', 'controllers': 'contrôleurs',
'Count': 'Count', 'Count': 'Compte',
'Create': 'Créer', 'Create': 'Créer',
'create file with filename:': 'créer un fichier avec nom de fichier:', 'create file with filename:': 'créer un fichier avec nom de fichier:',
'create new application:': 'créer une nouvelle application:', 'create new application:': 'créer une nouvelle application:',
'Create new simple application': 'Créer une nouvelle application', 'Create new simple application': 'Créer une nouvelle application',
'Create/Upload': 'Create/Upload', 'Create/Upload': 'Create/Upload',
'created by': 'créé par', 'created by': 'créé par',
'Created by:': 'Created by:', 'Created by:': 'Créé par:',
'Created On': 'Created On', 'Created On': 'Créé le',
'Created on:': 'Created on:', 'Created on:': 'Créé le:',
'crontab': 'crontab', 'crontab': 'crontab',
'Current request': 'Requête actuelle', 'Current request': 'Requête actuelle',
'Current response': 'Réponse actuelle', 'Current response': 'Réponse actuelle',
'Current session': 'Session en cours', 'Current session': 'Session en cours',
'currently running': 'tourne actuellement', 'currently running': 'tourne actuellement',
'currently saved or': 'actuellement enregistré ou', 'currently saved or': 'actuellement enregistré ou',
'data uploaded': 'données chargées', 'data uploaded': 'données téléversées',
'Database': 'Database', 'Database': 'Base de données',
'database': 'base de données', 'database': 'base de données',
'Database %s select': 'Database %s select', 'Database %s select': 'Database %s select',
'database %s select': 'base de données %s sélectionner', 'database %s select': 'base de données %s sélectionner',
'Database administration': 'Database administration', 'Database administration': 'Administration base de données',
'database administration': 'administration base de données', 'database administration': 'administration base de données',
'Database Administration (appadmin)': 'Database Administration (appadmin)', 'Database Administration (appadmin)': 'Database Administration (appadmin)',
'Date and Time': 'Date et heure', 'Date and Time': 'Date et heure',
'db': 'bdd', 'db': 'bd',
'Debug': 'Debug', 'Debug': 'Debug',
'defines tables': 'définit les tables', 'defines tables': 'définit les tables',
'Delete': 'Supprimer', 'Delete': 'Supprimer',
@@ -165,7 +186,7 @@
'Delete this file (you will be asked to confirm deletion)': 'Supprimer ce fichier (on vous demandera de confirmer la suppression)', 'Delete this file (you will be asked to confirm deletion)': 'Supprimer ce fichier (on vous demandera de confirmer la suppression)',
'Delete:': 'Supprimer:', 'Delete:': 'Supprimer:',
'deleted after first hit': 'deleted after first hit', 'deleted after first hit': 'deleted after first hit',
'Demo': 'Demo', 'Demo': 'Démo',
'Deploy': 'Déployer', 'Deploy': 'Déployer',
'Deploy on Google App Engine': 'Déployer sur Google App Engine', 'Deploy on Google App Engine': 'Déployer sur Google App Engine',
'Deploy to OpenShift': 'Deploy to OpenShift', 'Deploy to OpenShift': 'Deploy to OpenShift',
@@ -173,25 +194,26 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'conception', 'design': 'conception',
'Detailed traceback description': 'Detailed traceback description', 'Detailed traceback description': 'Detailed traceback description',
'details': 'details', 'details': 'détails',
'direction: ltr': 'direction: ltr', 'direction: ltr': 'direction: ltr',
'directory not found': 'directory not found', 'directory not found': 'directory not found',
'Disable': 'Disable', 'Disable': 'Désactiver',
'Disabled': 'Disabled', 'Disabled': 'Désactivé',
'disabled in demo mode': 'disabled in demo mode', 'disabled in demo mode': 'disabled in demo mode',
'disabled in GAE mode': 'disabled in GAE mode', 'disabled in GAE mode': 'disabled in GAE mode',
'disabled in multi user mode': 'disabled in multi user mode', 'disabled in multi user mode': 'disabled in multi user mode',
'DISK': 'DISK', 'DISK': 'DISQUE',
'Disk Cache Keys': 'Disk Cache Keys', 'Disk Cache Keys': 'Disk Cache Keys',
'Disk Cleared': 'Disk Cleared', 'Disk Cleared': 'Disque effacé',
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Display line numbers': 'Display line numbers', 'Display line numbers': 'Display line numbers',
'DO NOT use the "Pack compiled" feature.': 'DO NOT use the "Pack compiled" feature.', 'DO NOT use the "Pack compiled" feature.': 'DO NOT use the "Pack compiled" feature.',
'docs': 'docs', 'docs': 'documents',
'Docs': 'Docs', 'Docs': 'Documents',
'done!': 'fait!', 'done!': 'fait!',
'Downgrade': 'Downgrade', 'Downgrade': 'Downgrade',
'Download .w2p': 'Download .w2p', 'Download .w2p': 'Download .w2p',
@@ -200,44 +222,48 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'télécharger plugins', 'download plugins': 'télécharger plugins',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'EDIT': 'MODIFIER', 'EDIT': 'MODIFIER',
'Edit': 'modifier', 'Edit': 'Modifier',
'edit all': 'edit all', 'edit all': 'tout modifier',
'Edit application': "Modifier l'application", 'Edit application': "Modifier l'application",
'edit controller': 'modifier contrôleur', 'edit controller': 'modifier contrôleur',
'edit controller:': 'edit controller:', 'edit controller:': 'modifier le contrôleur:',
'Edit current record': 'Modifier cette entrée', 'Edit current record': 'Modifier cet enregistrement',
'edit views:': 'modifier vues:', 'edit views:': 'modifier les vues:',
'Editing %s': 'Editing %s', 'Editing %s': 'Modifier %s',
'Editing file': 'Modifier le fichier', 'Editing file': 'Modifier le fichier',
'Editing file "%s"': 'Modifier le fichier "% s" ', 'Editing file "%s"': 'Modifier le fichier "% s" ',
'Editing Language file': 'Modifier le fichier de langue', 'Editing Language file': 'Modifier le fichier de langue',
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Modifier le fichier du formulaire pluriel',
'Editor': 'Editor', 'Editor': 'Éditeur',
'Email Address': 'Email Address', 'Email Address': 'Adresse courriel',
'Enable': 'Enable', 'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Activer',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
'Enterprise Web Framework': 'Enterprise Web Framework', 'Enterprise Web Framework': 'Enterprise Web Framework',
'Error': 'Error', 'Error': 'Error',
'Error logs for "%(app)s"': 'Journal d\'erreurs pour "%(app)s"', 'Error logs for "%(app)s"': 'Journal d\'erreurs pour "%(app)s"',
'Error snapshot': 'Error snapshot', 'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket', 'Error ticket': "Billet d'erreur",
'Errors': 'erreurs', 'Errors': 'Erreurs',
'Exception %(extype)s: %(exvalue)s': 'Exception %(extype)s: %(exvalue)s', 'Exception %(extype)s: %(exvalue)s': 'Exception %(extype)s: %(exvalue)s',
'Exception %s': 'Exception %s', 'Exception %s': 'Exception %s',
'Exception instance attributes': "Attributs d'instance Exception", 'Exception instance attributes': "Attributs d'instance Exception",
'Exit Fullscreen': 'Exit Fullscreen', 'Exit Fullscreen': 'Exit Fullscreen',
'Expand Abbreviation (html files only)': 'Expand Abbreviation (html files only)', 'Expand Abbreviation (html files only)': 'Expand Abbreviation (html files only)',
'export as csv file': 'export au format CSV', 'export as csv file': 'export au format CSV',
'Exports:': 'Exports:', 'Exports:': 'Exportions:',
'exposes': 'expose', 'exposes': 'expose',
'exposes:': 'expose:', 'exposes:': 'expose:',
'extends': 'étend', 'extends': 'étend',
'failed to compile file because:': 'failed to compile file because:', 'failed to compile file because:': 'failed to compile file because:',
'failed to reload module': 'impossible de recharger le module', 'failed to reload module': 'impossible de recharger le module',
'failed to reload module because:': 'impossible de recharger le module car:', 'failed to reload module because:': 'impossible de recharger le module car:',
'File': 'File', 'File': 'Fichier',
'file "%(filename)s" created': 'fichier "%(filename)s" créé', 'file "%(filename)s" created': 'fichier "%(filename)s" créé',
'file "%(filename)s" deleted': 'fichier "%(filename)s" supprimé', 'file "%(filename)s" deleted': 'fichier "%(filename)s" supprimé',
'file "%(filename)s" uploaded': 'fichier "%(filename)s" chargé', 'file "%(filename)s" uploaded': 'fichier "%(filename)s" chargé',
@@ -247,19 +273,21 @@
'file not found': 'file not found', 'file not found': 'file not found',
'file saved on %(time)s': 'fichier enregistré le %(time)s', 'file saved on %(time)s': 'fichier enregistré le %(time)s',
'file saved on %s': 'fichier enregistré le %s', 'file saved on %s': 'fichier enregistré le %s',
'filename': 'filename', 'filename': 'nom de fichier',
'Filename': 'Filename', 'Filename': 'Nom de fichier',
'Files added': 'Files added', 'Files added': 'Fichiers ajoutés',
'filter': 'filtre', 'filter': 'filtre',
'Find Next': 'Find Next', 'Find Next': 'Trouver les suivants',
'Find Previous': 'Find Previous', 'Find Previous': 'Trouver les précédents',
'Form has errors': 'Form has errors', 'First name': 'First name',
'Form has errors': 'Le formulaire comporte des erreurs',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Des fonctions sans doctests entraîneront des tests [passed] .', 'Functions with no doctests will result in [passed] tests.': 'Des fonctions sans doctests entraîneront des tests [passed] .',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
'GAE Password': 'GAE Password', 'GAE Password': 'Mot de passe GAE',
'Generate': 'Generate', 'Generate': 'Générer',
'Git Pull': 'Git Pull', 'Git Pull': 'Git Pull',
'Git Push': 'Git Push', 'Git Push': 'Git Push',
'Globals##debug': 'Globals##debug', 'Globals##debug': 'Globals##debug',
@@ -267,15 +295,19 @@
'Google App Engine Deployment Interface': 'Google App Engine Deployment Interface', 'Google App Engine Deployment Interface': 'Google App Engine Deployment Interface',
'Google Application Id': 'Google Application Id', 'Google Application Id': 'Google Application Id',
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'représentation graphique du modèle',
'Graph Model': 'Graph Model', 'Graph Model': 'Représentation graphique du modèle',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'aide', 'Help': 'aide',
'here': 'here', 'here': 'ici',
'Hide/Show Translated strings': 'Hide/Show Translated strings', 'Hide/Show Translated strings': 'Hide/Show Translated strings',
'Highlight current line': 'Highlight current line', 'Highlight current line': 'Highlight current line',
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})', 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'Hits': 'Hits', 'Hits': 'Hits',
'Home': 'Home', 'Home': 'Accueil',
'honored only if the expression evaluates to true': 'honored only if the expression evaluates to true', 'honored only if the expression evaluates to true': 'honored only if the expression evaluates to true',
'htmledit': 'edition html', 'htmledit': 'edition html',
'If start the downgrade, be patient, it may take a while to rollback': 'If start the downgrade, be patient, it may take a while to rollback', 'If start the downgrade, be patient, it may take a while to rollback': 'If start the downgrade, be patient, it may take a while to rollback',
@@ -283,10 +315,11 @@
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\n\t\tA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\n\t\tA green title indicates that all tests (if defined) passed. In this case test results are not shown.', 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\n\t\tA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\n\t\tA green title indicates that all tests (if defined) passed. In this case test results are not shown.',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': "Si le rapport ci-dessus contient un numéro de ticket, cela indique une défaillance dans l'exécution du contrôleur, avant toute tentative d'exécuter les doctests. Cela est généralement dû à une erreur d'indentation ou une erreur à l'extérieur du code de la fonction.\r\nUn titre vert indique que tous les tests (si définis) sont passés. Dans ce cas, les résultats des essais ne sont pas affichées.", 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': "Si le rapport ci-dessus contient un numéro de ticket, cela indique une défaillance dans l'exécution du contrôleur, avant toute tentative d'exécuter les doctests. Cela est généralement dû à une erreur d'indentation ou une erreur à l'extérieur du code de la fonction.\r\nUn titre vert indique que tous les tests (si définis) sont passés. Dans ce cas, les résultats des essais ne sont pas affichées.",
'if your application uses a database other than sqlite you will then have to configure its DAL in pythonanywhere.': 'if your application uses a database other than sqlite you will then have to configure its DAL in pythonanywhere.', 'if your application uses a database other than sqlite you will then have to configure its DAL in pythonanywhere.': 'if your application uses a database other than sqlite you will then have to configure its DAL in pythonanywhere.',
'import': 'import', 'import': 'importer',
'Import/Export': 'Importer/Exporter', 'Import/Export': 'Importer/Exporter',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'inclus', 'includes': 'inclus',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'index': 'index', 'index': 'index',
'insert new': 'insérer nouveau', 'insert new': 'insérer nouveau',
@@ -295,6 +328,7 @@
'Install': 'Installer', 'Install': 'Installer',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Applications installées', 'Installed applications': 'Applications installées',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'erreur interne', 'internal error': 'erreur interne',
@@ -303,22 +337,32 @@
'Invalid action': 'Action non valide', 'Invalid action': 'Action non valide',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'mot de passe invalide', 'invalid password': 'mot de passe invalide',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Requête non valide', 'Invalid Query': 'Requête non valide',
'invalid request': 'Demande incorrecte', 'invalid request': 'Demande incorrecte',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'ticket non valide', 'invalid ticket': 'ticket non valide',
'Key': 'Key', 'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Clé',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'fichier de langue "%(filename)s" créé/mis à jour', 'language file "%(filename)s" created/updated': 'fichier de langue "%(filename)s" créé/mis à jour',
'Language files (static strings) updated': 'Fichiers de langue (chaînes statiques) mis à jour ', 'Language files (static strings) updated': 'Fichiers de langue (chaînes statiques) mis à jour ',
'languages': 'langues', 'languages': 'langues',
'Languages': 'Langues', 'Languages': 'Langues',
'Last Revision': 'Last Revision', 'Last name': 'Last name',
'Last Revision': 'Dernière révision',
'Last saved on:': 'Dernière sauvegarde le:', 'Last saved on:': 'Dernière sauvegarde le:',
'License for': 'Licence pour', 'License for': 'Licence pour',
'License:': 'License:', 'License:': 'License:',
@@ -326,18 +370,22 @@
'Line number': 'Line number', 'Line number': 'Line number',
'lists by exception': 'lists by exception', 'lists by exception': 'lists by exception',
'lists by ticket': 'lists by ticket', 'lists by ticket': 'lists by ticket',
'Loading...': 'Loading...', 'Loading...': 'Chargement...',
'loading...': 'Chargement ...', 'loading...': 'chargement ...',
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Connexion', 'Login': 'Connexion',
'login': 'connexion', 'login': 'connexion',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': "Se connecter à l'interface d'administration", 'Login to the Administrative Interface': "Se connecter à l'interface d'administration",
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
'Logout': 'déconnexion', 'Logout': 'déconnexion',
'lost password': 'lost password', 'lost password': 'mot de passe perdu',
'Main Menu': 'Main Menu', 'Main Menu': 'Main Menu',
'Manage': 'Manage', 'Manage': 'Manage',
'Manage %(action)s': 'Manage %(action)s', 'Manage %(action)s': 'Manage %(action)s',
@@ -350,21 +398,23 @@
'merge': 'fusionner', 'merge': 'fusionner',
'Models': 'Modèles', 'Models': 'Modèles',
'models': 'modèles', 'models': 'modèles',
'Modified On': 'Modified On', 'Modified On': 'Modifié le',
'Modules': 'Modules', 'Modules': 'Modules',
'modules': 'modules', 'modules': 'modules',
'Multi User Mode': 'Multi User Mode', 'Multi User Mode': 'Multi User Mode',
'Name': 'Name',
'new application "%s" created': 'nouvelle application "%s" créée', 'new application "%s" created': 'nouvelle application "%s" créée',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'Assistant nouvelle application', 'New application wizard': 'Assistant nouvelle application',
'New password': 'New password',
'new plugin installed': 'nouveau plugin installé', 'new plugin installed': 'nouveau plugin installé',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Nouvelle Entrée', 'New Record': 'Nouvelle Entrée',
'new record inserted': 'nouvelle entrée insérée', 'new record inserted': 'nouvelle entrée insérée',
'New simple application': 'Nouvelle application simple', 'New simple application': 'Nouvelle application simple',
'next': 'next', 'next': 'suivant',
'next %s rows': 'next %s rows', 'next %s rows': '%s lignes suivantes',
'next 100 rows': '100 lignes suivantes', 'next 100 rows': '100 lignes suivantes',
'NO': 'NON', 'NO': 'NON',
'no changes': 'no changes', 'no changes': 'no changes',
@@ -374,10 +424,12 @@
'no package selected': 'no package selected', 'no package selected': 'no package selected',
'no permission to uninstall "%s"': 'no permission to uninstall "%s"', 'no permission to uninstall "%s"': 'no permission to uninstall "%s"',
'Node:': 'Node:', 'Node:': 'Node:',
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Pas autori',
'Not supported': 'Not supported', 'Not supported': 'Pas supporté',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Number of entries: **%s**': 'Number of entries: **%s**', 'Number of entries: **%s**': 'Number of entries: **%s**',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -387,6 +439,7 @@
'or import from csv file': 'ou importer depuis un fichier CSV ', 'or import from csv file': 'ou importer depuis un fichier CSV ',
'or provide app url:': "ou fournir l'URL de l'app:", 'or provide app url:': "ou fournir l'URL de l'app:",
'or provide application url:': "ou fournir l'URL de l'application:", 'or provide application url:': "ou fournir l'URL de l'application:",
'Origin': 'Origin',
'Original/Translation': 'Original / Traduction', 'Original/Translation': 'Original / Traduction',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': "Écraser l'application installée", 'Overwrite installed app': "Écraser l'application installée",
@@ -395,21 +448,27 @@
'Pack custom': 'Pack custom', 'Pack custom': 'Pack custom',
'pack plugin': 'paquet plugin', 'pack plugin': 'paquet plugin',
'PAM authenticated user, cannot change password here': 'Utilisateur authentifié par PAM, vous ne pouvez pas changer le mot de passe ici', 'PAM authenticated user, cannot change password here': 'Utilisateur authentifié par PAM, vous ne pouvez pas changer le mot de passe ici',
'Password': 'Password',
'password changed': 'mot de passe modifié', 'password changed': 'mot de passe modifié',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
'Peeking at file': 'Jeter un oeil au fichier', 'Peeking at file': 'Jeter un oeil au fichier',
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'SVP',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" supprimé', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" supprimé',
'Plugin "%s" in application': 'Plugin "%s" dans l\'application', 'Plugin "%s" in application': 'Plugin "%s" dans l\'application',
'plugin not specified': 'plugin not specified', 'plugin not specified': 'plugin not specified',
'Plugin page': 'Plugin page', 'Plugin page': 'Plugin page',
'plugins': 'plugins', 'plugins': 'plugiciels',
'Plugins': 'Plugins', 'Plugins': 'Plugiciels',
'Plural Form #%s': 'Plural Form #%s', 'Plural Form #%s': 'Plural Form #%s',
'Plural-Forms:': 'Plural-Forms:', 'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'Propulsé par', 'Powered by': 'Propulsé par',
@@ -419,11 +478,12 @@
'previous 100 rows': '100 lignes précédentes', 'previous 100 rows': '100 lignes précédentes',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
'Pull is not possible because you have unmerged files. Fix them up in the work tree, and then try again.': 'Pull is not possible because you have unmerged files. Fix them up in the work tree, and then try again.', 'Pull is not possible because you have unmerged files. Fix them up in the work tree, and then try again.': 'Pull is not possible because you have unmerged files. Fix them up in the work tree, and then try again.',
'Push': 'Push', 'Push': 'Pousser',
'Push failed, there are unmerged entries in the cache. Resolve merge issues manually and try again.': 'Push failed, there are unmerged entries in the cache. Resolve merge issues manually and try again.', 'Push failed, there are unmerged entries in the cache. Resolve merge issues manually and try again.': 'Push failed, there are unmerged entries in the cache. Resolve merge issues manually and try again.',
'pygraphviz library not found': 'pygraphviz library not found', 'pygraphviz library not found': 'pygraphviz library not found',
'PythonAnywhere Apps': 'PythonAnywhere Apps', 'PythonAnywhere Apps': 'PythonAnywhere Apps',
@@ -433,35 +493,51 @@
'RAM Cache Keys': 'RAM Cache Keys', 'RAM Cache Keys': 'RAM Cache Keys',
'Ram Cleared': 'Ram Cleared', 'Ram Cleared': 'Ram Cleared',
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Recherche rapide',
'Record': 'Record', 'Record': 'Enregistrement',
'record': 'entrée', 'record': 'enregistrement',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': "l'entrée n'existe pas", 'record does not exist': "l'entrée n'existe pas",
'record id': 'id entrée', 'record id': 'id entrée',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'retirer compilé', 'Remove compiled': 'retirer compilé',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Remplacer',
'Replace All': 'Replace All', 'Replace All': 'Tout remplacer',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Résoudre les conflits de fichiers', 'Resolve Conflict file': 'Résoudre les conflits de fichiers',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'redémarrer',
'restore': 'restaurer', 'restore': 'restaurer',
'return': 'return', 'return': 'retour',
'Revert': 'Revert', 'Revert': "Revenir vers l'arrière",
'revert': 'revenir', 'revert': "revenir vers l'arrière",
'reverted to revision %s': 'reverted to revision %s', 'reverted to revision %s': 'reverted to revision %s',
'Revision %s': 'Revision %s', 'Revision %s': 'Révision %s',
'Revision:': 'Revision:', 'Revision:': 'Révision:',
'Role': 'Role', 'Role': 'Rôle',
'Roles': 'Roles', 'Roles': 'Rôles',
'Rows in Table': 'Rows in Table', 'Rows in Table': 'Rows in Table',
'Rows in table': 'Lignes de la table', 'Rows in table': 'Lignes de la table',
'Rows selected': 'Lignes sélectionnées', 'Rows selected': 'Lignes sélectionnées',
@@ -470,15 +546,15 @@
'Run tests in this file': 'Run tests in this file', 'Run tests in this file': 'Run tests in this file',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Lancer les tests dans ce fichier (pour lancer tous les fichiers, vous pouvez également utiliser le bouton nommé 'test')", "Run tests in this file (to run all files, you may also use the button labelled 'test')": "Lancer les tests dans ce fichier (pour lancer tous les fichiers, vous pouvez également utiliser le bouton nommé 'test')",
'Running on %s': 'Running on %s', 'Running on %s': 'Running on %s',
'Save': 'Enregistrer', 'Save': 'Sauvegarder',
'save': 'sauver', 'save': 'sauvegarder',
'Save file:': 'Save file:', 'Save file:': 'Sauvegarder le fichier:',
'Save file: %s': 'Save file: %s', 'Save file: %s': 'Sauvegarder le fichier : %s',
'Save model as...': 'Save model as...', 'Save model as...': 'Sauvegarder le modèle sous...',
'Save via Ajax': 'Save via Ajax', 'Save via Ajax': 'Sauvegarder via Ajax',
'Saved file hash:': 'Hash du Fichier enregistré:', 'Saved file hash:': 'Hash du Fichier enregistré:',
'Screenshot %s': 'Screenshot %s', 'Screenshot %s': "Capture d'écran %s",
'Search': 'Search', 'Search': 'Rechercher',
'Searching: **%s** %%{file}': 'Searching: **%s** %%{file}', 'Searching: **%s** %%{file}': 'Searching: **%s** %%{file}',
'Select Files to Package': 'Select Files to Package', 'Select Files to Package': 'Select Files to Package',
'selected': 'sélectionnés', 'selected': 'sélectionnés',
@@ -489,36 +565,37 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Site', 'Site': 'Site',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Taille de la mémoire cache:',
'skip to generate': 'skip to generate', 'skip to generate': 'skip to generate',
'some files could not be removed': 'certains fichiers ne peuvent pas être supprimés', 'some files could not be removed': 'certains fichiers ne peuvent pas être supprimés',
'Something went wrong please wait a few minutes before retrying': 'Something went wrong please wait a few minutes before retrying', 'Something went wrong please wait a few minutes before retrying': 'Something went wrong please wait a few minutes before retrying',
'Sorry, could not find mercurial installed': 'Sorry, could not find mercurial installed', 'Sorry, could not find mercurial installed': 'Sorry, could not find mercurial installed',
'source : db': 'source : db', 'source : db': 'source : db',
'source : filesystem': 'source : filesystem', 'source : filesystem': 'source : système de fichier',
'Start a new app': 'Start a new app', 'Start a new app': 'Commencer une nouvelle application',
'Start searching': 'Start searching', 'Start searching': 'Débuté la recherche',
'Start wizard': "Démarrer l'assistant", 'Start wizard': "Démarrer l'assistant",
'state': 'état', 'state': 'état',
'Static': 'Static', 'Static': 'Statique',
'static': 'statiques', 'static': 'statique',
'Static files': 'Fichiers statiques', 'Static files': 'Fichiers statiques',
'Statistics': 'Statistics', 'Statistics': 'Statistics',
'Step': 'Step', 'Step': 'Step',
'step': 'step', 'step': 'step',
'stop': 'stop', 'stop': 'arrêt',
'submit': 'envoyer', 'submit': 'envoyer',
'Submit': 'Submit', 'Submit': 'Envoyer',
'successful': 'successful', 'successful': 'réussi',
'Sure you want to delete this object?': 'Vous êtes sûr de vouloir supprimer cet objet? ', 'Sure you want to delete this object?': 'Vous êtes sûr de vouloir supprimer cet objet?',
'switch to : db': 'switch to : db', 'switch to : db': 'transférer dans : db',
'switch to : filesystem': 'switch to : filesystem', 'switch to : filesystem': 'switch to : filesystem',
'Tab width (# characters)': 'Tab width (# characters)', 'Tab width (# characters)': 'Tab width (# characters)',
'table': 'table', 'table': 'table',
'Table': 'Table', 'Table': 'Table',
'Temporary': 'Temporary', 'Temporary': 'Temporaire',
'test': 'tester', 'test': 'tester',
'Testing application': "Test de l'application", 'Testing application': "Test de l'application",
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "requête" est une condition comme "db.table1.field1==\'value\'". Quelque chose comme "db.table1.field1==db.table2.field2" aboutit à un JOIN SQL.', 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "requête" est une condition comme "db.table1.field1==\'value\'". Quelque chose comme "db.table1.field1==db.table2.field2" aboutit à un JOIN SQL.',
@@ -530,20 +607,22 @@
'The data representation, define database tables and sets': 'La représentation des données, définir les tables et ensembles de la base de données', 'The data representation, define database tables and sets': 'La représentation des données, définir les tables et ensembles de la base de données',
'The presentations layer, views are also known as templates': 'Les couches de présentation, les vues sont également appelées modples', 'The presentations layer, views are also known as templates': 'Les couches de présentation, les vues sont également appelées modples',
'the presentations layer, views are also known as templates': 'la couche de présentation, les vues sont également appelées modèles', 'the presentations layer, views are also known as templates': 'la couche de présentation, les vues sont également appelées modèles',
'Theme': 'Theme', 'Theme': 'Thème',
'There are no controllers': "Il n'y a pas de contrôleurs", 'There are no controllers': "Il n'y a pas de contrôleurs",
'There are no models': "Il n'y a pas de modèles", 'There are no models': "Il n'y a pas de modèles",
'There are no modules': "Il n'y a pas de modules", 'There are no modules': "Il n'y a pas de modules",
'There are no plugins': "Il n'y a pas de plugins", 'There are no plugins': "Il n'y a pas de plugins",
'There are no private files': 'There are no private files', 'There are no private files': "Il n'y a pas de fichiers privés",
'There are no static files': "Il n'y a pas de fichiers statiques", 'There are no static files': "Il n'y a pas de fichiers statiques",
'There are no translators': 'There are no translators', 'There are no translators': "Il n'y a pas de traducteurs",
'There are no translators, only default language is supported': "Il n'y a pas de traducteurs, seule la langue par défaut est prise en charge", 'There are no translators, only default language is supported': "Il n'y a pas de traducteurs, seule la langue par défaut est prise en charge",
'There are no views': "Il n'y a pas de vues", 'There are no views': "Il n'y a pas de vues",
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'Ces fichiers sont renvoyés sans traitement, vos images viennent ici', 'These files are served without processing, your images go here': 'Ces fichiers sont renvoyés sans traitement, vos images viennent ici',
'these files are served without processing, your images go here': 'ces fichiers sont servis sans transformation, vos images vont ici', 'these files are served without processing, your images go here': 'ces fichiers sont servis sans transformation, vos images vont ici',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'Ceci est le modèle %(filename)s ', 'This is the %(filename)s template': 'Ceci est le modèle %(filename)s ',
@@ -552,10 +631,11 @@
'this page to see if a breakpoint was hit and debug interaction is required.': 'this page to see if a breakpoint was hit and debug interaction is required.', 'this page to see if a breakpoint was hit and debug interaction is required.': 'this page to see if a breakpoint was hit and debug interaction is required.',
'This will pull changes from the remote repo for application "%s"?': 'This will pull changes from the remote repo for application "%s"?', 'This will pull changes from the remote repo for application "%s"?': 'This will pull changes from the remote repo for application "%s"?',
'This will push changes to the remote repo for application "%s".': 'This will push changes to the remote repo for application "%s".', 'This will push changes to the remote repo for application "%s".': 'This will push changes to the remote repo for application "%s".',
'Ticket': 'Ticket', 'Ticket': 'Billet',
'Ticket ID': 'Ticket ID', 'Ticket ID': 'Identifiant du Billet',
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Billet manquant',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'TM': 'MD', 'TM': 'MD',
'to previous version.': 'à la version précédente.', 'to previous version.': 'à la version précédente.',
'To create a plugin, name a file/folder plugin_[name]': 'Pour créer un plugin, créer un fichier /dossier plugin_[nom]', 'To create a plugin, name a file/folder plugin_[name]': 'Pour créer un plugin, créer un fichier /dossier plugin_[nom]',
@@ -569,8 +649,9 @@
'Translation strings for the application': "Chaînes de traduction pour l'application", 'Translation strings for the application': "Chaînes de traduction pour l'application",
'try': 'essayer', 'try': 'essayer',
'try something like': 'essayez quelque chose comme', 'try something like': 'essayez quelque chose comme',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': "Essayer l'interface pour mobile",
'try view': 'try view', 'try view': 'essayer la vue',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Impossible de vérifier les mises à jour', 'Unable to check for upgrades': 'Impossible de vérifier les mises à jour',
@@ -587,6 +668,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': "impossible d'analyser les fichiers CSV", 'unable to parse csv file': "impossible d'analyser les fichiers CSV",
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'impossible de désinstaller "%s"', 'unable to uninstall "%s"': 'impossible de désinstaller "%s"',
'unable to upgrade because "%s"': 'impossible de mettre à jour car "%s"', 'unable to upgrade because "%s"': 'impossible de mettre à jour car "%s"',
'uncheck all': 'tout décocher', 'uncheck all': 'tout décocher',
@@ -595,27 +677,42 @@
'update': 'mettre à jour', 'update': 'mettre à jour',
'update all languages': 'mettre à jour toutes les langues', 'update all languages': 'mettre à jour toutes les langues',
'Update:': 'Mise à jour:', 'Update:': 'Mise à jour:',
'Upgrade': 'Upgrade', 'Upgrade': 'Mese à jour de version',
'upgrade now': 'mettre à jour maintenant', 'upgrade now': 'mettre à jour maintenant',
'upgrade now to %s': 'upgrade now to %s', 'upgrade now to %s': 'mettre à jour maintenant à %s',
'upgrade web2py now': 'mettre à jour web2py maintenant', 'upgrade web2py now': 'mettre à jour web2py maintenant',
'upload': 'charger', 'upload': 'téléversé',
'Upload': 'Upload', 'Upload': 'Téléversé',
'Upload & install packed application': "Charger & installer l'application empaquetée", 'Upload & install packed application': "Charger & installer l'application empaquetée",
'Upload a package:': 'Charger un paquet:', 'Upload a package:': 'Téléverser un paquet:',
'Upload and install packed application': 'Upload and install packed application', 'Upload and install packed application': 'Téléversement et installation du paquet applicatif',
'upload application:': "charger l'application:", 'upload application:': "téléverser l'application:",
'Upload existing application': 'Charger une application existante', 'Upload existing application': 'Téléverser une application existante',
'upload file:': 'charger le fichier:', 'upload file:': 'téléverser le fichier:',
'upload plugin file:': 'charger fichier plugin:', 'upload plugin file:': 'charger fichier plugin:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Utilisez (...)&(...) pour AND, (...)|(...) pour OR, et ~(...) pour NOT afin de construire des requêtes plus complexes. ', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Utilisez (...)&(...) pour AND, (...)|(...) pour OR, et ~(...) pour NOT afin de construire des requêtes plus complexes. ',
'Use an url:': 'Utiliser une url:', 'Use an url:': 'Utiliser une url:',
'user': 'utilisateur', 'user': 'utilisateur',
'User': 'User', 'User': 'Utilisateur',
'Username': 'Username', 'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'Users': 'Users', 'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': "Nom d'utilisateur",
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Utilisateurs',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Verify Password',
'Version': 'Version', 'Version': 'Version',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'versioning': 'versioning', 'versioning': 'versioning',
@@ -625,9 +722,9 @@
'Warning!': 'Warning!', 'Warning!': 'Warning!',
'WARNING:': 'WARNING:', 'WARNING:': 'WARNING:',
'WARNING: The following views could not be compiled:': 'WARNING: The following views could not be compiled:', 'WARNING: The following views could not be compiled:': 'WARNING: The following views could not be compiled:',
'Web Framework': 'Framework Web', 'Web Framework': 'Cadre Web',
'web2py Admin Password': 'web2py Admin Password', 'web2py Admin Password': 'Mot de passe admin web2py',
'web2py apps to deploy': 'web2py apps to deploy', 'web2py apps to deploy': 'applications web2py à deployer',
'web2py Debugger': 'web2py Debugger', 'web2py Debugger': 'web2py Debugger',
'web2py downgrade': 'web2py downgrade', 'web2py downgrade': 'web2py downgrade',
'web2py is up to date': 'web2py est à jour', 'web2py is up to date': 'web2py est à jour',
@@ -635,14 +732,20 @@
'web2py Recent Tweets': 'Tweets récents sur web2py ', 'web2py Recent Tweets': 'Tweets récents sur web2py ',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py mis à jour; veuillez le redémarrer', 'web2py upgraded; please restart it': 'web2py mis à jour; veuillez le redémarrer',
'Working...': 'Working...', 'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Travail en cours...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
'YES': 'OUI', 'YES': 'OUI',
'Yes': 'Yes', 'Yes': 'Oui',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+103
View File
@@ -16,7 +16,23 @@
'(something like "it-it")': '(למשל "it-it")', '(something like "it-it")': '(למשל "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files', '@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available: %s': 'גירסא חדשה של web2py זמינה: %s', 'A new version of web2py is available: %s': 'גירסא חדשה של web2py זמינה: %s',
'Abort': 'Abort', 'Abort': 'Abort',
'About': 'אודות', 'About': 'אודות',
@@ -48,6 +64,7 @@
'application is compiled and cannot be designed': 'לא ניתן לערוך אפליקציה מקומפלת', 'application is compiled and cannot be designed': 'לא ניתן לערוך אפליקציה מקומפלת',
'Application name:': 'Application name:', 'Application name:': 'Application name:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'האם אתה בטוח שברצונך למחוק את הקובץ "%s"?', 'Are you sure you want to delete file "%s"?': 'האם אתה בטוח שברצונך למחוק את הקובץ "%s"?',
@@ -63,6 +80,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'לתשומת ליבך: ניתן להתחבר רק בערוץ מאובטח (HTTPS) או מlocalhost', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'לתשומת ליבך: ניתן להתחבר רק בערוץ מאובטח (HTTPS) או מlocalhost',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'לתשומת ליבך: אין לערוך מספר בדיקות במקביל, שכן הן עשויות להפריע זו לזו', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'לתשומת ליבך: אין לערוך מספר בדיקות במקביל, שכן הן עשויות להפריע זו לזו',
'ATTENTION: you cannot edit the running application!': 'לתשומת ליבך: לא ניתן לערוך אפליקציה בזמן הרצתה', 'ATTENTION: you cannot edit the running application!': 'לתשומת ליבך: לא ניתן לערוך אפליקציה בזמן הרצתה',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'מסדי נתונים וטבלאות זמינים', 'Available databases and tables': 'מסדי נתונים וטבלאות זמינים',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -90,6 +108,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'סיסמת מנהל שונתה', 'Change admin password': 'סיסמת מנהל שונתה',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'סמן הכל', 'check all': 'סמן הכל',
'Check for upgrades': 'check for upgrades', 'Check for upgrades': 'check for upgrades',
@@ -100,9 +119,11 @@
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Clear CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Clear DISK',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'לחץ כדי לחפש עדכונים', 'click to check for upgrades': 'לחץ כדי לחפש עדכונים',
'Client IP': 'Client IP',
'code': 'קוד', 'code': 'קוד',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': 'collapse/expand all', 'collapse/expand all': 'collapse/expand all',
@@ -162,6 +183,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'עיצוב', 'design': 'עיצוב',
'Detailed traceback description': 'Detailed traceback description', 'Detailed traceback description': 'Detailed traceback description',
@@ -188,6 +210,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'download plugins', 'download plugins': 'download plugins',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'EDIT': 'ערוך!', 'EDIT': 'ערוך!',
'Edit': 'ערוך', 'Edit': 'ערוך',
'edit all': 'edit all', 'edit all': 'edit all',
@@ -202,6 +225,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -239,8 +265,10 @@
'filter': 'filter', 'filter': 'filter',
'Find Next': 'Find Next', 'Find Next': 'Find Next',
'Find Previous': 'Find Previous', 'Find Previous': 'Find Previous',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'פונקציות שלא הוגדר להן doctest ירשמו כבדיקות ש[עברו בהצלחה].', 'Functions with no doctests will result in [passed] tests.': 'פונקציות שלא הוגדר להן doctest ירשמו כבדיקות ש[עברו בהצלחה].',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -255,6 +283,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'עזרה', 'Help': 'עזרה',
'here': 'here', 'here': 'here',
'Hide/Show Translated strings': 'Hide/Show Translated strings', 'Hide/Show Translated strings': 'Hide/Show Translated strings',
@@ -272,6 +304,7 @@
'Import/Export': 'יבא\\יצא', 'Import/Export': 'יבא\\יצא',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'מכיל', 'includes': 'מכיל',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'insert new': 'הכנס נוסף', 'insert new': 'הכנס נוסף',
'insert new %s': 'הכנס %s נוסף', 'insert new %s': 'הכנס %s נוסף',
@@ -279,6 +312,7 @@
'Install': 'התקן', 'Install': 'התקן',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'אפליקציות מותקנות', 'Installed applications': 'אפליקציות מותקנות',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'שגיאה מובנית', 'internal error': 'שגיאה מובנית',
@@ -287,21 +321,31 @@
'Invalid action': 'הוראה לא קיימת', 'Invalid action': 'הוראה לא קיימת',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'סיסמא שגויה', 'invalid password': 'סיסמא שגויה',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'שאילתה לא תקינה', 'Invalid Query': 'שאילתה לא תקינה',
'invalid request': 'בקשה לא תקינה', 'invalid request': 'בקשה לא תקינה',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'דו"ח שגיאה לא קיים', 'invalid ticket': 'דו"ח שגיאה לא קיים',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'קובץ השפה "%(filename)s" נוצר\\עודכן', 'language file "%(filename)s" created/updated': 'קובץ השפה "%(filename)s" נוצר\\עודכן',
'Language files (static strings) updated': 'קובץ השפה (מחרוזות סטאטיות) עודכן', 'Language files (static strings) updated': 'קובץ השפה (מחרוזות סטאטיות) עודכן',
'languages': 'שפות', 'languages': 'שפות',
'Languages': 'שפות', 'Languages': 'שפות',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'לאחרונה נשמר בתאריך:', 'Last saved on:': 'לאחרונה נשמר בתאריך:',
'License for': 'רשיון עבור', 'License for': 'רשיון עבור',
@@ -315,8 +359,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'התחבר', 'Login': 'התחבר',
'login': 'התחבר', 'login': 'התחבר',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'התחבר לממשק המנהל', 'Login to the Administrative Interface': 'התחבר לממשק המנהל',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -337,10 +385,12 @@
'Modules': 'מודולים', 'Modules': 'מודולים',
'modules': 'מודולים', 'modules': 'מודולים',
'Multi User Mode': 'Multi User Mode', 'Multi User Mode': 'Multi User Mode',
'Name': 'Name',
'new application "%s" created': 'האפליקציה "%s" נוצרה', 'new application "%s" created': 'האפליקציה "%s" נוצרה',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'New application wizard', 'New application wizard': 'New application wizard',
'New password': 'New password',
'new plugin installed': 'פלאגין חדש הותקן', 'new plugin installed': 'פלאגין חדש הותקן',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'רשומה חדשה', 'New Record': 'רשומה חדשה',
@@ -360,6 +410,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -368,6 +420,7 @@
'Or Get from URL:': 'Or Get from URL:', 'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'או יבא מקובץ csv', 'or import from csv file': 'או יבא מקובץ csv',
'or provide app url:': 'או ספק כתובת url של אפליקציה', 'or provide app url:': 'או ספק כתובת url של אפליקציה',
'Origin': 'Origin',
'Original/Translation': 'מקור\\תרגום', 'Original/Translation': 'מקור\\תרגום',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'התקן על גבי אפלקציה מותקנת', 'Overwrite installed app': 'התקן על גבי אפלקציה מותקנת',
@@ -376,7 +429,12 @@
'Pack custom': 'Pack custom', 'Pack custom': 'Pack custom',
'pack plugin': 'ארוז תוסף', 'pack plugin': 'ארוז תוסף',
'PAM authenticated user, cannot change password here': 'שינוי סיסמא באמצעות PAM אינו יכול להתבצע כאן', 'PAM authenticated user, cannot change password here': 'שינוי סיסמא באמצעות PAM אינו יכול להתבצע כאן',
'Password': 'Password',
'password changed': 'סיסמא שונתה', 'password changed': 'סיסמא שונתה',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -384,6 +442,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'תוסף "%(plugin)s" נמחק', 'plugin "%(plugin)s" deleted': 'תוסף "%(plugin)s" נמחק',
'Plugin "%s" in application': 'פלאגין "%s" של אפליקציה', 'Plugin "%s" in application': 'פלאגין "%s" של אפליקציה',
@@ -400,6 +459,7 @@
'previous 100 rows': '100 הרשומות הקודמות', 'previous 100 rows': '100 הרשומות הקודמות',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -416,20 +476,36 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': 'רשומה', 'record': 'רשומה',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'הרשומה אינה קיימת', 'record does not exist': 'הרשומה אינה קיימת',
'record id': 'מזהה רשומה', 'record id': 'מזהה רשומה',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'הסר מקומפל', 'Remove compiled': 'הסר מקומפל',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'הסר קובץ היוצר קונפליקט', 'Resolve Conflict file': 'הסר קובץ היוצר קונפליקט',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -467,6 +543,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'שורת פקודה', 'shell': 'שורת פקודה',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'אתר', 'Site': 'אתר',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -521,7 +598,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'these files are served without processing, your images go here': 'אלו הם קבצים הנשלחים מהשרת ללא עיבוד. הכנס את התמונות כאן', 'these files are served without processing, your images go here': 'אלו הם קבצים הנשלחים מהשרת ללא עיבוד. הכנס את התמונות כאן',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'זוהי תבנית הקובץ %(filename)s ', 'This is the %(filename)s template': 'זוהי תבנית הקובץ %(filename)s ',
@@ -534,6 +613,7 @@
'Ticket ID': 'Ticket ID', 'Ticket ID': 'Ticket ID',
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Ticket Missing',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'TM': 'סימן רשום', 'TM': 'סימן רשום',
'to previous version.': 'אין גירסא קודמת', 'to previous version.': 'אין גירסא קודמת',
'To create a plugin, name a file/folder plugin_[name]': 'כדי ליצור תוסף, קרא לקובץ או סיפריה בשם לפי התבנית plugin_[name]', 'To create a plugin, name a file/folder plugin_[name]': 'כדי ליצור תוסף, קרא לקובץ או סיפריה בשם לפי התבנית plugin_[name]',
@@ -549,6 +629,7 @@
'try something like': 'נסה משהו כמו', 'try something like': 'נסה משהו כמו',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'לא ניתן היה לבדוק אם יש שדרוגים', 'Unable to check for upgrades': 'לא ניתן היה לבדוק אם יש שדרוגים',
@@ -563,6 +644,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'לא הצלחתי לנתח את הקלט של קובץ csv', 'unable to parse csv file': 'לא הצלחתי לנתח את הקלט של קובץ csv',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'לא ניתן להסיר את "%s"', 'unable to uninstall "%s"': 'לא ניתן להסיר את "%s"',
'unable to upgrade because "%s"': 'לא ניתן היה לשדרג כי "%s"', 'unable to upgrade because "%s"': 'לא ניתן היה לשדרג כי "%s"',
'uncheck all': 'הסר סימון מהכל', 'uncheck all': 'הסר סימון מהכל',
@@ -586,10 +668,25 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'השתמש ב (...)&(...) עבור תנאי AND, (...)|(...) עבור תנאי OR ו~(...) עבור תנאי NOT ליצירת שאילתות מורכבות', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'השתמש ב (...)&(...) עבור תנאי AND, (...)|(...) עבור תנאי OR ו~(...) עבור תנאי NOT ליצירת שאילתות מורכבות',
'Use an url:': 'Use an url:', 'Use an url:': 'Use an url:',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'משתנים', 'variables': 'משתנים',
'Verify Password': 'Verify Password',
'Version': 'גירסא', 'Version': 'גירסא',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'versioning': 'מנגנון גירסאות', 'versioning': 'מנגנון גירסאות',
@@ -609,14 +706,20 @@
'web2py Recent Tweets': 'ציוצים אחרונים של web2py', 'web2py Recent Tweets': 'ציוצים אחרונים של web2py',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py שודרגה; נא אתחל אותה', 'web2py upgraded; please restart it': 'web2py שודרגה; נא אתחל אותה',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
'YES': 'כן', 'YES': 'כן',
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+102
View File
@@ -16,9 +16,23 @@
'(something like "it-it")': '(qualcosa simile a "it-it")', '(something like "it-it")': '(qualcosa simile a "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)', '@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', '@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files', '@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available: %s': 'È disponibile una nuova versione di web2py: %s', 'A new version of web2py is available: %s': 'È disponibile una nuova versione di web2py: %s',
'Abort': 'Abort', 'Abort': 'Abort',
'About': 'informazioni', 'About': 'informazioni',
@@ -51,6 +65,7 @@
'application is compiled and cannot be designed': "l'applicazione è compilata e non si può modificare", 'application is compiled and cannot be designed': "l'applicazione è compilata e non si può modificare",
'Application name:': 'Application name:', 'Application name:': 'Application name:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Confermi di voler cancellare il file "%s"?', 'Are you sure you want to delete file "%s"?': 'Confermi di voler cancellare il file "%s"?',
@@ -66,6 +81,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': "ATTENZIONE: L'accesso richiede una connessione sicura (HTTPS) o l'esecuzione di web2py in locale (connessione su localhost)", 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': "ATTENZIONE: L'accesso richiede una connessione sicura (HTTPS) o l'esecuzione di web2py in locale (connessione su localhost)",
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTZIONE: NON ESEGUIRE PIÙ TEST IN PARALLELO (I TEST NON SONO "THREAD SAFE")', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTZIONE: NON ESEGUIRE PIÙ TEST IN PARALLELO (I TEST NON SONO "THREAD SAFE")',
'ATTENTION: you cannot edit the running application!': "ATTENZIONE: non puoi modificare l'applicazione correntemente in uso ", 'ATTENTION: you cannot edit the running application!': "ATTENZIONE: non puoi modificare l'applicazione correntemente in uso ",
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Database e tabelle disponibili', 'Available databases and tables': 'Database e tabelle disponibili',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -94,6 +110,7 @@
'Change admin password': 'change admin password', 'Change admin password': 'change admin password',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'change password': 'cambia password', 'change password': 'cambia password',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'controlla tutto', 'check all': 'controlla tutto',
'Check for upgrades': 'check for upgrades', 'Check for upgrades': 'check for upgrades',
@@ -106,9 +123,11 @@
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'click here for online examples': 'clicca per vedere gli esempi', 'click here for online examples': 'clicca per vedere gli esempi',
'click here for the administrative interface': "clicca per l'interfaccia amministrativa", 'click here for the administrative interface': "clicca per l'interfaccia amministrativa",
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'clicca per controllare presenza di aggiornamenti', 'click to check for upgrades': 'clicca per controllare presenza di aggiornamenti',
'Client IP': 'Client IP',
'code': 'code', 'code': 'code',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': 'collapse/expand all', 'collapse/expand all': 'collapse/expand all',
@@ -172,6 +191,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'progetta', 'design': 'progetta',
'Detailed traceback description': 'Detailed traceback description', 'Detailed traceback description': 'Detailed traceback description',
@@ -198,6 +218,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'download plugins', 'download plugins': 'download plugins',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'EDIT': 'MODIFICA', 'EDIT': 'MODIFICA',
'Edit': 'modifica', 'Edit': 'modifica',
'edit all': 'edit all', 'edit all': 'edit all',
@@ -213,9 +234,13 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
'Enter an integer between %(min)g and %(max)g': 'Enter an integer between %(min)g and %(max)g',
'Enterprise Web Framework': 'Enterprise Web Framework', 'Enterprise Web Framework': 'Enterprise Web Framework',
'Error': 'Error', 'Error': 'Error',
'Error logs for "%(app)s"': 'Log degli errori per "%(app)s"', 'Error logs for "%(app)s"': 'Log degli errori per "%(app)s"',
@@ -251,8 +276,10 @@
'filter': 'filter', 'filter': 'filter',
'Find Next': 'Find Next', 'Find Next': 'Find Next',
'Find Previous': 'Find Previous', 'Find Previous': 'Find Previous',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'I test delle funzioni senza "doctests" risulteranno sempre [passed].', 'Functions with no doctests will result in [passed] tests.': 'I test delle funzioni senza "doctests" risulteranno sempre [passed].',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -268,6 +295,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': 'Salve Mondo', 'Hello World': 'Salve Mondo',
'Help': 'aiuto', 'Help': 'aiuto',
'here': 'here', 'here': 'here',
@@ -286,6 +317,7 @@
'Import/Export': 'Importa/Esporta', 'Import/Export': 'Importa/Esporta',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'include', 'includes': 'include',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'Index': 'Indice', 'Index': 'Indice',
'insert new': 'inserisci nuovo', 'insert new': 'inserisci nuovo',
@@ -294,6 +326,7 @@
'Install': 'installa', 'Install': 'installa',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Applicazioni installate', 'Installed applications': 'Applicazioni installate',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'errore interno', 'internal error': 'errore interno',
@@ -302,23 +335,33 @@
'Invalid action': 'Azione non valida', 'Invalid action': 'Azione non valida',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'password non valida', 'invalid password': 'password non valida',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Richiesta (query) non valida', 'Invalid Query': 'Richiesta (query) non valida',
'invalid request': 'richiesta non valida', 'invalid request': 'richiesta non valida',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'ticket non valido', 'invalid ticket': 'ticket non valido',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key bindings': 'Key bindings', 'Key bindings': 'Key bindings',
'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin', 'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'file linguaggio "%(filename)s" creato/aggiornato', 'language file "%(filename)s" created/updated': 'file linguaggio "%(filename)s" creato/aggiornato',
'Language files (static strings) updated': 'Linguaggi (documenti con stringhe statiche) aggiornati', 'Language files (static strings) updated': 'Linguaggi (documenti con stringhe statiche) aggiornati',
'languages': 'linguaggi', 'languages': 'linguaggi',
'Languages': 'Linguaggi', 'Languages': 'Linguaggi',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Ultimo salvataggio:', 'Last saved on:': 'Ultimo salvataggio:',
'Layout': 'Layout', 'Layout': 'Layout',
@@ -333,8 +376,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Accesso', 'Login': 'Accesso',
'login': 'accesso', 'login': 'accesso',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': "Accesso all'interfaccia amministrativa", 'Login to the Administrative Interface': "Accesso all'interfaccia amministrativa",
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -356,10 +403,12 @@
'Modules': 'Moduli', 'Modules': 'Moduli',
'modules': 'moduli', 'modules': 'moduli',
'Multi User Mode': 'Multi User Mode', 'Multi User Mode': 'Multi User Mode',
'Name': 'Name',
'new application "%s" created': 'creata la nuova applicazione "%s"', 'new application "%s" created': 'creata la nuova applicazione "%s"',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'New application wizard', 'New application wizard': 'New application wizard',
'New password': 'New password',
'new plugin installed': 'installato nuovo plugin', 'new plugin installed': 'installato nuovo plugin',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Nuovo elemento (record)', 'New Record': 'Nuovo elemento (record)',
@@ -379,6 +428,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'online designer': 'online designer', 'online designer': 'online designer',
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
@@ -388,6 +439,7 @@
'Or Get from URL:': 'Or Get from URL:', 'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'oppure importa da file CSV', 'or import from csv file': 'oppure importa da file CSV',
'or provide app url:': "oppure fornisci url dell'applicazione:", 'or provide app url:': "oppure fornisci url dell'applicazione:",
'Origin': 'Origin',
'Original/Translation': 'Originale/Traduzione', 'Original/Translation': 'Originale/Traduzione',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'sovrascrivi applicazione installata', 'Overwrite installed app': 'sovrascrivi applicazione installata',
@@ -396,7 +448,12 @@
'Pack custom': 'Pack custom', 'Pack custom': 'Pack custom',
'pack plugin': 'crea pacchetto del plugin', 'pack plugin': 'crea pacchetto del plugin',
'PAM authenticated user, cannot change password here': 'utente autenticato tramite PAM, impossibile modificare password qui', 'PAM authenticated user, cannot change password here': 'utente autenticato tramite PAM, impossibile modificare password qui',
'Password': 'Password',
'password changed': 'password modificata', 'password changed': 'password modificata',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -404,6 +461,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" cancellato', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" cancellato',
'Plugin "%s" in application': 'Plugin "%s" nell\'applicazione', 'Plugin "%s" in application': 'Plugin "%s" nell\'applicazione',
@@ -420,6 +478,7 @@
'previous 100 rows': '100 righe precedenti', 'previous 100 rows': '100 righe precedenti',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -436,21 +495,37 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': 'record', 'record': 'record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'il record non esiste', 'record does not exist': 'il record non esiste',
'record id': 'ID del record', 'record id': 'ID del record',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'registrazione', 'register': 'registrazione',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'reload': 'reload', 'reload': 'reload',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'rimozione codice compilato', 'Remove compiled': 'rimozione codice compilato',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'File di risoluzione conflitto', 'Resolve Conflict file': 'File di risoluzione conflitto',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -488,6 +563,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'sito', 'Site': 'sito',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -543,7 +619,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'these files are served without processing, your images go here': 'questi files vengono serviti così come sono, le immagini vanno qui', 'these files are served without processing, your images go here': 'questi files vengono serviti così come sono, le immagini vanno qui',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'Questo è il template %(filename)s', 'This is the %(filename)s template': 'Questo è il template %(filename)s',
@@ -556,6 +634,7 @@
'Ticket ID': 'Ticket ID', 'Ticket ID': 'Ticket ID',
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Ticket Missing',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'TM': 'TM', 'TM': 'TM',
'to previous version.': 'torna a versione precedente', 'to previous version.': 'torna a versione precedente',
'To create a plugin, name a file/folder plugin_[name]': 'Per creare un plugin, chiamare un file o cartella plugin_[nome]', 'To create a plugin, name a file/folder plugin_[name]': 'Per creare un plugin, chiamare un file o cartella plugin_[nome]',
@@ -571,6 +650,7 @@
'try something like': 'prova qualcosa come', 'try something like': 'prova qualcosa come',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Impossibile controllare presenza di aggiornamenti', 'Unable to check for upgrades': 'Impossibile controllare presenza di aggiornamenti',
@@ -586,6 +666,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'non riesco a decodificare questo file CSV', 'unable to parse csv file': 'non riesco a decodificare questo file CSV',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'impossibile disinstallare "%s"', 'unable to uninstall "%s"': 'impossibile disinstallare "%s"',
'unable to upgrade because "%s"': 'impossibile aggiornare perché "%s"', 'unable to upgrade because "%s"': 'impossibile aggiornare perché "%s"',
'uncheck all': 'smarca tutti', 'uncheck all': 'smarca tutti',
@@ -608,10 +689,25 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Per costruire richieste (query) più complesse si usano (...)&(...) come "e" (AND), (...)|(...) come "o" (OR), e ~(...) come negazione (NOT).', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Per costruire richieste (query) più complesse si usano (...)&(...) come "e" (AND), (...)|(...) come "o" (OR), e ~(...) come negazione (NOT).',
'Use an url:': 'Use an url:', 'Use an url:': 'Use an url:',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Verify Password',
'Version': 'Versione', 'Version': 'Versione',
'Version %s.%s.%s %s (%s)': 'Version %s.%s.%s %s (%s)', 'Version %s.%s.%s %s (%s)': 'Version %s.%s.%s %s (%s)',
'Version %s.%s.%s (%s) %s': 'Version %s.%s.%s (%s) %s', 'Version %s.%s.%s (%s) %s': 'Version %s.%s.%s (%s) %s',
@@ -634,6 +730,7 @@
'web2py Recent Tweets': 'Tweets recenti per web2py', 'web2py Recent Tweets': 'Tweets recenti per web2py',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py aggiornato; prego riavviarlo', 'web2py upgraded; please restart it': 'web2py aggiornato; prego riavviarlo',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': 'Benvenuto %s', 'Welcome %s': 'Benvenuto %s',
'Welcome to web2py': 'Benvenuto su web2py', 'Welcome to web2py': 'Benvenuto su web2py',
'Working...': 'Working...', 'Working...': 'Working...',
@@ -642,8 +739,13 @@
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+103 -1
View File
@@ -16,8 +16,23 @@
'(something like "it-it")': '(例: "it-it")', '(something like "it-it")': '(例: "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', '@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': '検索中: **%s** ファイル', '@markmin\x01Searching: **%s** %%{file}': '検索中: **%s** ファイル',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'Abort': '中断', 'Abort': '中断',
'About': 'About', 'About': 'About',
'About application': 'アプリケーションについて', 'About application': 'アプリケーションについて',
@@ -46,6 +61,7 @@
'application is compiled and cannot be designed': 'application is compiled and cannot be designed', 'application is compiled and cannot be designed': 'application is compiled and cannot be designed',
'Application name:': 'アプリケーション名:', 'Application name:': 'アプリケーション名:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?', 'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?',
@@ -60,6 +76,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '注意: 安全(HTTPS)な接続でログインするかlocalhostで実行されている必要があります。', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '注意: 安全(HTTPS)な接続でログインするかlocalhostで実行されている必要があります。',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: テストはスレッドセーフではないので複数のテストを同時に実行しないでください。', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: テストはスレッドセーフではないので複数のテストを同時に実行しないでください。',
'ATTENTION: you cannot edit the running application!': '注意: 実行中のアプリケーションは編集できません!', 'ATTENTION: you cannot edit the running application!': '注意: 実行中のアプリケーションは編集できません!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': '利用可能なデータベースとテーブル一覧', 'Available databases and tables': '利用可能なデータベースとテーブル一覧',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -87,6 +104,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': '管理者パスワード変更', 'Change admin password': '管理者パスワード変更',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': '全てを選択', 'check all': '全てを選択',
'Check for upgrades': '更新チェック', 'Check for upgrades': '更新チェック',
@@ -97,8 +115,10 @@
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Clear CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Clear DISK',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': '列をクリックしてトレースバックを展開', 'Click row to expand traceback': '列をクリックしてトレースバックを展開',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'Client IP': 'Client IP',
'code': 'コード', 'code': 'コード',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': '全て開閉する', 'collapse/expand all': '全て開閉する',
@@ -128,7 +148,7 @@
'Current response': 'Current response', 'Current response': 'Current response',
'Current session': 'Current session', 'Current session': 'Current session',
'currently running': '現在実行中', 'currently running': '現在実行中',
'currently saved or': '現在保存されているデータ または', 'currently saved or': '現在保存されているデータ\u3000または',
'data uploaded': 'data uploaded', 'data uploaded': 'data uploaded',
'Database': 'Database', 'Database': 'Database',
'Database %s select': 'Database %s select', 'Database %s select': 'Database %s select',
@@ -154,6 +174,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'デザイン', 'design': 'デザイン',
'Detailed traceback description': '詳細なトレースバック内容', 'Detailed traceback description': '詳細なトレースバック内容',
@@ -180,6 +201,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'プラグインのダウンロード', 'download plugins': 'プラグインのダウンロード',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'Edit': '編集', 'Edit': '編集',
'edit all': '全て編集', 'edit all': '全て編集',
'Edit application': 'アプリケーションを編集', 'Edit application': 'アプリケーションを編集',
@@ -192,6 +214,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': '有効', 'Enable': '有効',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -228,8 +253,10 @@
'filter': 'フィルタ', 'filter': 'フィルタ',
'Find Next': 'Find Next', 'Find Next': 'Find Next',
'Find Previous': 'Find Previous', 'Find Previous': 'Find Previous',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'フレーム', 'Frames': 'フレーム',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'doctestsのない関数は自動的にテストをパスします。', 'Functions with no doctests will result in [passed] tests.': 'doctestsのない関数は自動的にテストをパスします。',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -245,6 +272,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'ヘルプ', 'Help': 'ヘルプ',
'here': 'here', 'here': 'here',
'Hide/Show Translated strings': 'Hide/Show Translated strings', 'Hide/Show Translated strings': 'Hide/Show Translated strings',
@@ -261,12 +292,14 @@
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'インクルード', 'includes': 'インクルード',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'index': 'index', 'index': 'index',
'inspect attributes': '引数の検査', 'inspect attributes': '引数の検査',
'Install': 'インストール', 'Install': 'インストール',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'アプリケーション一覧', 'Installed applications': 'アプリケーション一覧',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'internal error', 'internal error': 'internal error',
@@ -275,21 +308,31 @@
'Invalid action': 'Invalid action', 'Invalid action': 'Invalid action',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'invalid password', 'invalid password': 'invalid password',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Invalid Query', 'Invalid Query': 'Invalid Query',
'invalid request': 'invalid request', 'invalid request': 'invalid request',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'invalid ticket', 'invalid ticket': 'invalid ticket',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated', 'language file "%(filename)s" created/updated': 'language file "%(filename)s" created/updated',
'Language files (static strings) updated': 'Language files (static strings) updated', 'Language files (static strings) updated': 'Language files (static strings) updated',
'languages': '言語', 'languages': '言語',
'Languages': '言語', 'Languages': '言語',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': '最終保存日時:', 'Last saved on:': '最終保存日時:',
'License for': 'License for', 'License for': 'License for',
@@ -303,7 +346,11 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'ローカル', 'locals': 'ローカル',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'ログイン', 'Login': 'ログイン',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': '管理画面へログイン', 'Login to the Administrative Interface': '管理画面へログイン',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -324,10 +371,12 @@
'Modules': 'モジュール', 'Modules': 'モジュール',
'modules': 'モジュール', 'modules': 'モジュール',
'Multi User Mode': 'Multi User Mode', 'Multi User Mode': 'Multi User Mode',
'Name': 'Name',
'new application "%s" created': 'new application "%s" created', 'new application "%s" created': 'new application "%s" created',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': '新規アプリケーション作成ウィザード', 'New Application Wizard': '新規アプリケーション作成ウィザード',
'New application wizard': '新規アプリケーション作成ウィザード', 'New application wizard': '新規アプリケーション作成ウィザード',
'New password': 'New password',
'new plugin installed': '新しいプラグインがインストールされました', 'new plugin installed': '新しいプラグインがインストールされました',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'New Record', 'New Record': 'New Record',
@@ -346,6 +395,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'online designer': 'オンラインデザイナー', 'online designer': 'オンラインデザイナー',
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
@@ -354,6 +405,7 @@
'or alternatively': 'or alternatively', 'or alternatively': 'or alternatively',
'Or Get from URL:': 'Or Get from URL:', 'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'or import from csv file', 'or import from csv file': 'or import from csv file',
'Origin': 'Origin',
'Original/Translation': 'Original/Translation', 'Original/Translation': 'Original/Translation',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'アプリケーションを上書き', 'Overwrite installed app': 'アプリケーションを上書き',
@@ -361,7 +413,12 @@
'Pack compiled': 'コンパイルデータのパッケージ化', 'Pack compiled': 'コンパイルデータのパッケージ化',
'Pack custom': 'Pack custom', 'Pack custom': 'Pack custom',
'pack plugin': 'プラグインのパッケージ化', 'pack plugin': 'プラグインのパッケージ化',
'Password': 'Password',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -369,6 +426,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': '"%(plugin)s"プラグインは削除されました', 'plugin "%(plugin)s" deleted': '"%(plugin)s"プラグインは削除されました',
'Plugin "%s" in application': '"%s"プラグイン', 'Plugin "%s" in application': '"%s"プラグイン',
@@ -384,6 +442,7 @@
'previous %s rows': 'previous %s rows', 'previous %s rows': 'previous %s rows',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -399,19 +458,35 @@
'Ram Cleared': 'Ram Cleared', 'Ram Cleared': 'Ram Cleared',
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'record does not exist', 'record does not exist': 'record does not exist',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'ルーティング再読み込み', 'Reload routes': 'ルーティング再読み込み',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'コンパイルデータの削除', 'Remove compiled': 'コンパイルデータの削除',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'リクエスト', 'request': 'リクエスト',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Resolve Conflict file', 'Resolve Conflict file': 'Resolve Conflict file',
'response': 'レスポンス', 'response': 'レスポンス',
'restart': '最初からやり直し', 'restart': '最初からやり直し',
@@ -447,6 +522,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'サイト', 'Site': 'サイト',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -495,7 +571,9 @@
'There are no views': 'ビューがありません', 'There are no views': 'ビューがありません',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'これらのファイルは直接参照されます, ここに画像が入ります', 'These files are served without processing, your images go here': 'これらのファイルは直接参照されます, ここに画像が入ります',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
"This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.", "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.",
@@ -507,6 +585,7 @@
'Ticket ID': 'チケットID', 'Ticket ID': 'チケットID',
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Ticket Missing',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'to previous version.': '前のバージョンへ戻す。', 'to previous version.': '前のバージョンへ戻す。',
'To create a plugin, name a file/folder plugin_[name]': 'ファイル名/フォルダ名 plugin_[名称]としてプラグインを作成してください', 'To create a plugin, name a file/folder plugin_[name]': 'ファイル名/フォルダ名 plugin_[名称]としてプラグインを作成してください',
'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:', 'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:',
@@ -519,6 +598,7 @@
'try something like': 'try something like', 'try something like': 'try something like',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Unable to check for upgrades', 'Unable to check for upgrades': 'Unable to check for upgrades',
@@ -533,6 +613,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'unable to parse csv file', 'unable to parse csv file': 'unable to parse csv file',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'unable to uninstall "%s"', 'unable to uninstall "%s"': 'unable to uninstall "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': '全ての選択を解除', 'uncheck all': '全ての選択を解除',
@@ -552,10 +633,25 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'user': 'ユーザー', 'user': 'ユーザー',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': '変数', 'variables': '変数',
'Verify Password': 'Verify Password',
'Version': 'バージョン', 'Version': 'バージョン',
'Versioning': 'バージョン管理', 'Versioning': 'バージョン管理',
'Views': 'ビュー', 'Views': 'ビュー',
@@ -573,14 +669,20 @@
'web2py Recent Tweets': '最近のweb2pyTweets', 'web2py Recent Tweets': '最近のweb2pyTweets',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
'YES': 'はい', 'YES': 'はい',
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+80
View File
@@ -15,7 +15,23 @@
'(something like "it-it")': '(something like "it-it")', '(something like "it-it")': '(something like "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', '@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** %%{file}',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'Abort': 'Abort', 'Abort': 'Abort',
'About': 'အကြောင်း', 'About': 'အကြောင်း',
'About application': 'About application', 'About application': 'About application',
@@ -47,6 +63,7 @@
'application is compiled and cannot be designed': 'application is compiled and cannot be designed', 'application is compiled and cannot be designed': 'application is compiled and cannot be designed',
'Application name:': 'Application name:', 'Application name:': 'Application name:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'အသုံးမပြုပါ', 'are not used': 'အသုံးမပြုပါ',
'are not used yet': 'အသုံးမပြုသေးပါ', 'are not used yet': 'အသုံးမပြုသေးပါ',
'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?', 'Are you sure you want to delete file "%s"?': 'Are you sure you want to delete file "%s"?',
@@ -61,6 +78,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!', 'ATTENTION: you cannot edit the running application!': 'ATTENTION: you cannot edit the running application!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available Databases and Tables': 'အသုံးပြုနိုင်သော ဒေတာဘေစ့်များနှင့် ဇယားများ', 'Available Databases and Tables': 'အသုံးပြုနိုင်သော ဒေတာဘေစ့်များနှင့် ဇယားများ',
'back': 'back', 'back': 'back',
@@ -88,6 +106,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'Change admin password', 'Change admin password': 'Change admin password',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'check all', 'check all': 'check all',
'Check for upgrades': 'Check for upgrades', 'Check for upgrades': 'Check for upgrades',
@@ -98,6 +117,7 @@
'Clear CACHE?': 'CACHE ကို ရှင်းလင်းမည်မှာ ဟုတ်ပါသလား။', 'Clear CACHE?': 'CACHE ကို ရှင်းလင်းမည်မှာ ဟုတ်ပါသလား။',
'Clear DISK': 'DISK ကို ရှင်းလင်းမည်။', 'Clear DISK': 'DISK ကို ရှင်းလင်းမည်။',
'Clear RAM': 'RAM ကို ရှင်းလင်းမည်။', 'Clear RAM': 'RAM ကို ရှင်းလင်းမည်။',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'Client IP': 'Client IP', 'Client IP': 'Client IP',
@@ -206,6 +226,9 @@
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email and SMS': 'အီးမေးလ်နှင့် SMS', 'Email and SMS': 'အီးမေးလ်နှင့် SMS',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'ဖွင့်ရန်', 'Enable': 'ဖွင့်ရန်',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -249,6 +272,7 @@
'Forms and Validators': 'Forms and Validators', 'Forms and Validators': 'Forms and Validators',
'Frames': 'Frames', 'Frames': 'Frames',
'Free Applications': 'အခမဲ့ Applications', 'Free Applications': 'အခမဲ့ Applications',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.', 'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -263,7 +287,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID', 'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Groups': 'အဖွဲ့များ', 'Groups': 'အဖွဲ့များ',
'Hello World': 'မင်္ဂလာပါ ကမ္ဘာကြီး။', 'Hello World': 'မင်္ဂလာပါ ကမ္ဘာကြီး။',
'Help': 'အကူအညီ', 'Help': 'အကူအညီ',
@@ -283,11 +310,13 @@
'Import/Export': 'သွင်းယူရန်/ထုတ်ယူရန်', 'Import/Export': 'သွင်းယူရန်/ထုတ်ယူရန်',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'includes', 'includes': 'includes',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'inspect attributes': 'inspect attributes', 'inspect attributes': 'inspect attributes',
'Install': 'Install', 'Install': 'Install',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'ထည့်သွင်းပြီး application များ', 'Installed applications': 'ထည့်သွင်းပြီး application များ',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'internal error', 'internal error': 'internal error',
@@ -299,15 +328,23 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'အီးမေးလ် ဖြည့်သွင်းမှုမှားနေသည်', 'Invalid email': 'အီးမေးလ် ဖြည့်သွင်းမှုမှားနေသည်',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'invalid password', 'invalid password': 'invalid password',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Invalid Query', 'Invalid Query': 'Invalid Query',
'invalid request': 'invalid request', 'invalid request': 'invalid request',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'invalid ticket', 'invalid ticket': 'invalid ticket',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Is Active': 'Is Active', 'Is Active': 'Is Active',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'Language': 'ဘာသာစကား', 'Language': 'ဘာသာစကား',
@@ -332,7 +369,11 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'ဝင်ရောက်အသုံးပြုရန်', 'Login': 'ဝင်ရောက်အသုံးပြုရန်',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Login to the Administrative Interface', 'Login to the Administrative Interface': 'Login to the Administrative Interface',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -363,6 +404,7 @@
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'New application wizard', 'New application wizard': 'New application wizard',
'New password': 'New password',
'new plugin installed': 'new plugin installed', 'new plugin installed': 'new plugin installed',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'မှတ်တမ်း အသစ်', 'New Record': 'မှတ်တမ်း အသစ်',
@@ -382,6 +424,7 @@
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name', 'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Online examples': 'အွန်လိုင်း နမူနာများ', 'Online examples': 'အွန်လိုင်း နမူနာများ',
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
@@ -402,7 +445,10 @@
'pack plugin': 'pack plugin', 'pack plugin': 'pack plugin',
'Password': 'စကားဝှက်', 'Password': 'စကားဝှက်',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": 'စကားဝှက်များ ကိုက်ညီမှု မရှိပါ', "Password fields don't match": 'စကားဝှက်များ ကိုက်ညီမှု မရှိပါ',
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -427,6 +473,7 @@
'previous %s rows': 'previous %s rows', 'previous %s rows': 'previous %s rows',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -445,14 +492,24 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Recipes': 'Recipes', 'Recipes': 'Recipes',
'Record': 'မှတ်တမ်း', 'Record': 'မှတ်တမ်း',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'မှတ်တမ်း မရှိပါ', 'record does not exist': 'မှတ်တမ်း မရှိပါ',
'Record ID': 'Record ID', 'Record ID': 'Record ID',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Register': 'မှတ်ပုံတင်ရန်', 'Register': 'မှတ်ပုံတင်ရန်',
'Registration identifier': 'Registration identifier', 'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key', 'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)', 'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Remove compiled', 'Remove compiled': 'Remove compiled',
@@ -502,6 +559,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Site', 'Site': 'Site',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -556,6 +614,7 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'This App': 'ဒီ App', 'This App': 'ဒီ App',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'ဒီအီးမေးလ်တွင် အကောင့် ရှိပြီး ဖြစ်ပါသည်', 'This email already has an account': 'ဒီအီးမေးလ်တွင် အကောင့် ရှိပြီး ဖြစ်ပါသည်',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
@@ -583,6 +642,7 @@
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Unable to check for upgrades', 'Unable to check for upgrades': 'Unable to check for upgrades',
@@ -596,6 +656,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'unable to parse csv file', 'unable to parse csv file': 'unable to parse csv file',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'unable to uninstall "%s"', 'unable to uninstall "%s"': 'unable to uninstall "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': 'uncheck all', 'uncheck all': 'uncheck all',
@@ -614,8 +675,21 @@
'upload plugin file:': 'upload plugin file:', 'upload plugin file:': 'upload plugin file:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'User': 'အသုံးပြုသူ', 'User': 'အသုံးပြုသူ',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID', 'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'အသုံးပြုသူများ', 'Users': 'အသုံးပြုသူများ',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
@@ -639,6 +713,7 @@
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome': 'ကြိုဆိုပါ၏', 'Welcome': 'ကြိုဆိုပါ၏',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py!': 'web2py မှ ကြိုဆိုပါသည်။', 'Welcome to web2py!': 'web2py မှ ကြိုဆိုပါသည်။',
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', 'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
'Working...': 'ဆောင်ရွက်နေပါသည် ။ ။ ။', 'Working...': 'ဆောင်ရွက်နေပါသည် ။ ။ ။',
@@ -649,11 +724,16 @@
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You can modify this application and adapt it to your needs': 'သင် ဒီ application ကို ပြုပြင်မွမ်းမံနိုင်ပါသည်။ ထို့အပြင် သင့်လိုအပ်ချက်များနှင့် ကိုက်ညီစေရန် ပြုလုပ်နိုင်ပါသည်။', 'You can modify this application and adapt it to your needs': 'သင် ဒီ application ကို ပြုပြင်မွမ်းမံနိုင်ပါသည်။ ထို့အပြင် သင့်လိုအပ်ချက်များနှင့် ကိုက်ညီစေရန် ပြုလုပ်နိုင်ပါသည်။',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'You visited the url %s': 'သင် လည်ပတ်ခဲ့သော URL %s', 'You visited the url %s': 'သင် လည်ပတ်ခဲ့သော URL %s',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
'စကားဝှက် အသစ် တောင်းဆိုရန်': 'စကားဝှက် အသစ် တောင်းဆိုရန်', 'စကားဝှက် အသစ် တောင်းဆိုရန်': 'စကားဝှက် အသစ် တောင်းဆိုရန်',
'မှတ်ပုံတင်ရန်': 'မှတ်ပုံတင်ရန်', 'မှတ်ပုံတင်ရန်': 'မှတ်ပုံတင်ရန်',
'ဝင်ရောက်အသုံးပြုရန်': 'ဝင်ရောက်အသုံးပြုရန်', 'ဝင်ရောက်အသုံးပြုရန်': 'ဝင်ရောက်အသုံးပြုရန်',
+103
View File
@@ -18,7 +18,23 @@
'(something like "it-it")': '(zoiets als "it-it")', '(something like "it-it")': '(zoiets als "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': '@markmin: zoeken: **%s** %%{file}', '@markmin\x01Searching: **%s** %%{file}': '@markmin: zoeken: **%s** %%{file}',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'Abort': 'Afbreken', 'Abort': 'Afbreken',
'About': 'Over', 'About': 'Over',
'about': 'over', 'about': 'over',
@@ -50,6 +66,7 @@
'application is compiled and cannot be designed': 'applicatie is gecompileerd en kan niet worden ontworpen', 'application is compiled and cannot be designed': 'applicatie is gecompileerd en kan niet worden ontworpen',
'Application name:': 'Applicatienaam:', 'Application name:': 'Applicatienaam:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'worden niet gebruikt', 'are not used': 'worden niet gebruikt',
'are not used yet': 'worden nog niet gebruikt', 'are not used yet': 'worden nog niet gebruikt',
'Are you sure you want to delete file "%s"?': 'Weet je zeker dat je bestand "%s" wilt verwijderen?', 'Are you sure you want to delete file "%s"?': 'Weet je zeker dat je bestand "%s" wilt verwijderen?',
@@ -64,6 +81,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'LET OP: Login heeft beveiligde (HTTPS) verbinding nodig of moet draaien op localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'LET OP: Login heeft beveiligde (HTTPS) verbinding nodig of moet draaien op localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'LET OP: TESTEN IS NIET THREAD SAFE EN PROBEER NIET MEERDERE TESTEN TEGELIJK TE DOEN.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'LET OP: TESTEN IS NIET THREAD SAFE EN PROBEER NIET MEERDERE TESTEN TEGELIJK TE DOEN.',
'ATTENTION: you cannot edit the running application!': 'LET OP: je kan de draaiende applicatie niet bewerken!', 'ATTENTION: you cannot edit the running application!': 'LET OP: je kan de draaiende applicatie niet bewerken!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Beschikbare databases en tabellen', 'Available databases and tables': 'Beschikbare databases en tabellen',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -92,6 +110,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'Verander admin wachtwoord', 'Change admin password': 'Verander admin wachtwoord',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'vink alles aan', 'check all': 'vink alles aan',
'Check for upgrades': 'Controleer voor upgrades', 'Check for upgrades': 'Controleer voor upgrades',
@@ -102,8 +121,10 @@
'Clear CACHE?': 'Leeg CACHE?', 'Clear CACHE?': 'Leeg CACHE?',
'Clear DISK': 'Leeg DISK', 'Clear DISK': 'Leeg DISK',
'Clear RAM': 'Leeg RAM', 'Clear RAM': 'Leeg RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Klik rij om traceback uit te klappen', 'Click row to expand traceback': 'Klik rij om traceback uit te klappen',
'Click row to view a ticket': 'Klik rij om ticket te bekijken', 'Click row to view a ticket': 'Klik rij om ticket te bekijken',
'Client IP': 'Client IP',
'code': 'code', 'code': 'code',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': 'klap in/klap alles uit', 'collapse/expand all': 'klap in/klap alles uit',
@@ -165,6 +186,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Deploymentformulier', 'Deployment form': 'Deploymentformulier',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'design', 'design': 'design',
'Detailed traceback description': 'Gedetailleerde traceback beschrijving', 'Detailed traceback description': 'Gedetailleerde traceback beschrijving',
@@ -191,6 +213,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'download plugins', 'download plugins': 'download plugins',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'Edit': 'Bewerk', 'Edit': 'Bewerk',
'edit all': 'bewerk alles', 'edit all': 'bewerk alles',
'Edit application': 'Bewerk applicatie', 'Edit application': 'Bewerk applicatie',
@@ -204,6 +227,9 @@
'Editing Plural Forms File': 'Meervoudsvormenbestand aan het bewerken', 'Editing Plural Forms File': 'Meervoudsvormenbestand aan het bewerken',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Zet aan', 'Enable': 'Zet aan',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -243,8 +269,10 @@
'filter': 'filter', 'filter': 'filter',
'Find Next': 'Find Next', 'Find Next': 'Find Next',
'Find Previous': 'Find Previous', 'Find Previous': 'Find Previous',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Functies zonder doctests zullen resulteren in [passed] tests.', 'Functions with no doctests will result in [passed] tests.': 'Functies zonder doctests zullen resulteren in [passed] tests.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -261,6 +289,10 @@
'Goto': 'Ga naar', 'Goto': 'Ga naar',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'Help', 'Help': 'Help',
'here': 'here', 'here': 'here',
'Hide/Show Translated strings': 'Verberg/Toon Vertaalde strings', 'Hide/Show Translated strings': 'Verberg/Toon Vertaalde strings',
@@ -277,6 +309,7 @@
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'Binnen ontwikkeling, gebruik de default Rocket webserver die op het moment ondersteund wordt door deze debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'Binnen ontwikkeling, gebruik de default Rocket webserver die op het moment ondersteund wordt door deze debugger.',
'includes': 'includes', 'includes': 'includes',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'index': 'index', 'index': 'index',
'insert new': 'insert new', 'insert new': 'insert new',
@@ -285,6 +318,7 @@
'Install': 'Install', 'Install': 'Install',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Geïnstalleerde applicaties', 'Installed applications': 'Geïnstalleerde applicaties',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interactie op %s regel %s', 'Interaction at %s line %s': 'Interactie op %s regel %s',
'Interactive console': 'Interactieve console', 'Interactive console': 'Interactieve console',
'internal error': 'interne error', 'internal error': 'interne error',
@@ -294,24 +328,34 @@
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circual reference': 'ongeldige cirkelreferentie', 'invalid circual reference': 'ongeldige cirkelreferentie',
'invalid circular reference': 'Ongeldige circulaire referentie', 'invalid circular reference': 'Ongeldige circulaire referentie',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'ongeldig wachtwoord', 'invalid password': 'ongeldig wachtwoord',
'Invalid password': 'Invalid password',
'invalid password.': 'ongeldig wachtwoord.', 'invalid password.': 'ongeldig wachtwoord.',
'Invalid Query': 'Ongeldige Query', 'Invalid Query': 'Ongeldige Query',
'invalid request': 'ongeldige request', 'invalid request': 'ongeldige request',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'invalid request ': 'ongeldige request', 'invalid request ': 'ongeldige request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'ongeldige tabelnamen (auth_* tabellen zijn al gedefinieerd)', 'invalid table names (auth_* tables already defined)': 'ongeldige tabelnamen (auth_* tabellen zijn al gedefinieerd)',
'invalid ticket': 'ongeldige ticket', 'invalid ticket': 'ongeldige ticket',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key bindings': 'Key bindings', 'Key bindings': 'Key bindings',
'Key bindings for ZenCoding Plugin': 'Key bindings voor ZenCoding Plugin', 'Key bindings for ZenCoding Plugin': 'Key bindings voor ZenCoding Plugin',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill proces', 'kill process': 'kill proces',
'language file "%(filename)s" created/updated': 'taalbestand "%(filename)s" gemaakt/geupdate', 'language file "%(filename)s" created/updated': 'taalbestand "%(filename)s" gemaakt/geupdate',
'Language files (static strings) updated': 'Taalbestanden (statische strings) geupdate', 'Language files (static strings) updated': 'Taalbestanden (statische strings) geupdate',
'languages': 'talen', 'languages': 'talen',
'Languages': 'Talen', 'Languages': 'Talen',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Laatst opgeslagen op:', 'Last saved on:': 'Laatst opgeslagen op:',
'License for': 'Licentie voor', 'License for': 'Licentie voor',
@@ -326,8 +370,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Login', 'Login': 'Login',
'login': 'Login', 'login': 'Login',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Login op de Administratieve Interface', 'Login to the Administrative Interface': 'Login op de Administratieve Interface',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -355,10 +403,12 @@
'Must include at least %s lowercase': 'Moet ten minste bevatten %s kleine letter', 'Must include at least %s lowercase': 'Moet ten minste bevatten %s kleine letter',
'Must include at least %s of the following : %s': 'Moet ten minste bevatten %s van het volgende : %s', 'Must include at least %s of the following : %s': 'Moet ten minste bevatten %s van het volgende : %s',
'Must include at least %s uppercase': 'Moet ten minste bevatten %s hoofdletter', 'Must include at least %s uppercase': 'Moet ten minste bevatten %s hoofdletter',
'Name': 'Name',
'new application "%s" created': 'nieuwe applicatie "%s" gemaakt', 'new application "%s" created': 'nieuwe applicatie "%s" gemaakt',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'Nieuwe Applicatie Wizard', 'New Application Wizard': 'Nieuwe Applicatie Wizard',
'New application wizard': 'Nieuwe applicatie wizard', 'New application wizard': 'Nieuwe applicatie wizard',
'New password': 'New password',
'new plugin installed': 'nieuwe plugin geïnstalleerd', 'new plugin installed': 'nieuwe plugin geïnstalleerd',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Nieuw Record', 'New Record': 'Nieuw Record',
@@ -380,6 +430,8 @@
'Not Authorized': 'Geen Rechten', 'Not Authorized': 'Geen Rechten',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Notitie: Bij een Github error status code 128, zorg ervoor dat het systeem en het account dat je aan het deployen bent een correspondeerde ssh key geconfigureerd heeft in het openshift account. ', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Notitie: Bij een Github error status code 128, zorg ervoor dat het systeem en het account dat je aan het deployen bent een correspondeerde ssh key geconfigureerd heeft in het openshift account. ',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": 'Om op productie deze debugger te gebruiken, moet je webserver configureren om een proces en meerdere threads te gebruiken.', "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": 'Om op productie deze debugger te gebruiken, moet je webserver configureren om een proces en meerdere threads te gebruiken.',
'online designer': 'online designer', 'online designer': 'online designer',
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
@@ -388,6 +440,7 @@
'or alternatively': 'or alternatively', 'or alternatively': 'or alternatively',
'Or Get from URL:': 'Or Get from URL:', 'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'of importeer van csv-bestand', 'or import from csv file': 'of importeer van csv-bestand',
'Origin': 'Origin',
'Original/Translation': 'Oorspronkelijk/Vertaling', 'Original/Translation': 'Oorspronkelijk/Vertaling',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'Overschrijf geïnstalleerde app', 'Overwrite installed app': 'Overschrijf geïnstalleerde app',
@@ -396,7 +449,12 @@
'Pack custom': 'Pack custom', 'Pack custom': 'Pack custom',
'pack plugin': 'pack plugin', 'pack plugin': 'pack plugin',
'PAM authenticated user, cannot change password here': 'PAM geauthenticeerde gebruiker, kan wachtwoord hier niet wijzigen', 'PAM authenticated user, cannot change password here': 'PAM geauthenticeerde gebruiker, kan wachtwoord hier niet wijzigen',
'Password': 'Password',
'password changed': 'wachtwoord gewijzigd', 'password changed': 'wachtwoord gewijzigd',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Pad naar appcfg.py', 'Path to appcfg.py': 'Pad naar appcfg.py',
'Path to local openshift repo root.': 'Pad naar lokale openshift repo root.', 'Path to local openshift repo root.': 'Pad naar lokale openshift repo root.',
@@ -405,6 +463,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Alstublieft', 'Please': 'Alstublieft',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin': 'plugin', 'plugin': 'plugin',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" gedetecteerd', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" gedetecteerd',
@@ -423,6 +482,7 @@
'Previous Edit Point': 'Vorige Bewerkpunt', 'Previous Edit Point': 'Vorige Bewerkpunt',
'Private files': 'Privébestanden', 'Private files': 'Privébestanden',
'private files': 'privébestanden', 'private files': 'privébestanden',
'Profile updated': 'Profile updated',
'Project Progress': 'Projectvoortgang', 'Project Progress': 'Projectvoortgang',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -439,20 +499,36 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': 'record', 'record': 'record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'record bestaat niet', 'record does not exist': 'record bestaat niet',
'record id': 'record id', 'record id': 'record id',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'ververs', 'refresh': 'ververs',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Herlaadt routes', 'Reload routes': 'Herlaadt routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Verwijder gecompileerde', 'Remove compiled': 'Verwijder gecompileerde',
'Removed Breakpoint on %s at line %s': 'Verwijder Breakpoint op %s op regel %s', 'Removed Breakpoint on %s at line %s': 'Verwijder Breakpoint op %s op regel %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'vereist python-git, maar niet geïnstalleerd', 'requires python-git, but not installed': 'vereist python-git, maar niet geïnstalleerd',
'Reset Password key': 'Reset Password key',
'resolve': 'oplossen', 'resolve': 'oplossen',
'Resolve Conflict file': 'Los Conflictbestand op', 'Resolve Conflict file': 'Los Conflictbestand op',
'response': 'antwoord', 'response': 'antwoord',
@@ -495,6 +571,7 @@
'Set Breakpoint on %s at line %s: %s': 'Zet Breakpoint op %s op regel %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Zet Breakpoint op %s op regel %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'signup': 'signup', 'signup': 'signup',
'signup_requested': 'signup_requested', 'signup_requested': 'signup_requested',
'Singular Form': 'Enkelvoudsvorm', 'Singular Form': 'Enkelvoudsvorm',
@@ -548,7 +625,9 @@
'There are no views': 'Er zijn geen views', 'There are no views': 'Er zijn geen views',
'These files are not served, they are only available from within your app': 'Deze bestanden worden niet geserveerd, ze zijn alleen beschikbaar vanuit binnen je app.', 'These files are not served, they are only available from within your app': 'Deze bestanden worden niet geserveerd, ze zijn alleen beschikbaar vanuit binnen je app.',
'These files are served without processing, your images go here': 'Deze bestanden worden geserveerd zonder verwerkingen, je afbeeldingen horen hier', 'These files are served without processing, your images go here': 'Deze bestanden worden geserveerd zonder verwerkingen, je afbeeldingen horen hier',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": 'Deze debugger werkt misschien niet goed, of je hebt geen threaded webserver, of je gebruikt multiple daemon processen.', "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": 'Deze debugger werkt misschien niet goed, of je hebt geen threaded webserver, of je gebruikt multiple daemon processen.',
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'Dit is een experimentele feature en heeft meer tests nodig. Downgraden op eigen risico.', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'Dit is een experimentele feature en heeft meer tests nodig. Downgraden op eigen risico.',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'Dit is een experimentele feature en heeft meer tests nodig. Upgraden op eigen risico.', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'Dit is een experimentele feature en heeft meer tests nodig. Upgraden op eigen risico.',
'This is the %(filename)s template': 'Dit is de %(filename)s template', 'This is the %(filename)s template': 'Dit is de %(filename)s template',
@@ -563,6 +642,7 @@
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Ticket Missing',
'tickets': 'tickets', 'tickets': 'tickets',
'Time in Cache (h:m:s)': 'Tijd in Cache (u:m:s)', 'Time in Cache (h:m:s)': 'Tijd in Cache (u:m:s)',
'Timestamp': 'Timestamp',
'to previous version.': 'naar vorige versie.', 'to previous version.': 'naar vorige versie.',
'To create a plugin, name a file/folder plugin_[name]': 'Om een plugin te maken, neem een bestand/directory plugin_[naam]', 'To create a plugin, name a file/folder plugin_[name]': 'Om een plugin te maken, neem een bestand/directory plugin_[naam]',
'To emulate a breakpoint programatically, write:': 'Om een breakpoint programmatische te emuleren, schrijf:', 'To emulate a breakpoint programatically, write:': 'Om een breakpoint programmatische te emuleren, schrijf:',
@@ -575,6 +655,7 @@
'try something like': 'probeer zoiets als', 'try something like': 'probeer zoiets als',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger commando hier en druk op Return (Enter) om het uit te voeren.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger commando hier en druk op Return (Enter) om het uit te voeren.',
'Type python statement in here and hit Return (Enter) to execute it.': 'Type python statement hier en druk op Return (Enter) om het uit te voeren.', 'Type python statement in here and hit Return (Enter) to execute it.': 'Type python statement hier en druk op Return (Enter) om het uit te voeren.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
@@ -592,6 +673,7 @@
'unable to install application "%(appname)s"': 'onmogelijk om applicatie "%(appname)s" te installeren', 'unable to install application "%(appname)s"': 'onmogelijk om applicatie "%(appname)s" te installeren',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'onmogelijk om csv-bestand te parsen', 'unable to parse csv file': 'onmogelijk om csv-bestand te parsen',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'onmogelijk om te deïnstalleren "%s"', 'unable to uninstall "%s"': 'onmogelijk om te deïnstalleren "%s"',
'unable to upgrade because "%s"': 'onmogelijk om te upgraden omdat "%s"', 'unable to upgrade because "%s"': 'onmogelijk om te upgraden omdat "%s"',
'unauthorized': 'niet geautoriseerd ', 'unauthorized': 'niet geautoriseerd ',
@@ -615,11 +697,26 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Gebruik (...)&(...) voor AND, (...)|(...) voor OR, en ~(...) voor NOT om meer complexe queries te maken.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Gebruik (...)&(...) voor AND, (...)|(...) voor OR, en ~(...) voor NOT om meer complexe queries te maken.',
'user': 'gebruiker', 'user': 'gebruiker',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Het gebruik van de shell kan database locken voor andere gebruikers van deze app.', 'Using the shell may lock the database to other users of this app.': 'Het gebruik van de shell kan database locken voor andere gebruikers van deze app.',
'value not allowed': 'waarde is niet toegestaan', 'value not allowed': 'waarde is niet toegestaan',
'variables': 'variabelen', 'variables': 'variabelen',
'Verify Password': 'Verify Password',
'Version': 'Versie', 'Version': 'Versie',
'Version %s.%s.%s (%s) %s': 'Versie %s.%s.%s (%s) %s', 'Version %s.%s.%s (%s) %s': 'Versie %s.%s.%s (%s) %s',
'Versioning': 'Versionering', 'Versioning': 'Versionering',
@@ -639,6 +736,7 @@
'web2py Recent Tweets': 'web2py Recente Tweets', 'web2py Recent Tweets': 'web2py Recente Tweets',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py geupgrade; herstart alstublieft', 'web2py upgraded; please restart it': 'web2py geupgrade; herstart alstublieft',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Working...', 'Working...': 'Working...',
'Wrap with Abbreviation': 'Wrap met Afkorting', 'Wrap with Abbreviation': 'Wrap met Afkorting',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
@@ -647,9 +745,14 @@
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'Je kan ook een breakpoint zetten of verwijderen in het bewerkscherm met de Toggle Breakpoint-knop', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'Je kan ook een breakpoint zetten of verwijderen in het bewerkscherm met de Toggle Breakpoint-knop',
'You can inspect variables using the console bellow': 'Je kan je variabelen inspecteren in de console hieronder', 'You can inspect variables using the console bellow': 'Je kan je variabelen inspecteren in de console hieronder',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'Je hebt nog een poging om in te loggen voor je buitengesloten wordt.', 'You have one more login attempt before you are locked out': 'Je hebt nog een poging om in te loggen voor je buitengesloten wordt.',
'you must specify a name for the uploaded application': 'je moet een naam specificeren voor de geuploade applicatie', 'you must specify a name for the uploaded application': 'je moet een naam specificeren voor de geuploade applicatie',
'You need to set up and reach a': 'Je moet het volgende opzetten en bereiken:', 'You need to set up and reach a': 'Je moet het volgende opzetten en bereiken:',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Je applicatie zal geblokkeerd zijn tot je een actie button aanklikt (volgende, step, ga door, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Je applicatie zal geblokkeerd zijn tot je een actie button aanklikt (volgende, step, ga door, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+103
View File
@@ -16,7 +16,23 @@
'(something like "it-it")': '(coś podobnego do "it-it")', '(something like "it-it")': '(coś podobnego do "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files', '@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'Nowa wersja web2py jest dostępna', 'A new version of web2py is available': 'Nowa wersja web2py jest dostępna',
'A new version of web2py is available: %s': 'Nowa wersja web2py jest dostępna: %s', 'A new version of web2py is available: %s': 'Nowa wersja web2py jest dostępna: %s',
'Abort': 'Abort', 'Abort': 'Abort',
@@ -50,6 +66,7 @@
'application is compiled and cannot be designed': 'aplikacja jest skompilowana i nie może być projektowana', 'application is compiled and cannot be designed': 'aplikacja jest skompilowana i nie może być projektowana',
'Application name:': 'Application name:', 'Application name:': 'Application name:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Czy na pewno chcesz usunąć plik "%s"?', 'Are you sure you want to delete file "%s"?': 'Czy na pewno chcesz usunąć plik "%s"?',
@@ -66,6 +83,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'UWAGA: Wymagane jest bezpieczne (HTTPS) połączenie lub połączenie z lokalnego adresu.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'UWAGA: Wymagane jest bezpieczne (HTTPS) połączenie lub połączenie z lokalnego adresu.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'UWAGA: TESTOWANIE NIE JEST BEZPIECZNE W ŚRODOWISKU WIELOWĄTKOWYM, TAK WIĘC NIE URUCHAMIAJ WIELU TESTÓW JEDNOCZEŚNIE.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'UWAGA: TESTOWANIE NIE JEST BEZPIECZNE W ŚRODOWISKU WIELOWĄTKOWYM, TAK WIĘC NIE URUCHAMIAJ WIELU TESTÓW JEDNOCZEŚNIE.',
'ATTENTION: you cannot edit the running application!': 'UWAGA: nie można edytować uruchomionych aplikacji!', 'ATTENTION: you cannot edit the running application!': 'UWAGA: nie można edytować uruchomionych aplikacji!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Dostępne bazy danych i tabele', 'Available databases and tables': 'Dostępne bazy danych i tabele',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -94,6 +112,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'change admin password', 'Change admin password': 'change admin password',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'zaznacz wszystko', 'check all': 'zaznacz wszystko',
'Check for upgrades': 'check for upgrades', 'Check for upgrades': 'check for upgrades',
@@ -106,9 +125,11 @@
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'click here for online examples': 'kliknij aby przejść do interaktywnych przykładów', 'click here for online examples': 'kliknij aby przejść do interaktywnych przykładów',
'click here for the administrative interface': 'kliknij aby przejść do panelu administracyjnego', 'click here for the administrative interface': 'kliknij aby przejść do panelu administracyjnego',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'kliknij aby sprawdzić aktualizacje', 'click to check for upgrades': 'kliknij aby sprawdzić aktualizacje',
'Client IP': 'Client IP',
'code': 'code', 'code': 'code',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': 'collapse/expand all', 'collapse/expand all': 'collapse/expand all',
@@ -168,6 +189,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'projektuj', 'design': 'projektuj',
'DESIGN': 'PROJEKTUJ', 'DESIGN': 'PROJEKTUJ',
@@ -196,6 +218,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'download plugins', 'download plugins': 'download plugins',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'EDIT': 'EDYTUJ', 'EDIT': 'EDYTUJ',
'Edit': 'edytuj', 'Edit': 'edytuj',
'edit all': 'edit all', 'edit all': 'edit all',
@@ -211,6 +234,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -250,8 +276,10 @@
'filter': 'filter', 'filter': 'filter',
'Find Next': 'Find Next', 'Find Next': 'Find Next',
'Find Previous': 'Find Previous', 'Find Previous': 'Find Previous',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Funkcje bez doctestów będą dołączone do [zaliczonych] testów.', 'Functions with no doctests will result in [passed] tests.': 'Funkcje bez doctestów będą dołączone do [zaliczonych] testów.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -266,6 +294,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': 'Witaj Świecie', 'Hello World': 'Witaj Świecie',
'Help': 'pomoc', 'Help': 'pomoc',
'here': 'here', 'here': 'here',
@@ -284,6 +316,7 @@
'Import/Export': 'Importuj/eksportuj', 'Import/Export': 'Importuj/eksportuj',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'zawiera', 'includes': 'zawiera',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'insert new': 'wstaw nowy rekord tabeli', 'insert new': 'wstaw nowy rekord tabeli',
'insert new %s': 'wstaw nowy rekord do tabeli %s', 'insert new %s': 'wstaw nowy rekord do tabeli %s',
@@ -291,6 +324,7 @@
'Install': 'install', 'Install': 'install',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Zainstalowane aplikacje', 'Installed applications': 'Zainstalowane aplikacje',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'wewnętrzny błąd', 'internal error': 'wewnętrzny błąd',
@@ -299,15 +333,24 @@
'Invalid action': 'Błędna akcja', 'Invalid action': 'Błędna akcja',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'błędne hasło', 'invalid password': 'błędne hasło',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Błędne zapytanie', 'Invalid Query': 'Błędne zapytanie',
'invalid request': 'błędne zapytanie', 'invalid request': 'błędne zapytanie',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'błędny bilet', 'invalid ticket': 'błędny bilet',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'plik tłumaczeń "%(filename)s" został utworzony/uaktualniony', 'language file "%(filename)s" created/updated': 'plik tłumaczeń "%(filename)s" został utworzony/uaktualniony',
@@ -315,6 +358,7 @@
'languages': 'pliki tłumaczeń', 'languages': 'pliki tłumaczeń',
'Languages': 'Tłumaczenia', 'Languages': 'Tłumaczenia',
'languages updated': 'pliki tłumaczeń zostały uaktualnione', 'languages updated': 'pliki tłumaczeń zostały uaktualnione',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Ostatnio zapisany:', 'Last saved on:': 'Ostatnio zapisany:',
'License for': 'Licencja dla', 'License for': 'Licencja dla',
@@ -328,8 +372,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Zaloguj', 'Login': 'Zaloguj',
'login': 'zaloguj', 'login': 'zaloguj',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Logowanie do panelu administracyjnego', 'Login to the Administrative Interface': 'Logowanie do panelu administracyjnego',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -350,10 +398,12 @@
'Modules': 'Moduły', 'Modules': 'Moduły',
'modules': 'moduły', 'modules': 'moduły',
'Multi User Mode': 'Multi User Mode', 'Multi User Mode': 'Multi User Mode',
'Name': 'Name',
'new application "%s" created': 'nowa aplikacja "%s" została utworzona', 'new application "%s" created': 'nowa aplikacja "%s" została utworzona',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'New application wizard', 'New application wizard': 'New application wizard',
'New password': 'New password',
'new plugin installed': 'nowa wtyczka została zainstalowana', 'new plugin installed': 'nowa wtyczka została zainstalowana',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Nowy rekord', 'New Record': 'Nowy rekord',
@@ -373,6 +423,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -382,6 +434,7 @@
'or import from csv file': 'lub zaimportuj z pliku csv', 'or import from csv file': 'lub zaimportuj z pliku csv',
'or provide app url:': 'or provide app url:', 'or provide app url:': 'or provide app url:',
'or provide application url:': 'lub podaj url aplikacji:', 'or provide application url:': 'lub podaj url aplikacji:',
'Origin': 'Origin',
'Original/Translation': 'Oryginał/tłumaczenie', 'Original/Translation': 'Oryginał/tłumaczenie',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'overwrite installed app', 'Overwrite installed app': 'overwrite installed app',
@@ -390,7 +443,12 @@
'Pack custom': 'Pack custom', 'Pack custom': 'Pack custom',
'pack plugin': 'spakuj wtyczkę', 'pack plugin': 'spakuj wtyczkę',
'PAM authenticated user, cannot change password here': 'PAM authenticated user, cannot change password here', 'PAM authenticated user, cannot change password here': 'PAM authenticated user, cannot change password here',
'Password': 'Password',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -398,6 +456,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'wtyczka "%(plugin)s" została usunięta', 'plugin "%(plugin)s" deleted': 'wtyczka "%(plugin)s" została usunięta',
'Plugin "%s" in application': 'Wtyczka "%s" w aplikacji', 'Plugin "%s" in application': 'Wtyczka "%s" w aplikacji',
@@ -414,6 +473,7 @@
'previous 100 rows': 'poprzednie 100 wierszy', 'previous 100 rows': 'poprzednie 100 wierszy',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -430,20 +490,36 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': 'rekord', 'record': 'rekord',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'rekord nie istnieje', 'record does not exist': 'rekord nie istnieje',
'record id': 'ID rekordu', 'record id': 'ID rekordu',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'usuń skompilowane', 'Remove compiled': 'usuń skompilowane',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Rozwiąż konflikt plików', 'Resolve Conflict file': 'Rozwiąż konflikt plików',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -482,6 +558,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'powłoka', 'shell': 'powłoka',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'strona główna', 'Site': 'strona główna',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -536,7 +613,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'these files are served without processing, your images go here': 'pliki obsługiwane bez interpretacji, to jest miejsce na Twoje obrazy', 'these files are served without processing, your images go here': 'pliki obsługiwane bez interpretacji, to jest miejsce na Twoje obrazy',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'To jest szablon %(filename)s', 'This is the %(filename)s template': 'To jest szablon %(filename)s',
@@ -549,6 +628,7 @@
'Ticket ID': 'Ticket ID', 'Ticket ID': 'Ticket ID',
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Ticket Missing',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'TM': 'TM', 'TM': 'TM',
'to previous version.': 'do poprzedniej wersji.', 'to previous version.': 'do poprzedniej wersji.',
'To create a plugin, name a file/folder plugin_[name]': 'Aby utworzyć wtyczkę, nazwij plik/katalog plugin_[nazwa]', 'To create a plugin, name a file/folder plugin_[name]': 'Aby utworzyć wtyczkę, nazwij plik/katalog plugin_[nazwa]',
@@ -564,6 +644,7 @@
'try something like': 'spróbój czegos takiego jak', 'try something like': 'spróbój czegos takiego jak',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Nie można sprawdzić aktualizacji', 'Unable to check for upgrades': 'Nie można sprawdzić aktualizacji',
@@ -580,6 +661,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'nie można sparsować pliku csv', 'unable to parse csv file': 'nie można sparsować pliku csv',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'nie można odinstalować "%s"', 'unable to uninstall "%s"': 'nie można odinstalować "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': 'odznacz wszystko', 'uncheck all': 'odznacz wszystko',
@@ -603,10 +685,25 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Użyj (...)&(...) jako AND, (...)|(...) jako OR oraz ~(...) jako NOT do tworzenia bardziej skomplikowanych zapytań.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Użyj (...)&(...) jako AND, (...)|(...) jako OR oraz ~(...) jako NOT do tworzenia bardziej skomplikowanych zapytań.',
'Use an url:': 'Use an url:', 'Use an url:': 'Use an url:',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Verify Password',
'Version': 'Wersja', 'Version': 'Wersja',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'versioning': 'versioning', 'versioning': 'versioning',
@@ -626,6 +723,7 @@
'web2py Recent Tweets': 'najnowsze tweety web2py', 'web2py Recent Tweets': 'najnowsze tweety web2py',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py': 'Witaj w web2py', 'Welcome to web2py': 'Witaj w web2py',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
@@ -633,8 +731,13 @@
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
View File
View File
View File
+88
View File
@@ -15,8 +15,23 @@
'(something like "it-it")': '(algo como "it-it")', '(something like "it-it")': '(algo como "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', '@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Buscando: **%s** arquivos', '@markmin\x01Searching: **%s** %%{file}': 'Buscando: **%s** arquivos',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'Está disponível uma nova versão do web2py', 'A new version of web2py is available': 'Está disponível uma nova versão do web2py',
'A new version of web2py is available: %s': 'Está disponível uma nova versão do web2py: %s', 'A new version of web2py is available: %s': 'Está disponível uma nova versão do web2py: %s',
'Abort': 'Abort', 'Abort': 'Abort',
@@ -50,6 +65,7 @@
'application is compiled and cannot be designed': 'A aplicação está compilada e não pode ser modificada', 'application is compiled and cannot be designed': 'A aplicação está compilada e não pode ser modificada',
'Application name:': 'Nome da aplicação:', 'Application name:': 'Nome da aplicação:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Tem certeza que deseja apagar o arquivo "%s"?', 'Are you sure you want to delete file "%s"?': 'Tem certeza que deseja apagar o arquivo "%s"?',
@@ -66,6 +82,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENÇÃO: o login requer uma conexão segura (HTTPS) ou executar de localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENÇÃO: o login requer uma conexão segura (HTTPS) ou executar de localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENÇÃO OS TESTES NÃO SÃO THREAD SAFE, NÃO EFETUE MÚLTIPLOS TESTES AO MESMO TEMPO.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENÇÃO OS TESTES NÃO SÃO THREAD SAFE, NÃO EFETUE MÚLTIPLOS TESTES AO MESMO TEMPO.',
'ATTENTION: you cannot edit the running application!': 'ATENÇÃO: Não pode modificar a aplicação em execução!', 'ATTENTION: you cannot edit the running application!': 'ATENÇÃO: Não pode modificar a aplicação em execução!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Bancos de dados e tabelas disponíveis', 'Available databases and tables': 'Bancos de dados e tabelas disponíveis',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -96,6 +113,7 @@
'Change admin password': 'mudar senha de administrador', 'Change admin password': 'mudar senha de administrador',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change Password': 'Mudar Senha', 'Change Password': 'Mudar Senha',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'marcar todos', 'check all': 'marcar todos',
'Check for upgrades': 'Verificar se existem atualizações', 'Check for upgrades': 'Verificar se existem atualizações',
@@ -108,6 +126,7 @@
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'click here for online examples': 'clique para ver exemplos online', 'click here for online examples': 'clique para ver exemplos online',
'click here for the administrative interface': 'Clique aqui para acessar a interface administrativa', 'click here for the administrative interface': 'Clique aqui para acessar a interface administrativa',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Clique na linha para expandir o traceback', 'Click row to expand traceback': 'Clique na linha para expandir o traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'clique aqui para verificar se existem atualizações', 'click to check for upgrades': 'clique aqui para verificar se existem atualizações',
@@ -221,6 +240,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -263,6 +285,7 @@
'First name': 'Nome', 'First name': 'Nome',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Funções sem doctests resultarão em testes [aceitos].', 'Functions with no doctests will result in [passed] tests.': 'Funções sem doctests resultarão em testes [aceitos].',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -277,7 +300,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID do Grupo', 'Group ID': 'ID do Grupo',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': 'Olá Mundo', 'Hello World': 'Olá Mundo',
'Help': 'Ajuda', 'Help': 'Ajuda',
'here': 'here', 'here': 'here',
@@ -296,6 +322,7 @@
'Import/Export': 'Importar/Exportar', 'Import/Export': 'Importar/Exportar',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'inclui', 'includes': 'inclui',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'insert new': 'inserir novo', 'insert new': 'inserir novo',
'insert new %s': 'inserir novo %s', 'insert new %s': 'inserir novo %s',
@@ -303,6 +330,7 @@
'Install': 'instalar', 'Install': 'instalar',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Aplicações instaladas', 'Installed applications': 'Aplicações instaladas',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'erro interno', 'internal error': 'erro interno',
@@ -313,14 +341,22 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'E-mail inválido', 'Invalid email': 'E-mail inválido',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'senha inválida', 'invalid password': 'senha inválida',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Consulta inválida', 'Invalid Query': 'Consulta inválida',
'invalid request': 'solicitação inválida', 'invalid request': 'solicitação inválida',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'ticket inválido', 'invalid ticket': 'ticket inválido',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'arquivo de idioma "%(filename)s" criado/atualizado', 'language file "%(filename)s" created/updated': 'arquivo de idioma "%(filename)s" criado/atualizado',
@@ -342,8 +378,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'login': 'início de sessão', 'login': 'início de sessão',
'Login': 'Entrar', 'Login': 'Entrar',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Entrar na interface adminitrativa', 'Login to the Administrative Interface': 'Entrar na interface adminitrativa',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -371,6 +411,7 @@
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'Assistente para novas aplicações ', 'New Application Wizard': 'Assistente para novas aplicações ',
'New application wizard': 'Assistente para novas aplicações', 'New application wizard': 'Assistente para novas aplicações',
'New password': 'New password',
'new plugin installed': 'novo plugin instalado', 'new plugin installed': 'novo plugin instalado',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Novo registro', 'New Record': 'Novo registro',
@@ -390,6 +431,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -410,6 +453,10 @@
'PAM authenticated user, cannot change password here': 'usuário autenticado por PAM não pode alterar a senha aqui', 'PAM authenticated user, cannot change password here': 'usuário autenticado por PAM não pode alterar a senha aqui',
'Password': 'Senha', 'Password': 'Senha',
'password changed': 'senha alterada', 'password changed': 'senha alterada',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -417,6 +464,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" apagado', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" apagado',
'Plugin "%s" in application': 'Plugin "%s" na aplicação', 'Plugin "%s" in application': 'Plugin "%s" na aplicação',
@@ -433,6 +481,7 @@
'previous 100 rows': '100 registros anteriores', 'previous 100 rows': '100 registros anteriores',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -449,23 +498,37 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': 'registro', 'record': 'registro',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'o registro não existe', 'record does not exist': 'o registro não existe',
'record id': 'id do registro', 'record id': 'id do registro',
'Record ID': 'ID do Registro', 'Record ID': 'ID do Registro',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Register': 'Registrar-se', 'Register': 'Registrar-se',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Chave de registro', 'Registration key': 'Chave de registro',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Recarregar routes', 'Reload routes': 'Recarregar routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Eliminar compilados', 'Remove compiled': 'Eliminar compilados',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Arquivo de resolução de conflito', 'Resolve Conflict file': 'Arquivo de resolução de conflito',
'response': 'response', 'response': 'response',
'restart': 'reiniciar', 'restart': 'reiniciar',
@@ -504,6 +567,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'Terminal', 'shell': 'Terminal',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Site', 'Site': 'Site',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -559,7 +623,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'Estes arquivos são servidos sem processamento, suas imagens ficam aqui', 'These files are served without processing, your images go here': 'Estes arquivos são servidos sem processamento, suas imagens ficam aqui',
'these files are served without processing, your images go here': 'Estes arquivos são servidos sem processamento, suas imagens ficam aqui', 'these files are served without processing, your images go here': 'Estes arquivos são servidos sem processamento, suas imagens ficam aqui',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'Este é o template %(filename)s', 'This is the %(filename)s template': 'Este é o template %(filename)s',
@@ -588,6 +654,7 @@
'try something like': 'tente algo como', 'try something like': 'tente algo como',
'Try the mobile interface': 'Experimente a interface para smartphones e tablets', 'Try the mobile interface': 'Experimente a interface para smartphones e tablets',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Não é possível checar as atualizações', 'Unable to check for upgrades': 'Não é possível checar as atualizações',
@@ -604,6 +671,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'não é possível analisar o arquivo CSV', 'unable to parse csv file': 'não é possível analisar o arquivo CSV',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'não é possível desinstalar "%s"', 'unable to uninstall "%s"': 'não é possível desinstalar "%s"',
'unable to upgrade because "%s"': 'não é possível atualizar porque "%s"', 'unable to upgrade because "%s"': 'não é possível atualizar porque "%s"',
'uncheck all': 'desmarcar todos', 'uncheck all': 'desmarcar todos',
@@ -626,11 +694,25 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, e ~(...) para NOT, para criar consultas mais complexas.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, e ~(...) para NOT, para criar consultas mais complexas.',
'Use an url:': 'Use uma url:', 'Use an url:': 'Use uma url:',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID do Usuário', 'User ID': 'ID do Usuário',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variáveis', 'variables': 'variáveis',
'Verify Password': 'Verify Password',
'Version': 'Versão', 'Version': 'Versão',
'Versioning': 'Versionamento', 'Versioning': 'Versionamento',
'versioning': 'versionamento', 'versioning': 'versionamento',
@@ -650,6 +732,7 @@
'web2py Recent Tweets': 'Tweets Recentes de @web2py', 'web2py Recent Tweets': 'Tweets Recentes de @web2py',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py atualizado; favor reiniciar', 'web2py upgraded; please restart it': 'web2py atualizado; favor reiniciar',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py': 'Bem-vindo ao web2py', 'Welcome to web2py': 'Bem-vindo ao web2py',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
@@ -657,8 +740,13 @@
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+87
View File
@@ -16,9 +16,23 @@
'(something like "it-it")': '(algo como "it-it")', '(something like "it-it")': '(algo como "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)', '@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', '@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files', '@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'Está disponível uma nova versão do web2py', 'A new version of web2py is available': 'Está disponível uma nova versão do web2py',
'A new version of web2py is available: %s': 'Está disponível uma nova versão do web2py: %s', 'A new version of web2py is available: %s': 'Está disponível uma nova versão do web2py: %s',
'Abort': 'Abort', 'Abort': 'Abort',
@@ -52,6 +66,7 @@
'application is compiled and cannot be designed': 'A aplicação está compilada e não pode ser modificada', 'application is compiled and cannot be designed': 'A aplicação está compilada e não pode ser modificada',
'Application name:': 'Nome da aplicação:', 'Application name:': 'Nome da aplicação:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'não usadas', 'are not used': 'não usadas',
'are not used yet': 'ainda não usadas', 'are not used yet': 'ainda não usadas',
'Are you sure you want to delete file "%s"?': 'Tem certeza que deseja apagar o arquivo "%s"?', 'Are you sure you want to delete file "%s"?': 'Tem certeza que deseja apagar o arquivo "%s"?',
@@ -68,6 +83,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENÇÃO o login requer uma conexão segura (HTTPS) ou executar de localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENÇÃO o login requer uma conexão segura (HTTPS) ou executar de localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENÇÃO OS TESTES NÃO THREAD SAFE, NÃO EFETUE MÚLTIPLOS TESTES AO MESMO TEMPO.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENÇÃO OS TESTES NÃO THREAD SAFE, NÃO EFETUE MÚLTIPLOS TESTES AO MESMO TEMPO.',
'ATTENTION: you cannot edit the running application!': 'ATENÇÃO: Não pode modificar a aplicação em execução!', 'ATTENTION: you cannot edit the running application!': 'ATENÇÃO: Não pode modificar a aplicação em execução!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocompletar Código Python', 'Autocomplete Python Code': 'Autocompletar Código Python',
'Available databases and tables': 'Bancos de dados e tabelas disponíveis', 'Available databases and tables': 'Bancos de dados e tabelas disponíveis',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -98,6 +114,7 @@
'Change admin password': 'mudar senha de administrador', 'Change admin password': 'mudar senha de administrador',
'change editor settings': 'mudar definições do editor', 'change editor settings': 'mudar definições do editor',
'Change Password': 'Trocar Senha', 'Change Password': 'Trocar Senha',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'marcar todos', 'check all': 'marcar todos',
'Check for upgrades': 'checar por atualizações', 'Check for upgrades': 'checar por atualizações',
@@ -110,6 +127,7 @@
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'click here for online examples': 'clique para ver exemplos online', 'click here for online examples': 'clique para ver exemplos online',
'click here for the administrative interface': 'Clique aqui para acessar a interface administrativa', 'click here for the administrative interface': 'Clique aqui para acessar a interface administrativa',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Clique em uma coluna para expandir o log do erro', 'Click row to expand traceback': 'Clique em uma coluna para expandir o log do erro',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'clique aqui para checar por atualizações', 'click to check for upgrades': 'clique aqui para checar por atualizações',
@@ -223,6 +241,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -265,6 +286,7 @@
'First name': 'Nome', 'First name': 'Nome',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Funções sem doctests resultarão em testes [aceitos].', 'Functions with no doctests will result in [passed] tests.': 'Funções sem doctests resultarão em testes [aceitos].',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -279,7 +301,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID do Grupo', 'Group ID': 'ID do Grupo',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': 'Olá Mundo', 'Hello World': 'Olá Mundo',
'Help': 'ajuda', 'Help': 'ajuda',
'here': 'here', 'here': 'here',
@@ -298,6 +323,7 @@
'Import/Export': 'Importar/Exportar', 'Import/Export': 'Importar/Exportar',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'inclui', 'includes': 'inclui',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'insert new': 'inserir novo', 'insert new': 'inserir novo',
'insert new %s': 'inserir novo %s', 'insert new %s': 'inserir novo %s',
@@ -305,6 +331,7 @@
'Install': 'instalar', 'Install': 'instalar',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Aplicações instaladas', 'Installed applications': 'Aplicações instaladas',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'erro interno', 'internal error': 'erro interno',
@@ -315,14 +342,22 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'E-mail inválido', 'Invalid email': 'E-mail inválido',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'senha inválida', 'invalid password': 'senha inválida',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Consulta inválida', 'Invalid Query': 'Consulta inválida',
'invalid request': 'solicitação inválida', 'invalid request': 'solicitação inválida',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'ticket inválido', 'invalid ticket': 'ticket inválido',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Atalhos de teclado', 'Keyboard shortcuts': 'Atalhos de teclado',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'arquivo de linguagem "%(filename)s" criado/atualizado', 'language file "%(filename)s" created/updated': 'arquivo de linguagem "%(filename)s" criado/atualizado',
@@ -344,8 +379,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'login': 'inicio de sessão', 'login': 'inicio de sessão',
'Login': 'Entrar', 'Login': 'Entrar',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Entrar na interface adminitrativa', 'Login to the Administrative Interface': 'Entrar na interface adminitrativa',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -373,6 +412,7 @@
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'Assistente para novas aplicações ', 'New application wizard': 'Assistente para novas aplicações ',
'New password': 'New password',
'new plugin installed': 'novo plugin instalado', 'new plugin installed': 'novo plugin instalado',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Novo registro', 'New Record': 'Novo registro',
@@ -393,6 +433,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'online designer': 'online designer', 'online designer': 'online designer',
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
@@ -414,6 +456,10 @@
'PAM authenticated user, cannot change password here': 'usuario autenticado por PAM, não pode alterar a senha por aqui', 'PAM authenticated user, cannot change password here': 'usuario autenticado por PAM, não pode alterar a senha por aqui',
'Password': 'Senha', 'Password': 'Senha',
'password changed': 'senha alterada', 'password changed': 'senha alterada',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -421,6 +467,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" eliminado', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" eliminado',
'Plugin "%s" in application': 'Plugin "%s" na aplicação', 'Plugin "%s" in application': 'Plugin "%s" na aplicação',
@@ -437,6 +484,7 @@
'previous 100 rows': '100 registros anteriores', 'previous 100 rows': '100 registros anteriores',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -454,23 +502,37 @@
'Read': 'Read', 'Read': 'Read',
'Record': 'Record', 'Record': 'Record',
'record': 'registro', 'record': 'registro',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'o registro não existe', 'record does not exist': 'o registro não existe',
'record id': 'id do registro', 'record id': 'id do registro',
'Record ID': 'ID do Registro', 'Record ID': 'ID do Registro',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Register': 'Registrar-se', 'Register': 'Registrar-se',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Chave de registro', 'Registration key': 'Chave de registro',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'eliminar compilados', 'Remove compiled': 'eliminar compilados',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Substituir', 'Replace': 'Substituir',
'Replace All': 'Substituir Tudo', 'Replace All': 'Substituir Tudo',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Arquivo de resolução de conflito', 'Resolve Conflict file': 'Arquivo de resolução de conflito',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -509,6 +571,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'Terminal', 'shell': 'Terminal',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'site', 'Site': 'site',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -564,7 +627,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'these files are served without processing, your images go here': 'Estes arquivos são servidos sem processamento, suas imagens ficam aqui', 'these files are served without processing, your images go here': 'Estes arquivos são servidos sem processamento, suas imagens ficam aqui',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'Este é o template %(filename)s', 'This is the %(filename)s template': 'Este é o template %(filename)s',
@@ -593,6 +658,7 @@
'try something like': 'tente algo como', 'try something like': 'tente algo como',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Não é possível checar as atualizações', 'Unable to check for upgrades': 'Não é possível checar as atualizações',
@@ -609,6 +675,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'não é possível analisar o arquivo CSV', 'unable to parse csv file': 'não é possível analisar o arquivo CSV',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'não é possível instalar "%s"', 'unable to uninstall "%s"': 'não é possível instalar "%s"',
'unable to upgrade because "%s"': 'não é possível atualizar porque "%s"', 'unable to upgrade because "%s"': 'não é possível atualizar porque "%s"',
'uncheck all': 'desmarcar todos', 'uncheck all': 'desmarcar todos',
@@ -632,11 +699,25 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para criar consultas mais complexas.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para criar consultas mais complexas.',
'Use an url:': 'Use uma url:', 'Use an url:': 'Use uma url:',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID do Usuario', 'User ID': 'ID do Usuario',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variáveis', 'variables': 'variáveis',
'Verify Password': 'Verify Password',
'Version': 'Versão', 'Version': 'Versão',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'versioning': 'versionamento', 'versioning': 'versionamento',
@@ -656,6 +737,7 @@
'web2py Recent Tweets': 'Tweets Recentes de @web2py', 'web2py Recent Tweets': 'Tweets Recentes de @web2py',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py atualizado; favor reiniciar', 'web2py upgraded; please restart it': 'web2py atualizado; favor reiniciar',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py': 'Bem-vindo ao web2py', 'Welcome to web2py': 'Bem-vindo ao web2py',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
@@ -663,8 +745,13 @@
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+66
View File
@@ -23,7 +23,23 @@
'>': '>', '>': '>',
'>=': '>=', '>=': '>=',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Căutare: **%s** fișiere', '@markmin\x01Searching: **%s** %%{file}': 'Căutare: **%s** fișiere',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'O nouă versiune de web2py este disponibilă', 'A new version of web2py is available': 'O nouă versiune de web2py este disponibilă',
'A new version of web2py is available: %s': 'O nouă versiune de web2py este disponibilă: %s', 'A new version of web2py is available: %s': 'O nouă versiune de web2py este disponibilă: %s',
'Abort': 'Anulează', 'Abort': 'Anulează',
@@ -64,6 +80,7 @@
'application is compiled and cannot be designed': 'aplicația este compilată și nu poate fi editată', 'application is compiled and cannot be designed': 'aplicația este compilată și nu poate fi editată',
'Application name:': 'Nume aplicație:', 'Application name:': 'Nume aplicație:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Sigur ștergeți fișierul "%s"?', 'Are you sure you want to delete file "%s"?': 'Sigur ștergeți fișierul "%s"?',
@@ -80,6 +97,7 @@
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENȚIE: Nu puteți efectua mai multe teste o dată deoarece lansarea în execuție a mai multor subpocese nu este sigură.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENȚIE: Nu puteți efectua mai multe teste o dată deoarece lansarea în execuție a mai multor subpocese nu este sigură.',
'ATTENTION: you cannot edit the running application!': 'ATENȚIE: nu puteți edita o aplicație în curs de execuție!', 'ATTENTION: you cannot edit the running application!': 'ATENȚIE: nu puteți edita o aplicație în curs de execuție!',
'Authentication': 'Autentificare', 'Authentication': 'Autentificare',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Baze de date și tabele disponibile', 'Available databases and tables': 'Baze de date și tabele disponibile',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -124,6 +142,7 @@
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Clear CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Clear DISK',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Clic pe linie pentru a extinde mesajul de trasabilitate', 'Click row to expand traceback': 'Clic pe linie pentru a extinde mesajul de trasabilitate',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'Clic pentru a verifica dacă există upgrade-uri', 'click to check for upgrades': 'Clic pentru a verifica dacă există upgrade-uri',
@@ -250,6 +269,9 @@
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email and SMS': 'E-mail și SMS', 'Email and SMS': 'E-mail și SMS',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -301,6 +323,7 @@
'Forms and Validators': 'Formulare și validatori', 'Forms and Validators': 'Formulare și validatori',
'Frames': 'Frames', 'Frames': 'Frames',
'Free Applications': 'Aplicații gratuite', 'Free Applications': 'Aplicații gratuite',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Funcțiile fără doctests vor genera teste [trecute].', 'Functions with no doctests will result in [passed] tests.': 'Funcțiile fără doctests vor genera teste [trecute].',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -318,6 +341,7 @@
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Grup %(group_id)s creat', 'Group %(group_id)s created': 'Grup %(group_id)s creat',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID grup', 'Group ID': 'ID grup',
'Group uniquely assigned to user %(id)s': 'Grup asociat în mod unic utilizatorului %(id)s', 'Group uniquely assigned to user %(id)s': 'Grup asociat în mod unic utilizatorului %(id)s',
'Groups': 'Grupuri', 'Groups': 'Grupuri',
@@ -342,6 +366,7 @@
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'include', 'includes': 'include',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'Index': 'Index', 'Index': 'Index',
'index': 'index', 'index': 'index',
@@ -351,6 +376,7 @@
'Install': 'Instalează', 'Install': 'Instalează',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Aplicații instalate', 'Installed applications': 'Aplicații instalate',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'eroare internă', 'internal error': 'eroare internă',
@@ -362,17 +388,24 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'E-mail invalid', 'Invalid email': 'E-mail invalid',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'parolă invalidă', 'invalid password': 'parolă invalidă',
'Invalid password': 'Parolă invalidă', 'Invalid password': 'Parolă invalidă',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Interogare invalidă', 'Invalid Query': 'Interogare invalidă',
'invalid request': 'cerere invalidă', 'invalid request': 'cerere invalidă',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'tichet invalid', 'invalid ticket': 'tichet invalid',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key bindings': 'Combinație taste', 'Key bindings': 'Combinație taste',
'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin', 'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'fișier de limbă "%(filename)s" creat/actualizat', 'language file "%(filename)s" created/updated': 'fișier de limbă "%(filename)s" creat/actualizat',
@@ -399,10 +432,12 @@
'locals': 'localizare', 'locals': 'localizare',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'located in the file': 'prezentă în fișierul', 'located in the file': 'prezentă în fișierul',
'Log In': 'Log In',
'Logged in': 'Logat', 'Logged in': 'Logat',
'Logged out': 'Delogat', 'Logged out': 'Delogat',
'login': 'autentificare', 'login': 'autentificare',
'Login': 'Autentificare', 'Login': 'Autentificare',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Logare interfață de administrare', 'Login to the Administrative Interface': 'Logare interfață de administrare',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -486,7 +521,10 @@
'pack plugin': 'pack plugin', 'pack plugin': 'pack plugin',
'Password': 'Parola', 'Password': 'Parola',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": 'Câmpurile de parolă nu se potrivesc', "Password fields don't match": 'Câmpurile de parolă nu se potrivesc',
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -514,6 +552,7 @@
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile': 'Profil', 'Profile': 'Profil',
'Profile updated': 'Profile updated',
'Project Progress': 'Progres proiect', 'Project Progress': 'Progres proiect',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -534,15 +573,24 @@
'Recipes': 'Rețete', 'Recipes': 'Rețete',
'Record': 'Record', 'Record': 'Record',
'record': 'înregistrare', 'record': 'înregistrare',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'înregistrare inexistentă', 'record does not exist': 'înregistrare inexistentă',
'record id': 'id înregistrare', 'record id': 'id înregistrare',
'Record ID': 'ID înregistrare', 'Record ID': 'ID înregistrare',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'înregistrare', 'register': 'înregistrare',
'Register': 'Înregistrare', 'Register': 'Înregistrare',
'Registration identifier': 'Identificator de autentificare', 'Registration identifier': 'Identificator de autentificare',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Cheie înregistrare', 'Registration key': 'Cheie înregistrare',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Autentificare reușită', 'Registration successful': 'Autentificare reușită',
'Reload routes': 'Reîncarcare rute', 'Reload routes': 'Reîncarcare rute',
'Remember me (for 30 days)': 'Ține-mă minte (timp de 30 de zile)', 'Remember me (for 30 days)': 'Ține-mă minte (timp de 30 de zile)',
@@ -598,6 +646,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'line de commandă', 'shell': 'line de commandă',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'site': 'site', 'site': 'site',
'Site': 'Site', 'Site': 'Site',
@@ -661,7 +710,9 @@
'These files are served without processing, your images go here': 'Aceste fișiere sunt servite fără procesare, fișierele imagine se pun aici', 'These files are served without processing, your images go here': 'Aceste fișiere sunt servite fără procesare, fișierele imagine se pun aici',
'these files are served without processing, your images go here': 'aceste fișiere sunt servite fără procesare, imaginea se plasează acolo', 'these files are served without processing, your images go here': 'aceste fișiere sunt servite fără procesare, imaginea se plasează acolo',
'This App': 'Această aplicație', 'This App': 'Această aplicație',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is a copy of the scaffolding application': 'Aceasta este o copie a aplicației schelet', 'This is a copy of the scaffolding application': 'Aceasta este o copie a aplicației schelet',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
@@ -693,6 +744,7 @@
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Imposibil de verificat dacă există actualizări', 'Unable to check for upgrades': 'Imposibil de verificat dacă există actualizări',
@@ -708,6 +760,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'imposibil de analizat fișierul csv', 'unable to parse csv file': 'imposibil de analizat fișierul csv',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'imposibil de dezinstalat "%s"', 'unable to uninstall "%s"': 'imposibil de dezinstalat "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': 'decoșează tot', 'uncheck all': 'decoșează tot',
@@ -730,14 +783,21 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Folosiți (...)&(...) pentru ȘI, (...)|(...) pentru SAU, și ~(...) pentru NEGARE, pentru a crea interogări complexe.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Folosiți (...)&(...) pentru ȘI, (...)|(...) pentru SAU, și ~(...) pentru NEGARE, pentru a crea interogări complexe.',
'user': 'utilizator', 'user': 'utilizator',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'Utilizator %(id)s autentificat', 'User %(id)s Logged-in': 'Utilizator %(id)s autentificat',
'User %(id)s Logged-out': 'Utilizator %(id)s delogat', 'User %(id)s Logged-out': 'Utilizator %(id)s delogat',
'User %(id)s Password changed': 'Parola utilizatorului %(id)s a fost schimbată', 'User %(id)s Password changed': 'Parola utilizatorului %(id)s a fost schimbată',
'User %(id)s Password reset': 'Resetare parola utilizator %(id)s', 'User %(id)s Password reset': 'Resetare parola utilizator %(id)s',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'Profil utilizator %(id)s actualizat', 'User %(id)s Profile updated': 'Profil utilizator %(id)s actualizat',
'User %(id)s Registered': 'Utilizator %(id)s înregistrat', 'User %(id)s Registered': 'Utilizator %(id)s înregistrat',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID utilizator', 'User ID': 'ID utilizator',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'value already in database or empty': 'Valoare existentă în baza de date sau vidă', 'value already in database or empty': 'Valoare existentă în baza de date sau vidă',
@@ -767,6 +827,7 @@
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome': 'Bine ați venit', 'Welcome': 'Bine ați venit',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': 'Bine ați venit %s', 'Welcome %s': 'Bine ați venit %s',
'Welcome to web2py': 'Bun venit la web2py', 'Welcome to web2py': 'Bun venit la web2py',
'Welcome to web2py!': 'Bun venit la web2py!', 'Welcome to web2py!': 'Bun venit la web2py!',
@@ -780,9 +841,14 @@
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You can modify this application and adapt it to your needs': 'Puteți modifica și adapta aplicația nevoilor dvs.', 'You can modify this application and adapt it to your needs': 'Puteți modifica și adapta aplicația nevoilor dvs.',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'You visited the url': 'Ați vizitat adresa', 'You visited the url': 'Ați vizitat adresa',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+88
View File
@@ -16,7 +16,23 @@
'(something like "it-it")': '(наподобие "it-it")', '(something like "it-it")': '(наподобие "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Найдено: **%s** %%{файл}', '@markmin\x01Searching: **%s** %%{file}': 'Найдено: **%s** %%{файл}',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'Доступна новая версия web2py', 'A new version of web2py is available': 'Доступна новая версия web2py',
'A new version of web2py is available: %s': 'Доступна новая версия web2py: %s', 'A new version of web2py is available: %s': 'Доступна новая версия web2py: %s',
'Abort': 'Отмена', 'Abort': 'Отмена',
@@ -51,6 +67,7 @@
'application is compiled and cannot be designed': 'Приложение скомпилировано и дизайн не может быть изменен', 'application is compiled and cannot be designed': 'Приложение скомпилировано и дизайн не может быть изменен',
'Application name:': 'Название приложения:', 'Application name:': 'Название приложения:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Вы действительно хотите удалить файл "%s"?', 'Are you sure you want to delete file "%s"?': 'Вы действительно хотите удалить файл "%s"?',
@@ -69,6 +86,7 @@
'ATTENTION: This is an experimental feature and it needs more testing.': 'ВНИМАНИЕ: Это экспериментальная возможность и требует тестирования.', 'ATTENTION: This is an experimental feature and it needs more testing.': 'ВНИМАНИЕ: Это экспериментальная возможность и требует тестирования.',
'ATTENTION: you cannot edit the running application!': 'ВНИМАНИЕ: Вы не можете редактировать работающее приложение!', 'ATTENTION: you cannot edit the running application!': 'ВНИМАНИЕ: Вы не можете редактировать работающее приложение!',
'Authentication': 'Аутентификация', 'Authentication': 'Аутентификация',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Доступные базы данных и таблицы', 'Available databases and tables': 'Доступные базы данных и таблицы',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -101,6 +119,7 @@
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change Password': 'Изменить пароль', 'Change Password': 'Изменить пароль',
'change password': 'изменить пароль', 'change password': 'изменить пароль',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'проверить все', 'check all': 'проверить все',
'Check for upgrades': 'проверить обновления', 'Check for upgrades': 'проверить обновления',
@@ -113,6 +132,7 @@
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'click here for online examples': 'нажмите здесь для онлайн примеров', 'click here for online examples': 'нажмите здесь для онлайн примеров',
'click here for the administrative interface': 'нажмите здесь для интерфейса администратора', 'click here for the administrative interface': 'нажмите здесь для интерфейса администратора',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'нажмите для проверки обновления', 'click to check for upgrades': 'нажмите для проверки обновления',
@@ -229,6 +249,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -273,6 +296,7 @@
'First name': 'Имя', 'First name': 'Имя',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Функции без doctest будут давать [прошел] в тестах.', 'Functions with no doctests will result in [passed] tests.': 'Функции без doctest будут давать [прошел] в тестах.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -289,7 +313,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID группы', 'Group ID': 'ID группы',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': 'Привет, Мир', 'Hello World': 'Привет, Мир',
'Help': 'Помощь', 'Help': 'Помощь',
'here': 'here', 'here': 'here',
@@ -310,6 +337,7 @@
'Import/Export': 'Импорт/Экспорт', 'Import/Export': 'Импорт/Экспорт',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'включает', 'includes': 'включает',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'Index': 'Индекс', 'Index': 'Индекс',
'index': 'index', 'index': 'index',
@@ -319,6 +347,7 @@
'Install': 'Установить', 'Install': 'Установить',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Установленные приложения', 'Installed applications': 'Установленные приложения',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'внутренняя ошибка', 'internal error': 'внутренняя ошибка',
@@ -329,16 +358,24 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Неверный email', 'Invalid email': 'Неверный email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'неверный пароль', 'invalid password': 'неверный пароль',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Неверный запрос', 'Invalid Query': 'Неверный запрос',
'invalid request': 'неверный запрос', 'invalid request': 'неверный запрос',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'неверный тикет', 'invalid ticket': 'неверный тикет',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key bindings': 'Комбинации клавиш', 'Key bindings': 'Комбинации клавиш',
'Key bindings for ZenConding Plugin': 'Комбинации клавиш для плагина ZenConding', 'Key bindings for ZenConding Plugin': 'Комбинации клавиш для плагина ZenConding',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'Языковой файл "%(filename)s" создан/обновлен', 'language file "%(filename)s" created/updated': 'Языковой файл "%(filename)s" создан/обновлен',
@@ -362,8 +399,12 @@
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'located in the file': 'расположенный в файле', 'located in the file': 'расположенный в файле',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'login': 'логин', 'login': 'логин',
'Login': 'Логин', 'Login': 'Логин',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Вход в интерфейс администратора', 'Login to the Administrative Interface': 'Вход в интерфейс администратора',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -394,6 +435,7 @@
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'Мастер нового приложения', 'New application wizard': 'Мастер нового приложения',
'New password': 'New password',
'new plugin installed': 'new plugin installed', 'new plugin installed': 'new plugin installed',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Новая запись', 'New Record': 'Новая запись',
@@ -414,6 +456,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -433,6 +477,10 @@
'pack plugin': 'Упаковать плагин', 'pack plugin': 'Упаковать плагин',
'Password': 'Пароль', 'Password': 'Пароль',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -440,6 +488,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'please wait!': 'подождите, пожалуйста!', 'please wait!': 'подождите, пожалуйста!',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted',
@@ -458,6 +507,7 @@
'Previous Edit Point': 'Предыдущее место правки', 'Previous Edit Point': 'Предыдущее место правки',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -474,21 +524,34 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': 'запись', 'record': 'запись',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'запись не существует', 'record does not exist': 'запись не существует',
'record id': 'id записи', 'record id': 'id записи',
'Record ID': 'ID записи', 'Record ID': 'ID записи',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'Register': 'Зарегистрироваться', 'Register': 'Зарегистрироваться',
'register': 'зарегистрироваться', 'register': 'зарегистрироваться',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Ключ регистрации', 'Registration key': 'Ключ регистрации',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Удалить скомпилированное', 'Remove compiled': 'Удалить скомпилированное',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Сброс пароля', 'Reset Password key': 'Сброс пароля',
@@ -531,6 +594,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'сайт', 'Site': 'сайт',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -593,7 +657,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'Эти файлы обслуживаются без обработки, ваши изображения попадут сюда', 'These files are served without processing, your images go here': 'Эти файлы обслуживаются без обработки, ваши изображения попадут сюда',
'these files are served without processing, your images go here': 'Эти файлы обслуживаются без обработки, ваши изображения попадут сюда', 'these files are served without processing, your images go here': 'Эти файлы обслуживаются без обработки, ваши изображения попадут сюда',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is a copy of the scaffolding application': 'Это копия сгенерированного приложения', 'This is a copy of the scaffolding application': 'Это копия сгенерированного приложения',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
@@ -623,6 +689,7 @@
'try something like': 'попробовать что-либо вида', 'try something like': 'попробовать что-либо вида',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Невозможно проверить обновления', 'Unable to check for upgrades': 'Невозможно проверить обновления',
@@ -638,6 +705,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'невозможно разобрать файл csv', 'unable to parse csv file': 'невозможно разобрать файл csv',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'невозможно удалить "%s"', 'unable to uninstall "%s"': 'невозможно удалить "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': 'снять выбор всего', 'uncheck all': 'снять выбор всего',
@@ -662,11 +730,25 @@
'Use an url:': 'Используйте url:', 'Use an url:': 'Используйте url:',
'user': 'пользователь', 'user': 'пользователь',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID пользователя', 'User ID': 'ID пользователя',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'переменные', 'variables': 'переменные',
'Verify Password': 'Verify Password',
'Version': 'Версия', 'Version': 'Версия',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'versioning': 'версии', 'versioning': 'версии',
@@ -687,6 +769,7 @@
'web2py Recent Tweets': 'последние твиты по web2py', 'web2py Recent Tweets': 'последние твиты по web2py',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': 'Добро пожаловать, %s', 'Welcome %s': 'Добро пожаловать, %s',
'Welcome to web2py': 'Добро пожаловать в web2py', 'Welcome to web2py': 'Добро пожаловать в web2py',
'Which called the function': 'Который вызвал функцию', 'Which called the function': 'Который вызвал функцию',
@@ -700,9 +783,14 @@
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You can modify this application and adapt it to your needs': 'Вы можете изменить это приложение и подогнать под свои нужды', 'You can modify this application and adapt it to your needs': 'Вы можете изменить это приложение и подогнать под свои нужды',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'You visited the url': 'Вы посетили URL', 'You visited the url': 'Вы посетили URL',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+88
View File
@@ -16,7 +16,23 @@
'(something like "it-it")': '(nekaj kot "sl-SI" ali samo "sl")', '(something like "it-it")': '(nekaj kot "sl-SI" ali samo "sl")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Iskanje: **%s** datoteke', '@markmin\x01Searching: **%s** %%{file}': 'Iskanje: **%s** datoteke',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'Nova različica web2py je na voljo', 'A new version of web2py is available': 'Nova različica web2py je na voljo',
'A new version of web2py is available: %s': 'Nova različica web2py je na voljo: %s', 'A new version of web2py is available: %s': 'Nova različica web2py je na voljo: %s',
'Abort': 'Preklic', 'Abort': 'Preklic',
@@ -51,6 +67,7 @@
'application is compiled and cannot be designed': 'aplikacija je prevedena in je ne morete popravljati', 'application is compiled and cannot be designed': 'aplikacija je prevedena in je ne morete popravljati',
'Application name:': 'Ime aplikacije:', 'Application name:': 'Ime aplikacije:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Ali res želite pobrisati datoteko "%s"?', 'Are you sure you want to delete file "%s"?': 'Ali res želite pobrisati datoteko "%s"?',
@@ -69,6 +86,7 @@
'ATTENTION: This is an experimental feature and it needs more testing.': 'POZOR: To je preizkusni fazi in potrebuje več testiranja.', 'ATTENTION: This is an experimental feature and it needs more testing.': 'POZOR: To je preizkusni fazi in potrebuje več testiranja.',
'ATTENTION: you cannot edit the running application!': 'POZOR: Ne morete urejati aplikacije, ki že teče!', 'ATTENTION: you cannot edit the running application!': 'POZOR: Ne morete urejati aplikacije, ki že teče!',
'Authentication': 'Avtentikacija', 'Authentication': 'Avtentikacija',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Podatkovne baze in tabele', 'Available databases and tables': 'Podatkovne baze in tabele',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -101,6 +119,7 @@
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change Password': 'Spremeni geslo', 'Change Password': 'Spremeni geslo',
'change password': 'spremeni geslo', 'change password': 'spremeni geslo',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'označi vse', 'check all': 'označi vse',
'Check for upgrades': 'Preveri za posodobitve', 'Check for upgrades': 'Preveri za posodobitve',
@@ -113,6 +132,7 @@
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'click here for online examples': 'kliknite za spletne primere', 'click here for online examples': 'kliknite za spletne primere',
'click here for the administrative interface': 'kliknite za skrbniški vmesnik', 'click here for the administrative interface': 'kliknite za skrbniški vmesnik',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Kliknite vrstico da razširite sledenje', 'Click row to expand traceback': 'Kliknite vrstico da razširite sledenje',
'Click row to view a ticket': 'Kliknite vrstico za ogled listka', 'Click row to view a ticket': 'Kliknite vrstico za ogled listka',
'click to check for upgrades': 'kliknite za preverjanje nadgradenj', 'click to check for upgrades': 'kliknite za preverjanje nadgradenj',
@@ -229,6 +249,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -273,6 +296,7 @@
'First name': 'Ime', 'First name': 'Ime',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Okvirji', 'Frames': 'Okvirji',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Funkcije brez doctest bodo opravile teste brez preverjanja.', 'Functions with no doctests will result in [passed] tests.': 'Funkcije brez doctest bodo opravile teste brez preverjanja.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -289,7 +313,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID skupine', 'Group ID': 'ID skupine',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': 'Pozdravljen, Svet!', 'Hello World': 'Pozdravljen, Svet!',
'Help': 'Pomoč', 'Help': 'Pomoč',
'here': 'here', 'here': 'here',
@@ -310,6 +337,7 @@
'Import/Export': 'Uvoz/Izvoz', 'Import/Export': 'Uvoz/Izvoz',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'vključuje', 'includes': 'vključuje',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'Index': 'Indeks', 'Index': 'Indeks',
'index': 'indeks', 'index': 'indeks',
@@ -319,6 +347,7 @@
'Install': 'Namesti', 'Install': 'Namesti',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Nameščene aplikacije', 'Installed applications': 'Nameščene aplikacije',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'notranja napaka', 'internal error': 'notranja napaka',
@@ -329,16 +358,24 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Napačen e-naslov', 'Invalid email': 'Napačen e-naslov',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'napačno geslo', 'invalid password': 'napačno geslo',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': 'Napačno povpraševanje', 'Invalid Query': 'Napačno povpraševanje',
'invalid request': 'napačna zahteva', 'invalid request': 'napačna zahteva',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'napačen kartonček', 'invalid ticket': 'napačen kartonček',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key bindings': 'Povezave tipk', 'Key bindings': 'Povezave tipk',
'Key bindings for ZenConding Plugin': 'Povezave tipk za ZenConding vtičnik', 'Key bindings for ZenConding Plugin': 'Povezave tipk za ZenConding vtičnik',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'jezikovna datoteka "%(filename)s" ustvarjena/posodobljena', 'language file "%(filename)s" created/updated': 'jezikovna datoteka "%(filename)s" ustvarjena/posodobljena',
@@ -362,8 +399,12 @@
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'located in the file': 'se nahaja v datoteki', 'located in the file': 'se nahaja v datoteki',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'login': 'prijava', 'login': 'prijava',
'Login': 'Prijava', 'Login': 'Prijava',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Prijava v skrbniški vmesnik', 'Login to the Administrative Interface': 'Prijava v skrbniški vmesnik',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -394,6 +435,7 @@
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'Čarovnik za novo aplikacijo', 'New Application Wizard': 'Čarovnik za novo aplikacijo',
'New application wizard': 'Čarovnik za novo aplikacijo', 'New application wizard': 'Čarovnik za novo aplikacijo',
'New password': 'New password',
'new plugin installed': 'new plugin installed', 'new plugin installed': 'new plugin installed',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Nov zapis', 'New Record': 'Nov zapis',
@@ -414,6 +456,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -433,6 +477,10 @@
'pack plugin': 'zapakiraj vtičnik', 'pack plugin': 'zapakiraj vtičnik',
'Password': 'Geslo', 'Password': 'Geslo',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -440,6 +488,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'please wait!': 'Prosim počakajte!', 'please wait!': 'Prosim počakajte!',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted',
@@ -458,6 +507,7 @@
'Previous Edit Point': 'Prejšnja točka urejanja', 'Previous Edit Point': 'Prejšnja točka urejanja',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -474,21 +524,34 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': 'zapis', 'record': 'zapis',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'zapis ne obstaja', 'record does not exist': 'zapis ne obstaja',
'record id': 'id zapisa', 'record id': 'id zapisa',
'Record ID': 'ID zapisa', 'Record ID': 'ID zapisa',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'Register': 'Registracija', 'Register': 'Registracija',
'register': 'registracija', 'register': 'registracija',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registracijski ključ', 'Registration key': 'Registracijski ključ',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Ponovno naloži preusmeritve', 'Reload routes': 'Ponovno naloži preusmeritve',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Odstrani prevedeno', 'Remove compiled': 'Odstrani prevedeno',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'zahteva', 'request': 'zahteva',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Ponastavi ključ gesla', 'Reset Password key': 'Ponastavi ključ gesla',
@@ -530,6 +593,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'lupina', 'shell': 'lupina',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Spletišče', 'Site': 'Spletišče',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -592,7 +656,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'Te datoteke so poslane brez obdelave. Vaše slike shranite tu.', 'These files are served without processing, your images go here': 'Te datoteke so poslane brez obdelave. Vaše slike shranite tu.',
'these files are served without processing, your images go here': 'te datoteke so poslane brez posredovanja in obdelave, svoje slike shranite tu', 'these files are served without processing, your images go here': 'te datoteke so poslane brez posredovanja in obdelave, svoje slike shranite tu',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is a copy of the scaffolding application': 'To je kopija okvirne aplikacije', 'This is a copy of the scaffolding application': 'To je kopija okvirne aplikacije',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
@@ -622,6 +688,7 @@
'try something like': 'poskusite na primer', 'try something like': 'poskusite na primer',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Ne morem preveriti posodobitev', 'Unable to check for upgrades': 'Ne morem preveriti posodobitev',
@@ -637,6 +704,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'ne morem obdelati csv datoteke', 'unable to parse csv file': 'ne morem obdelati csv datoteke',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'ne morem odstraniti "%s"', 'unable to uninstall "%s"': 'ne morem odstraniti "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': 'odznači vse', 'uncheck all': 'odznači vse',
@@ -661,11 +729,25 @@
'Use an url:': 'Uporabite URL:', 'Use an url:': 'Uporabite URL:',
'user': 'uporabnik', 'user': 'uporabnik',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID uporabnika', 'User ID': 'ID uporabnika',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'spremenljivke', 'variables': 'spremenljivke',
'Verify Password': 'Verify Password',
'Version': 'Različica', 'Version': 'Različica',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'versioning': 'različice', 'versioning': 'različice',
@@ -686,6 +768,7 @@
'web2py Recent Tweets': 'zadnji tviti na web2py', 'web2py Recent Tweets': 'zadnji tviti na web2py',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': 'Dobrodošli, %s', 'Welcome %s': 'Dobrodošli, %s',
'Welcome to web2py': 'Dobrodošli v web2py', 'Welcome to web2py': 'Dobrodošli v web2py',
'Which called the function': 'Ki je klical funkcijo', 'Which called the function': 'Ki je klical funkcijo',
@@ -699,9 +782,14 @@
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You can modify this application and adapt it to your needs': 'Lahko spremenite to aplikacijo in jo prilagodite vašim potrebam', 'You can modify this application and adapt it to your needs': 'Lahko spremenite to aplikacijo in jo prilagodite vašim potrebam',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'You visited the url': 'Obiskali ste URL', 'You visited the url': 'Obiskali ste URL',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+103
View File
@@ -16,7 +16,23 @@
'(something like "it-it")': '(на примјер "it-it")', '(something like "it-it")': '(на примјер "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(датотека **gluon/contrib/plural_rules/%s.py** није пронађена)', '@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(датотека **gluon/contrib/plural_rules/%s.py** није пронађена)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** %%{file}',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'Abort': 'Одустани', 'Abort': 'Одустани',
'About': 'Информације', 'About': 'Информације',
'About application': 'О апликацији', 'About application': 'О апликацији',
@@ -45,6 +61,7 @@
'application is compiled and cannot be designed': 'апликација је компајлирана и не може се даље уређивати', 'application is compiled and cannot be designed': 'апликација је компајлирана и не може се даље уређивати',
'Application name:': 'Назив апликације:', 'Application name:': 'Назив апликације:',
'Application updated via git pull': 'Апликација ажурирана преко git pull', 'Application updated via git pull': 'Апликација ажурирана преко git pull',
'Apply changes': 'Apply changes',
'are not used': 'није кориштено', 'are not used': 'није кориштено',
'are not used yet': 'није још кориштено', 'are not used yet': 'није још кориштено',
'Are you sure you want to delete file "%s"?': 'Да ли сте сигурни да желите избрисати датотеку "%s"?', 'Are you sure you want to delete file "%s"?': 'Да ли сте сигурни да желите избрисати датотеку "%s"?',
@@ -59,6 +76,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'ATTENTION: you cannot edit the running application!': 'ПАЖЊА: не можете уређивати покренуту апликацију!', 'ATTENTION: you cannot edit the running application!': 'ПАЖЊА: не можете уређивати покренуту апликацију!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available Databases and Tables': 'Доступне базе података и табеле', 'Available Databases and Tables': 'Доступне базе података и табеле',
'back': 'назад', 'back': 'назад',
@@ -85,6 +103,7 @@
'Change Admin Password': 'Промијени лозинку администратора', 'Change Admin Password': 'Промијени лозинку администратора',
'Change admin password': 'Промијени лозинку администратора', 'Change admin password': 'Промијени лозинку администратора',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'check all', 'check all': 'check all',
'Check for upgrades': 'Провјери могућност надоградње', 'Check for upgrades': 'Провјери могућност надоградње',
@@ -95,8 +114,10 @@
'Clear CACHE?': 'Обриши CACHE?', 'Clear CACHE?': 'Обриши CACHE?',
'Clear DISK': 'Обриши DISK', 'Clear DISK': 'Обриши DISK',
'Clear RAM': 'Обриши RAM', 'Clear RAM': 'Обриши RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'Client IP': 'Client IP',
'code': 'код', 'code': 'код',
'Code listing': 'Приказ кода', 'Code listing': 'Приказ кода',
'collapse/expand all': 'сакрити/приказати све', 'collapse/expand all': 'сакрити/приказати све',
@@ -153,6 +174,7 @@
'Deploy to PythonAnywhere': 'Постави на PythonAnywhere', 'Deploy to PythonAnywhere': 'Постави на PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'design', 'design': 'design',
'Detailed traceback description': 'Detailed traceback description', 'Detailed traceback description': 'Detailed traceback description',
@@ -179,6 +201,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'преузми помоћне модуле', 'download plugins': 'преузми помоћне модуле',
'Download plugins from repository': 'Преузми помоћне модуле из репозиторијум', 'Download plugins from repository': 'Преузми помоћне модуле из репозиторијум',
'E-mail': 'E-mail',
'Edit': 'Уреди', 'Edit': 'Уреди',
'edit all': 'уреди све', 'edit all': 'уреди све',
'Edit application': 'Уреди апликацију', 'Edit application': 'Уреди апликацију',
@@ -192,6 +215,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -229,8 +255,10 @@
'filter': 'филтер', 'filter': 'филтер',
'Find Next': 'Пронађи сљедећи', 'Find Next': 'Пронађи сљедећи',
'Find Previous': 'Пронађи претходни', 'Find Previous': 'Пронађи претходни',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.', 'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -247,6 +275,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'Помоћ', 'Help': 'Помоћ',
'here': 'here', 'here': 'here',
'Hide/Show Translated strings': 'Сакрити/Приказати преведене ријечи', 'Hide/Show Translated strings': 'Сакрити/Приказати преведене ријечи',
@@ -263,11 +295,13 @@
'Import/Export': 'инсталационо окружење', 'Import/Export': 'инсталационо окружење',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'укључује', 'includes': 'укључује',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'inspect attributes': 'inspect attributes', 'inspect attributes': 'inspect attributes',
'Install': 'Инсталирај', 'Install': 'Инсталирај',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Инсталиране апликације', 'Installed applications': 'Инсталиране апликације',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'унутрашња грешка', 'internal error': 'унутрашња грешка',
@@ -276,23 +310,33 @@
'Invalid action': 'Invalid action', 'Invalid action': 'Invalid action',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'Неважећа лозинка', 'invalid password': 'Неважећа лозинка',
'Invalid password': 'Invalid password',
'invalid password.': 'неважећа лозинка.', 'invalid password.': 'неважећа лозинка.',
'Invalid Query': 'Погрешан упит', 'Invalid Query': 'Погрешан упит',
'invalid request': 'invalid request', 'invalid request': 'invalid request',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'погрешан тикет', 'invalid ticket': 'погрешан тикет',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key bindings': 'Пречице', 'Key bindings': 'Пречице',
'Key bindings for ZenCoding Plugin': 'Пречице за ZenCoding Plugin', 'Key bindings for ZenCoding Plugin': 'Пречице за ZenCoding Plugin',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Пречице на тастатури', 'Keyboard shortcuts': 'Пречице на тастатури',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'језичка датотека "%(filename)s" је креирана/ажурирана', 'language file "%(filename)s" created/updated': 'језичка датотека "%(filename)s" је креирана/ажурирана',
'Language files (static strings) updated': 'Језичке датотеке су ажуриране', 'Language files (static strings) updated': 'Језичке датотеке су ажуриране',
'languages': 'језици', 'languages': 'језици',
'Languages': 'Језици', 'Languages': 'Језици',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Посљедња измјена:', 'Last saved on:': 'Посљедња измјена:',
'License for': 'Лиценца за', 'License for': 'Лиценца за',
@@ -306,7 +350,11 @@
'Local Apps': 'Локалне апликације', 'Local Apps': 'Локалне апликације',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Пријава', 'Login': 'Пријава',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Пријава за административно окружење', 'Login to the Administrative Interface': 'Пријава за административно окружење',
'Login/Register': 'Пријава/Регистрација', 'Login/Register': 'Пријава/Регистрација',
@@ -329,10 +377,12 @@
'Modules': 'Модули', 'Modules': 'Модули',
'modules': 'модули', 'modules': 'модули',
'Multi User Mode': 'Вишекориснички режим рада', 'Multi User Mode': 'Вишекориснички режим рада',
'Name': 'Name',
'new application "%s" created': 'нова апликација "%s" је креирана', 'new application "%s" created': 'нова апликација "%s" је креирана',
'new application "%s" imported': 'нова апликација "%s" је увежена', 'new application "%s" imported': 'нова апликација "%s" је увежена',
'New Application Wizard': 'Чаробњак за нове апликације', 'New Application Wizard': 'Чаробњак за нове апликације',
'New application wizard': 'Чаробњак за нове апликације', 'New application wizard': 'Чаробњак за нове апликације',
'New password': 'New password',
'new plugin installed': 'нови помоћни модул је инсталиран', 'new plugin installed': 'нови помоћни модул је инсталиран',
'New plugin installed: %s': 'Инсталиран нови помоћни модул: %s', 'New plugin installed: %s': 'Инсталиран нови помоћни модул: %s',
'New Record': 'Нови запис', 'New Record': 'Нови запис',
@@ -353,6 +403,8 @@
'Not Authorized': 'Немате овлашћење', 'Not Authorized': 'Немате овлашћење',
'Not supported': 'Није подржано', 'Not supported': 'Није подржано',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'online designer': 'онлајн дизајнер', 'online designer': 'онлајн дизајнер',
'Open new app in new window': 'Отвори нову апликацију у новом прозору', 'Open new app in new window': 'Отвори нову апликацију у новом прозору',
@@ -361,6 +413,7 @@
'or alternatively': 'или алтернативно', 'or alternatively': 'или алтернативно',
'Or Get from URL:': 'Or Get from URL:', 'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'или увези помоћу csv датотеке', 'or import from csv file': 'или увези помоћу csv датотеке',
'Origin': 'Origin',
'Original/Translation': 'Оргинал/Превод', 'Original/Translation': 'Оргинал/Превод',
'Overview': 'Преглед', 'Overview': 'Преглед',
'Overwrite installed app': 'Замјени већ постојећу апликацију', 'Overwrite installed app': 'Замјени већ постојећу апликацију',
@@ -368,7 +421,12 @@
'Pack compiled': 'Запакуј компајлирано', 'Pack compiled': 'Запакуј компајлирано',
'Pack custom': 'Прилагођено паковање', 'Pack custom': 'Прилагођено паковање',
'pack plugin': 'запакуј помоћни модул', 'pack plugin': 'запакуј помоћни модул',
'Password': 'Password',
'password changed': 'лозинка је промијењена', 'password changed': 'лозинка је промијењена',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Претходне корекције', 'Past revisions': 'Претходне корекције',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -376,6 +434,7 @@
'Permission': 'Дозвола', 'Permission': 'Дозвола',
'Permissions': 'Дозволе', 'Permissions': 'Дозволе',
'Please': 'Молим', 'Please': 'Молим',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'помоћни модул "%(plugin)s" је избрисан', 'plugin "%(plugin)s" deleted': 'помоћни модул "%(plugin)s" је избрисан',
'Plugin "%s" in application': 'Помоћни модул "%s" у апликацији', 'Plugin "%s" in application': 'Помоћни модул "%s" у апликацији',
@@ -392,6 +451,7 @@
'Previous Edit Point': 'Previous Edit Point', 'Previous Edit Point': 'Previous Edit Point',
'Private files': 'Приватне датотеке', 'Private files': 'Приватне датотеке',
'private files': 'приватне датотеке', 'private files': 'приватне датотеке',
'Profile updated': 'Profile updated',
'Project Progress': 'Напредак пројекта', 'Project Progress': 'Напредак пројекта',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -407,19 +467,35 @@
'Ram Cleared': 'Ram Cleared', 'Ram Cleared': 'Ram Cleared',
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'record does not exist', 'record does not exist': 'record does not exist',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Обнови преусмјерења', 'Reload routes': 'Обнови преусмјерења',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Уклони компајлирано', 'Remove compiled': 'Уклони компајлирано',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Замијени', 'Replace': 'Замијени',
'Replace All': 'Замијени све', 'Replace All': 'Замијени све',
'Repository (%s)': 'Репозиторијум (%s)', 'Repository (%s)': 'Репозиторијум (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Resolve Conflict file', 'Resolve Conflict file': 'Resolve Conflict file',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -456,6 +532,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Сајт', 'Site': 'Сајт',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -504,7 +581,9 @@
'There are no views': 'Нема преводиоца', 'There are no views': 'Нема преводиоца',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
"This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.", "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.",
@@ -516,6 +595,7 @@
'Ticket ID': 'Тикет ID', 'Ticket ID': 'Тикет ID',
'Ticket Missing': 'Недостаје тикет', 'Ticket Missing': 'Недостаје тикет',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'to previous version.': 'на претходну верзију.', 'to previous version.': 'на претходну верзију.',
'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]', 'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]',
'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:', 'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:',
@@ -528,6 +608,7 @@
'try something like': 'на примјер', 'try something like': 'на примјер',
'Try the mobile interface': 'Пробај мобилнo окружење', 'Try the mobile interface': 'Пробај мобилнo окружење',
'try view': 'пробај приказ', 'try view': 'пробај приказ',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Не могу да провјерим могућност надоградње', 'Unable to check for upgrades': 'Не могу да провјерим могућност надоградње',
@@ -541,6 +622,7 @@
'Unable to download the list of plugins': 'Не могу да преузмем списак помоћних модула', 'Unable to download the list of plugins': 'Не могу да преузмем списак помоћних модула',
'unable to install plugin "%s"': 'не могу да инсталирам помоћни модул "%s"', 'unable to install plugin "%s"': 'не могу да инсталирам помоћни модул "%s"',
'unable to parse csv file': 'не могу да расчланим csv датотеку', 'unable to parse csv file': 'не могу да расчланим csv датотеку',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'не могу да деинсталирам "%s"', 'unable to uninstall "%s"': 'не могу да деинсталирам "%s"',
'unable to upgrade because "%s"': 'не могу да ажуримам због "%s"', 'unable to upgrade because "%s"': 'не могу да ажуримам због "%s"',
'uncheck all': 'uncheck all', 'uncheck all': 'uncheck all',
@@ -559,10 +641,25 @@
'upload plugin file:': 'преузми датотеку помоћног модула:', 'upload plugin file:': 'преузми датотеку помоћног модула:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'User': 'Корисник', 'User': 'Корисник',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Корисничко име', 'Username': 'Корисничко име',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Корисници', 'Users': 'Корисници',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Verify Password',
'Version': 'Верзија', 'Version': 'Верзија',
'Version %s.%s.%s (%s) %s': 'Верзија %s.%s.%s (%s) %s', 'Version %s.%s.%s (%s) %s': 'Верзија %s.%s.%s (%s) %s',
'Versioning': 'Креирање верзија', 'Versioning': 'Креирање верзија',
@@ -581,6 +678,7 @@
'web2py Recent Tweets': 'web2py Recent Tweets', 'web2py Recent Tweets': 'web2py Recent Tweets',
'web2py upgrade': 'web2py надоградња', 'web2py upgrade': 'web2py надоградња',
'web2py upgraded; please restart it': 'web2py је ажуриран; молим да рестартујете', 'web2py upgraded; please restart it': 'web2py је ажуриран; молим да рестартујете',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Извршавам...', 'Working...': 'Извршавам...',
'Wrap with Abbreviation': 'Wrap with Abbreviation', 'Wrap with Abbreviation': 'Wrap with Abbreviation',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
@@ -588,8 +686,13 @@
'Yes': 'Да', 'Yes': 'Да',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+102
View File
@@ -16,8 +16,23 @@
'(something like "it-it")': '(na primjer "it-it")', '(something like "it-it")': '(na primjer "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(datoteka **gluon/contrib/plural_rules/%s.py** nije pronađena)', '@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(datoteka **gluon/contrib/plural_rules/%s.py** nije pronađena)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', '@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** %%{file}',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'Abort': 'Odustani', 'Abort': 'Odustani',
'About': 'Informacije', 'About': 'Informacije',
'About application': 'O aplikaciji', 'About application': 'O aplikaciji',
@@ -46,6 +61,7 @@
'application is compiled and cannot be designed': 'aplikacija je kompajlirana i ne može se dalje uređivati', 'application is compiled and cannot be designed': 'aplikacija je kompajlirana i ne može se dalje uređivati',
'Application name:': 'Naziv aplikacije:', 'Application name:': 'Naziv aplikacije:',
'Application updated via git pull': 'Aplikacija ažurirana preko git pull', 'Application updated via git pull': 'Aplikacija ažurirana preko git pull',
'Apply changes': 'Apply changes',
'are not used': 'nije korišteno', 'are not used': 'nije korišteno',
'are not used yet': 'nije još korišteno', 'are not used yet': 'nije još korišteno',
'Are you sure you want to delete file "%s"?': 'Da li ste sigurni da želite izbrisati datoteku "%s"?', 'Are you sure you want to delete file "%s"?': 'Da li ste sigurni da želite izbrisati datoteku "%s"?',
@@ -60,6 +76,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'ATTENTION: you cannot edit the running application!': 'ATTENTION: ne možete uređivati pokrenutu aplikaciju!', 'ATTENTION: you cannot edit the running application!': 'ATTENTION: ne možete uređivati pokrenutu aplikaciju!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available Databases and Tables': 'Dostupne baze podataka i tabele', 'Available Databases and Tables': 'Dostupne baze podataka i tabele',
'back': 'nazad', 'back': 'nazad',
@@ -86,6 +103,7 @@
'Change admin password': 'Promijeni lozinku administratora', 'Change admin password': 'Promijeni lozinku administratora',
'Change Admin Password': 'Promijeni lozinku administratora', 'Change Admin Password': 'Promijeni lozinku administratora',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'check all', 'check all': 'check all',
'Check for upgrades': 'Provjeri mogućnost nadogradnje', 'Check for upgrades': 'Provjeri mogućnost nadogradnje',
@@ -96,8 +114,10 @@
'Clear CACHE?': 'Obriši CACHE?', 'Clear CACHE?': 'Obriši CACHE?',
'Clear DISK': 'Obriši DISK', 'Clear DISK': 'Obriši DISK',
'Clear RAM': 'Obriši RAM', 'Clear RAM': 'Obriši RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'Client IP': 'Client IP',
'code': 'kod', 'code': 'kod',
'Code listing': 'Prikaz koda', 'Code listing': 'Prikaz koda',
'collapse/expand all': 'sakriti/prikazati sve', 'collapse/expand all': 'sakriti/prikazati sve',
@@ -154,6 +174,7 @@
'Deploy to PythonAnywhere': 'Postavi na PythonAnywhere', 'Deploy to PythonAnywhere': 'Postavi na PythonAnywhere',
'Deployment form': 'Deployment form', 'Deployment form': 'Deployment form',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'design', 'design': 'design',
'Detailed traceback description': 'Detailed traceback description', 'Detailed traceback description': 'Detailed traceback description',
@@ -180,6 +201,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'preuzmi pomoćne module', 'download plugins': 'preuzmi pomoćne module',
'Download plugins from repository': 'Preuzmi pomoćne module iz repozitorijum', 'Download plugins from repository': 'Preuzmi pomoćne module iz repozitorijum',
'E-mail': 'E-mail',
'Edit': 'Uredi', 'Edit': 'Uredi',
'edit all': 'uredi sve', 'edit all': 'uredi sve',
'Edit application': 'Uredi aplikaciju', 'Edit application': 'Uredi aplikaciju',
@@ -193,6 +215,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -230,8 +255,10 @@
'filter': 'filter', 'filter': 'filter',
'Find Next': 'Pronađi sljedeći', 'Find Next': 'Pronađi sljedeći',
'Find Previous': 'Pronađi prethodni', 'Find Previous': 'Pronađi prethodni',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.', 'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -248,6 +275,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'graph model': 'graph model', 'graph model': 'graph model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'Pomoć', 'Help': 'Pomoć',
'here': 'here', 'here': 'here',
'Hide/Show Translated strings': 'Sakriti/Prikazati prevedene riječi', 'Hide/Show Translated strings': 'Sakriti/Prikazati prevedene riječi',
@@ -264,11 +295,13 @@
'Import/Export': 'Uvoz/Izvoz', 'Import/Export': 'Uvoz/Izvoz',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'uključuje', 'includes': 'uključuje',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'inspect attributes': 'inspect attributes', 'inspect attributes': 'inspect attributes',
'Install': 'Instaliraj', 'Install': 'Instaliraj',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Instalirane aplikacije', 'Installed applications': 'Instalirane aplikacije',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'unutrašnja greška', 'internal error': 'unutrašnja greška',
@@ -277,23 +310,33 @@
'Invalid action': 'Invalid action', 'Invalid action': 'Invalid action',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'Nevažeća lozinka', 'invalid password': 'Nevažeća lozinka',
'Invalid password': 'Invalid password',
'invalid password.': 'nevažeća lozinka.', 'invalid password.': 'nevažeća lozinka.',
'Invalid Query': 'Pogrešan upit', 'Invalid Query': 'Pogrešan upit',
'invalid request': 'invalid request', 'invalid request': 'invalid request',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'pogrešan tiket', 'invalid ticket': 'pogrešan tiket',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key bindings': 'Prečice', 'Key bindings': 'Prečice',
'Key bindings for ZenCoding Plugin': 'Prečice za ZenCoding Plugin', 'Key bindings for ZenCoding Plugin': 'Prečice za ZenCoding Plugin',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Prečice na tastaturi', 'Keyboard shortcuts': 'Prečice na tastaturi',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': 'jezička datoteka "%(filename)s" je kreirana/ažurirana', 'language file "%(filename)s" created/updated': 'jezička datoteka "%(filename)s" je kreirana/ažurirana',
'Language files (static strings) updated': 'Jezičke datoteke su ažurirane', 'Language files (static strings) updated': 'Jezičke datoteke su ažurirane',
'Languages': 'Jezici', 'Languages': 'Jezici',
'languages': 'jezici', 'languages': 'jezici',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Posljednja izmjena:', 'Last saved on:': 'Posljednja izmjena:',
'License for': 'Licenca za', 'License for': 'Licenca za',
@@ -307,7 +350,11 @@
'Local Apps': 'Lokalne aplikacije', 'Local Apps': 'Lokalne aplikacije',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Prijava', 'Login': 'Prijava',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Prijava za administrativno okruženje', 'Login to the Administrative Interface': 'Prijava za administrativno okruženje',
'Login/Register': 'Prijava/Registracija', 'Login/Register': 'Prijava/Registracija',
@@ -330,10 +377,12 @@
'modules': 'moduli', 'modules': 'moduli',
'Modules': 'Moduli', 'Modules': 'Moduli',
'Multi User Mode': 'Višekorisnički režim rada', 'Multi User Mode': 'Višekorisnički režim rada',
'Name': 'Name',
'new application "%s" created': 'nova aplikacija "%s" je kreirana', 'new application "%s" created': 'nova aplikacija "%s" je kreirana',
'new application "%s" imported': 'nova aplikacija "%s" je uvežena', 'new application "%s" imported': 'nova aplikacija "%s" je uvežena',
'New application wizard': 'Čarobnjak za nove aplikacije', 'New application wizard': 'Čarobnjak za nove aplikacije',
'New Application Wizard': 'Čarobnjak za nove aplikacije', 'New Application Wizard': 'Čarobnjak za nove aplikacije',
'New password': 'New password',
'new plugin installed': 'novi pomoćni modul je instaliran', 'new plugin installed': 'novi pomoćni modul je instaliran',
'New plugin installed: %s': 'Instaliran novi pomoćni modul: %s', 'New plugin installed: %s': 'Instaliran novi pomoćni modul: %s',
'New Record': 'Novi zapis', 'New Record': 'Novi zapis',
@@ -354,6 +403,8 @@
'Not Authorized': 'Nemate ovlašćenje', 'Not Authorized': 'Nemate ovlašćenje',
'Not supported': 'Nije podržano', 'Not supported': 'Nije podržano',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'online designer': 'onlajn dizajner', 'online designer': 'onlajn dizajner',
'Open new app in new window': 'Otvori novu aplikaciju u novom prozoru', 'Open new app in new window': 'Otvori novu aplikaciju u novom prozoru',
@@ -362,6 +413,7 @@
'or alternatively': 'ili alternativno', 'or alternatively': 'ili alternativno',
'Or Get from URL:': 'Or Get from URL:', 'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'ili uvezi pomoću csv datoteke', 'or import from csv file': 'ili uvezi pomoću csv datoteke',
'Origin': 'Origin',
'Original/Translation': 'Original/Prevod', 'Original/Translation': 'Original/Prevod',
'Overview': 'Pregled', 'Overview': 'Pregled',
'Overwrite installed app': 'Zamjeni već postojeću aplikaciju', 'Overwrite installed app': 'Zamjeni već postojeću aplikaciju',
@@ -369,7 +421,12 @@
'Pack compiled': 'Zapakuj kompajlirano', 'Pack compiled': 'Zapakuj kompajlirano',
'Pack custom': 'Prilagođeno pakovanje', 'Pack custom': 'Prilagođeno pakovanje',
'pack plugin': 'zapakuj pomoćni modul', 'pack plugin': 'zapakuj pomoćni modul',
'Password': 'Password',
'password changed': 'lozinka je promijenjena', 'password changed': 'lozinka je promijenjena',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Prethodne korekcije', 'Past revisions': 'Prethodne korekcije',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -377,6 +434,7 @@
'Permission': 'Dozvola', 'Permission': 'Dozvola',
'Permissions': 'Dozvole', 'Permissions': 'Dozvole',
'Please': 'Molim', 'Please': 'Molim',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'Pomoćni modul "%(plugin)s" je izbrisan', 'plugin "%(plugin)s" deleted': 'Pomoćni modul "%(plugin)s" je izbrisan',
'Plugin "%s" in application': 'Pomoćni modul "%s" u aplikaciji', 'Plugin "%s" in application': 'Pomoćni modul "%s" u aplikaciji',
@@ -393,6 +451,7 @@
'Previous Edit Point': 'Previous Edit Point', 'Previous Edit Point': 'Previous Edit Point',
'private files': 'privatne datoteke', 'private files': 'privatne datoteke',
'Private files': 'Privatne datoteke', 'Private files': 'Privatne datoteke',
'Profile updated': 'Profile updated',
'Project Progress': 'Napredak projekta', 'Project Progress': 'Napredak projekta',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -408,19 +467,35 @@
'Ram Cleared': 'Ram Cleared', 'Ram Cleared': 'Ram Cleared',
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'record does not exist', 'record does not exist': 'record does not exist',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Obnovi preusmjerenja', 'Reload routes': 'Obnovi preusmjerenja',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Remove compiled', 'Remove compiled': 'Remove compiled',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Zamijeni', 'Replace': 'Zamijeni',
'Replace All': 'Zamijeni sve', 'Replace All': 'Zamijeni sve',
'Repository (%s)': 'Repozitorijum (%s)', 'Repository (%s)': 'Repozitorijum (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Resolve Conflict file', 'Resolve Conflict file': 'Resolve Conflict file',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -457,6 +532,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell', 'shell': 'shell',
'Showing %s to %s of %s %s found': 'Prikazujem %s do %s od %s %s pronađenih', 'Showing %s to %s of %s %s found': 'Prikazujem %s do %s od %s %s pronađenih',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Početna', 'Site': 'Početna',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -505,7 +581,9 @@
'There are no views': 'Nema stranica prikaza', 'There are no views': 'Nema stranica prikaza',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
"This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.", "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.",
@@ -517,6 +595,7 @@
'Ticket ID': 'Tiket ID', 'Ticket ID': 'Tiket ID',
'Ticket Missing': 'Nedostaje tiket', 'Ticket Missing': 'Nedostaje tiket',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'to previous version.': 'na prethodnu verziju.', 'to previous version.': 'na prethodnu verziju.',
'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]', 'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]',
'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:', 'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:',
@@ -529,6 +608,7 @@
'try something like': 'na primjer', 'try something like': 'na primjer',
'Try the mobile interface': 'Probaj mobilno okruženje', 'Try the mobile interface': 'Probaj mobilno okruženje',
'try view': 'probaj prikaz', 'try view': 'probaj prikaz',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Ne mogu da provjerim mogućnost nadogradnje', 'Unable to check for upgrades': 'Ne mogu da provjerim mogućnost nadogradnje',
@@ -542,6 +622,7 @@
'Unable to download the list of plugins': 'Ne mogu da preuzmem spisak pomoćnih modula', 'Unable to download the list of plugins': 'Ne mogu da preuzmem spisak pomoćnih modula',
'unable to install plugin "%s"': 'ne mogu da instaliram pomoćni modul "%s"', 'unable to install plugin "%s"': 'ne mogu da instaliram pomoćni modul "%s"',
'unable to parse csv file': 'ne mogu da rasčlanim csv datoteku', 'unable to parse csv file': 'ne mogu da rasčlanim csv datoteku',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'ne mogu da deinstaliram "%s"', 'unable to uninstall "%s"': 'ne mogu da deinstaliram "%s"',
'unable to upgrade because "%s"': 'ne mogu da ažurimam zbog "%s"', 'unable to upgrade because "%s"': 'ne mogu da ažurimam zbog "%s"',
'uncheck all': 'uncheck all', 'uncheck all': 'uncheck all',
@@ -560,10 +641,25 @@
'upload plugin file:': 'preuzmi datoteku pomoćnog modula:', 'upload plugin file:': 'preuzmi datoteku pomoćnog modula:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'User': 'Korisnik', 'User': 'Korisnik',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Korisničko ime', 'Username': 'Korisničko ime',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Korisnici', 'Users': 'Korisnici',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'promenljive', 'variables': 'promenljive',
'Verify Password': 'Verify Password',
'Version': 'Verzija', 'Version': 'Verzija',
'Version %s.%s.%s (%s) %s': 'Verzija %s.%s.%s (%s) %s', 'Version %s.%s.%s (%s) %s': 'Verzija %s.%s.%s (%s) %s',
'Versioning': 'Kreiranje verzija', 'Versioning': 'Kreiranje verzija',
@@ -582,6 +678,7 @@
'web2py Recent Tweets': 'web2py Recent Tweets', 'web2py Recent Tweets': 'web2py Recent Tweets',
'web2py upgrade': 'web2py nadogradnja', 'web2py upgrade': 'web2py nadogradnja',
'web2py upgraded; please restart it': 'web2py je ažuriran; molim da restartujete', 'web2py upgraded; please restart it': 'web2py je ažuriran; molim da restartujete',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Izvršavam...', 'Working...': 'Izvršavam...',
'Wrap with Abbreviation': 'Wrap with Abbreviation', 'Wrap with Abbreviation': 'Wrap with Abbreviation',
'WSGI reference name': 'WSGI referentni naziv', 'WSGI reference name': 'WSGI referentni naziv',
@@ -589,8 +686,13 @@
'Yes': 'Da', 'Yes': 'Da',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+101
View File
@@ -17,9 +17,23 @@
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'1: Setting Parameters': '1: Parametrelerin Yapılandırılması', '1: Setting Parameters': '1: Parametrelerin Yapılandırılması',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': '@markmin\x01Bir hata oluştu, lütfen sayfayı [[reload %s]]', '@markmin\x01An error occured, please [[reload %s]] the page': '@markmin\x01Bir hata oluştu, lütfen sayfayı [[reload %s]]',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "'%s' uygulaması için[[NEWLINE]]Mercurial Sürüm Kontrol Sistemi Arayüzü", "@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "'%s' uygulaması için[[NEWLINE]]Mercurial Sürüm Kontrol Sistemi Arayüzü",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': '@markmin\x01Aranıyor: **%s** %%{file}', '@markmin\x01Searching: **%s** %%{file}': '@markmin\x01Aranıyor: **%s** %%{file}',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available: %s': "web2py'nin yeni sürümü mevcut: %s ", 'A new version of web2py is available: %s': "web2py'nin yeni sürümü mevcut: %s ",
'A new version of web2py is available: Version 1.68.2 (2009-10-21 09:59:29)\n': "web2py'nin yeni sürümü mevcut: Sürüm 1.68.2 (2009-10-21 09:59:29)\r\n", 'A new version of web2py is available: Version 1.68.2 (2009-10-21 09:59:29)\n': "web2py'nin yeni sürümü mevcut: Sürüm 1.68.2 (2009-10-21 09:59:29)\r\n",
'Abort': 'Abort', 'Abort': 'Abort',
@@ -53,6 +67,7 @@
'application is compiled and cannot be designed': 'uygulama derlenmiş ve tasarlanamaz', 'application is compiled and cannot be designed': 'uygulama derlenmiş ve tasarlanamaz',
'Application name:': 'Uygulama adı:', 'Application name:': 'Uygulama adı:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'kullanılamıyor', 'are not used': 'kullanılamıyor',
'are not used yet': 'şimdilik kullanılamıyor', 'are not used yet': 'şimdilik kullanılamıyor',
'Are you sure you want to delete file "%s"?': '«%s» dosyasını silmek istediğinize emin misiniz?', 'Are you sure you want to delete file "%s"?': '«%s» dosyasını silmek istediğinize emin misiniz?',
@@ -68,6 +83,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'UYARI: Giriş günceli bağlantı (HTTPS) gerektirmekte veya yerel makinada çalışılmalıdır.', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'UYARI: Giriş günceli bağlantı (HTTPS) gerektirmekte veya yerel makinada çalışılmalıdır.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'UYARI: ÇOKLU TEST GÜVENLİ DEĞİL. BİRDEN ÇOK TESTİ AYNI ANDA YAPMAYIN.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'UYARI: ÇOKLU TEST GÜVENLİ DEĞİL. BİRDEN ÇOK TESTİ AYNI ANDA YAPMAYIN.',
'ATTENTION: you cannot edit the running application!': 'UYARI: çalışan uygulamayı düzenleyemezsiniz!', 'ATTENTION: you cannot edit the running application!': 'UYARI: çalışan uygulamayı düzenleyemezsiniz!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Python Kodlarını Otomatik Tamamla', 'Autocomplete Python Code': 'Python Kodlarını Otomatik Tamamla',
'Available databases and tables': 'Kullanılabilir veritabanları ve tablolar', 'Available databases and tables': 'Kullanılabilir veritabanları ve tablolar',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -96,6 +112,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'admin parolasını değiştir', 'Change admin password': 'admin parolasını değiştir',
'change editor settings': 'düzenleyici ayarlarını değiştir', 'change editor settings': 'düzenleyici ayarlarını değiştir',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'tümünü kontrol et', 'check all': 'tümünü kontrol et',
'Check for upgrades': 'Güncellemeleri kontrol et', 'Check for upgrades': 'Güncellemeleri kontrol et',
@@ -106,9 +123,11 @@
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Clear CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Clear DISK',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Takibi genişletmek için satır üzerine tıkla', 'Click row to expand traceback': 'Takibi genişletmek için satır üzerine tıkla',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': 'güncellemeleri denetlemek için tıklayın', 'click to check for upgrades': 'güncellemeleri denetlemek için tıklayın',
'Client IP': 'Client IP',
'code': 'kod', 'code': 'kod',
'Code listing': 'Code listing', 'Code listing': 'Code listing',
'collapse/expand all': 'sıkıştır/tümünü aç', 'collapse/expand all': 'sıkıştır/tümünü aç',
@@ -168,6 +187,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Yayınlama formu', 'Deployment form': 'Yayınlama formu',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'tadarla', 'design': 'tadarla',
'Detailed traceback description': 'Ayrıntılı nedenin bulma tanımı', 'Detailed traceback description': 'Ayrıntılı nedenin bulma tanımı',
@@ -194,6 +214,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'eklentileri indir', 'download plugins': 'eklentileri indir',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'EDIT': 'DÜZENLE', 'EDIT': 'DÜZENLE',
'Edit': 'Düzenle', 'Edit': 'Düzenle',
'edit all': 'tümünü düzenle', 'edit all': 'tümünü düzenle',
@@ -209,6 +230,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Etkinleştir', 'Enable': 'Etkinleştir',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -251,8 +275,10 @@
'filter': 'filtre', 'filter': 'filtre',
'Find Next': 'Sonrakini Bul', 'Find Next': 'Sonrakini Bul',
'Find Previous': 'Öncekini Bul', 'Find Previous': 'Öncekini Bul',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Çerçeveler', 'Frames': 'Çerçeveler',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': '[passed] testlerdeki işlevlerde doctest yok', 'Functions with no doctests will result in [passed] tests.': '[passed] testlerdeki işlevlerde doctest yok',
'GAE Email': 'GAE E-postası', 'GAE Email': 'GAE E-postası',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -267,6 +293,10 @@
'Goto': 'Git', 'Goto': 'Git',
'graph model': 'grafik modeli', 'graph model': 'grafik modeli',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'Yardım', 'Help': 'Yardım',
'here': 'here', 'here': 'here',
'Hide/Show Translated strings': 'Çevrilmiş cümleleri Gizle/Görüntüle', 'Hide/Show Translated strings': 'Çevrilmiş cümleleri Gizle/Görüntüle',
@@ -284,6 +314,7 @@
'Import/Export': 'İçe/Dışa Aktarıcı', 'Import/Export': 'İçe/Dışa Aktarıcı',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': 'içerir', 'includes': 'içerir',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'index': 'indeks', 'index': 'indeks',
'insert new': 'yeni ekle', 'insert new': 'yeni ekle',
@@ -292,6 +323,7 @@
'Install': 'Kurucu', 'Install': 'Kurucu',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Kurulu uygulamalar', 'Installed applications': 'Kurulu uygulamalar',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': 'dahili hata', 'internal error': 'dahili hata',
@@ -300,24 +332,34 @@
'Invalid action': 'Geçersiz eylem', 'Invalid action': 'Geçersiz eylem',
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': 'Invalid email',
'invalid expression': 'geçersiz ifade', 'invalid expression': 'geçersiz ifade',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'Parola geçersiz', 'invalid password': 'Parola geçersiz',
'Invalid password': 'Invalid password',
'invalid password.': 'geçersiz parola.', 'invalid password.': 'geçersiz parola.',
'Invalid Query': 'Geçersiz Sorgu', 'Invalid Query': 'Geçersiz Sorgu',
'invalid request': 'geçersiz istek', 'invalid request': 'geçersiz istek',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': 'geçersiz bilet', 'invalid ticket': 'geçersiz bilet',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key bindings': 'Anahtarlar', 'Key bindings': 'Anahtarlar',
'Key bindings for ZenCoding Plugin': 'ZenCoding Eklentisi için anahtarlar', 'Key bindings for ZenCoding Plugin': 'ZenCoding Eklentisi için anahtarlar',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': '"%(filename)s" dil dosyası/dosyaları güncellendi', 'language file "%(filename)s" created/updated': '"%(filename)s" dil dosyası/dosyaları güncellendi',
'Language files (static strings) updated': 'Dil dosyası (statik cümleler) güncellendi', 'Language files (static strings) updated': 'Dil dosyası (statik cümleler) güncellendi',
'languages': 'diller', 'languages': 'diller',
'Languages': 'Diller', 'Languages': 'Diller',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Son kaydedilme:', 'Last saved on:': 'Son kaydedilme:',
'License for': 'için lisanslanmış', 'License for': 'için lisanslanmış',
@@ -331,8 +373,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'yereller', 'locals': 'yereller',
'Locals##debug': 'Yereller', 'Locals##debug': 'Yereller',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Giriş', 'Login': 'Giriş',
'login': 'giriş', 'login': 'giriş',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Yönetsel Arayüze Giriş\t', 'Login to the Administrative Interface': 'Yönetsel Arayüze Giriş\t',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -353,10 +399,12 @@
'Modules': 'Modüller', 'Modules': 'Modüller',
'modules': 'modüller', 'modules': 'modüller',
'Multi User Mode': 'Multi User Mode', 'Multi User Mode': 'Multi User Mode',
'Name': 'Name',
'new application "%s" created': 'yeni uygulama "%s" oluşturuldu', 'new application "%s" created': 'yeni uygulama "%s" oluşturuldu',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'Yeni Uygulama Sihirbazı', 'New Application Wizard': 'Yeni Uygulama Sihirbazı',
'New application wizard': 'Yeni uygulama sihirbazı', 'New application wizard': 'Yeni uygulama sihirbazı',
'New password': 'New password',
'new plugin installed': 'yeni eklenti kuruldu', 'new plugin installed': 'yeni eklenti kuruldu',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Yeni Kayıt', 'New Record': 'Yeni Kayıt',
@@ -377,6 +425,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Not: Eğer github hata kodu 128 durumunu bildiren bir ileti alırsanız, OpenShift hesabınızı ait ssh anahtarının doğru yapılandırıldığından emin olun.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Not: Eğer github hata kodu 128 durumunu bildiren bir ileti alırsanız, OpenShift hesabınızı ait ssh anahtarının doğru yapılandırıldığından emin olun.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'online designer': 'çevirimiçi tasarlayıcı', 'online designer': 'çevirimiçi tasarlayıcı',
'Open new app in new window': 'Yeni pencerede yeni uygualama aç', 'Open new app in new window': 'Yeni pencerede yeni uygualama aç',
@@ -387,6 +437,7 @@
'or import from csv file': 'veya CSV dsoyasından içerin', 'or import from csv file': 'veya CSV dsoyasından içerin',
'or provide app url:': "veya uygulama URL'si verin:", 'or provide app url:': "veya uygulama URL'si verin:",
'or provide application url:': "veya uygulama URL'si verin:", 'or provide application url:': "veya uygulama URL'si verin:",
'Origin': 'Origin',
'Original/Translation': 'Orjinal / Çeviri', 'Original/Translation': 'Orjinal / Çeviri',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'Kurulu uygulama üzerine yaz', 'Overwrite installed app': 'Kurulu uygulama üzerine yaz',
@@ -395,7 +446,12 @@
'Pack custom': 'Tercihli paketle', 'Pack custom': 'Tercihli paketle',
'pack plugin': 'eklentiyi paketle', 'pack plugin': 'eklentiyi paketle',
'PAM authenticated user, cannot change password here': 'PAM onaylı kullanıcı, parola buradan değiştirilemiyor', 'PAM authenticated user, cannot change password here': 'PAM onaylı kullanıcı, parola buradan değiştirilemiyor',
'Password': 'Password',
'password changed': 'parola değiştirilidi', 'password changed': 'parola değiştirilidi',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'appcfg.py dosyasının patikası', 'Path to appcfg.py': 'appcfg.py dosyasının patikası',
'Path to local openshift repo root.': 'Yerel openshift repo kökünün patikası.', 'Path to local openshift repo root.': 'Yerel openshift repo kökünün patikası.',
@@ -403,6 +459,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Lütfen', 'Please': 'Lütfen',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': '"%(plugin)s" eklentisi silindi', 'plugin "%(plugin)s" deleted': '"%(plugin)s" eklentisi silindi',
'Plugin "%s" in application': '"%s" uygulamasında eklenti', 'Plugin "%s" in application': '"%s" uygulamasında eklenti',
@@ -419,6 +476,7 @@
'previous 100 rows': 'önceki 100 satır', 'previous 100 rows': 'önceki 100 satır',
'Private files': 'Özel dosyalar', 'Private files': 'Özel dosyalar',
'private files': 'özel dosyalar', 'private files': 'özel dosyalar',
'Profile updated': 'Profile updated',
'Project Progress': 'Proje İlerlemesi', 'Project Progress': 'Proje İlerlemesi',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -435,20 +493,36 @@
'Rapid Search': 'Hızlı Arama', 'Rapid Search': 'Hızlı Arama',
'Record': 'Record', 'Record': 'Record',
'record': 'kayıt', 'record': 'kayıt',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'kayıt bulunamıyor', 'record does not exist': 'kayıt bulunamıyor',
'record id': 'kayıt id', 'record id': 'kayıt id',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'yeniden yükle', 'refresh': 'yeniden yükle',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Yönelendirmeyi yeniden yükle', 'Reload routes': 'Yönelendirmeyi yeniden yükle',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Derlemeyi kaldır', 'Remove compiled': 'Derlemeyi kaldır',
'Removed Breakpoint on %s at line %s': ' %s üzerindeki kesme noktası %s satırında değiştrildi.', 'Removed Breakpoint on %s at line %s': ' %s üzerindeki kesme noktası %s satırında değiştrildi.',
'Replace': 'Değiştir', 'Replace': 'Değiştir',
'Replace All': 'Tümünü değiştir', 'Replace All': 'Tümünü değiştir',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'istek', 'request': 'istek',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'python-git gerekyior, fakat kurulu değil', 'requires python-git, but not installed': 'python-git gerekyior, fakat kurulu değil',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': 'Dosyadaki çakışmayı çöz', 'Resolve Conflict file': 'Dosyadaki çakışmayı çöz',
'response': 'tepki', 'response': 'tepki',
'restart': 'yeniden başla', 'restart': 'yeniden başla',
@@ -487,6 +561,7 @@
'Set Breakpoint on %s at line %s: %s': "%s'nin %s satırındaki kesme noktasını: %s yap", 'Set Breakpoint on %s at line %s: %s': "%s'nin %s satırındaki kesme noktasını: %s yap",
'shell': 'kabuk', 'shell': 'kabuk',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Site', 'Site': 'Site',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -541,7 +616,9 @@
'These files are not served, they are only available from within your app': 'Bu dosyalar servis yapılmıyor, bunlar sadece uygulamanız içerisinden erişilebilir.', 'These files are not served, they are only available from within your app': 'Bu dosyalar servis yapılmıyor, bunlar sadece uygulamanız içerisinden erişilebilir.',
'These files are served without processing, your images go here': 'Bu dosyalarda işlem yapılmadan kaydedildi, resimler buraya gidiyor:', 'These files are served without processing, your images go here': 'Bu dosyalarda işlem yapılmadan kaydedildi, resimler buraya gidiyor:',
'these files are served without processing, your images go here': 'bu dosyalarda işlem yapılmadan kaydedildi, resimler buraya gidiyor:', 'these files are served without processing, your images go here': 'bu dosyalarda işlem yapılmadan kaydedildi, resimler buraya gidiyor:',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'Bu şablonlar %(filename)s: ', 'This is the %(filename)s template': 'Bu şablonlar %(filename)s: ',
@@ -554,6 +631,7 @@
'Ticket ID': "Bile ID'si", 'Ticket ID': "Bile ID'si",
'Ticket Missing': 'Ticket Missing', 'Ticket Missing': 'Ticket Missing',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'TM': 'TM', 'TM': 'TM',
'to previous version.': 'önceki sürüme.', 'to previous version.': 'önceki sürüme.',
'To create a plugin, name a file/folder plugin_[name]': 'Eklenti oluşturmak için dosyayı dosya/klasör plugin_[isim] şeklinde isimlendir. ', 'To create a plugin, name a file/folder plugin_[name]': 'Eklenti oluşturmak için dosyayı dosya/klasör plugin_[isim] şeklinde isimlendir. ',
@@ -569,6 +647,7 @@
'try something like': 'gibi birşey dene', 'try something like': 'gibi birşey dene',
'Try the mobile interface': 'Mobil arayüzü dene', 'Try the mobile interface': 'Mobil arayüzü dene',
'try view': 'görünümü dene', 'try view': 'görünümü dene',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Güncellemeler denetlenemiyor', 'Unable to check for upgrades': 'Güncellemeler denetlenemiyor',
@@ -585,6 +664,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': "impossible d'analyser les fichiers CSV", 'unable to parse csv file': "impossible d'analyser les fichiers CSV",
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'kladıramıyor çünkü "%s"', 'unable to uninstall "%s"': 'kladıramıyor çünkü "%s"',
'unable to upgrade because "%s"': 'güncelleyemiyor çünkü "%s"', 'unable to upgrade because "%s"': 'güncelleyemiyor çünkü "%s"',
'uncheck all': 'tümünü kladır', 'uncheck all': 'tümünü kladır',
@@ -610,10 +690,25 @@
'Use an url:': "Url'yi kullan:", 'Use an url:': "Url'yi kullan:",
'user': 'kullanıcı', 'user': 'kullanıcı',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'değişkenler', 'variables': 'değişkenler',
'Verify Password': 'Verify Password',
'Version': 'Sürüm', 'Version': 'Sürüm',
'Versioning': 'Sürümleme', 'Versioning': 'Sürümleme',
'versioning': 'sürümleme', 'versioning': 'sürümleme',
@@ -633,14 +728,20 @@
'web2py Recent Tweets': 'web2py Son Twitler', 'web2py Recent Tweets': 'web2py Son Twitler',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py güncellendi, lütfen yeniden başlatın', 'web2py upgraded; please restart it': 'web2py güncellendi, lütfen yeniden başlatın',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI referans ismi', 'WSGI reference name': 'WSGI referans ismi',
'YES': 'EVET', 'YES': 'EVET',
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': '"kesme noktaları" düğmesini kullanarak düzenleme penceresine geçebilir ve kesme nokatalarını hem ekeleyebilir hemde kaldırabilirsiniz', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': '"kesme noktaları" düğmesini kullanarak düzenleme penceresine geçebilir ve kesme nokatalarını hem ekeleyebilir hemde kaldırabilirsiniz',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'Gelinceye kadar kurmalısınız', 'You need to set up and reach a': 'Gelinceye kadar kurmalısınız',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+100
View File
@@ -18,10 +18,23 @@
'(something like "it-it")': '(щось схоже на "uk-ua")', '(something like "it-it")': '(щось схоже на "uk-ua")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(не існує файлу **gluon/contrib/plural_rules/%s.py**)', '@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(не існує файлу **gluon/contrib/plural_rules/%s.py**)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'Сталась помилка, будь-ласка [[переватажте %s]] сторінку', '@markmin\x01An error occured, please [[reload %s]] the page': 'Сталась помилка, будь-ласка [[переватажте %s]] сторінку',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Інтерфейс системи контролю версій Mercurial[[NEWLINE]]для додатку '%s'", "@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Інтерфейс системи контролю версій Mercurial[[NEWLINE]]для додатку '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Знайдено: **%s** %%{файл}', '@markmin\x01Searching: **%s** %%{file}': 'Знайдено: **%s** %%{файл}',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'Abort': 'Припинити', 'Abort': 'Припинити',
'About': 'Про', 'About': 'Про',
'about': 'про', 'about': 'про',
@@ -53,6 +66,7 @@
'application is compiled and cannot be designed': 'додаток скомпільований. налаштування змінювати не можна', 'application is compiled and cannot be designed': 'додаток скомпільований. налаштування змінювати не можна',
'Application name:': 'Назва додатку:', 'Application name:': 'Назва додатку:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'не використовуються', 'are not used': 'не використовуються',
'are not used yet': 'поки що не використовуються', 'are not used yet': 'поки що не використовуються',
'Are you sure you want to delete file "%s"?': 'Ви впевнені, що хочете вилучити файл "%s"?', 'Are you sure you want to delete file "%s"?': 'Ви впевнені, що хочете вилучити файл "%s"?',
@@ -67,6 +81,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': "УВАГА: Вхід потребує надійного (HTTPS) з'єднання або запуску на локальному комп'ютері.", 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': "УВАГА: Вхід потребує надійного (HTTPS) з'єднання або запуску на локальному комп'ютері.",
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ОБЕРЕЖНО: ТЕСТУВАННЯ НЕ Є ПОТОКО-БЕЗПЕЧНИМ, ТОЖ НЕ ЗАПУСКАЙТЕ ДЕКІЛЬКА ТЕСТІВ ОДНОЧАСНО.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ОБЕРЕЖНО: ТЕСТУВАННЯ НЕ Є ПОТОКО-БЕЗПЕЧНИМ, ТОЖ НЕ ЗАПУСКАЙТЕ ДЕКІЛЬКА ТЕСТІВ ОДНОЧАСНО.',
'ATTENTION: you cannot edit the running application!': 'УВАГА: Ви не можете редагувати додаток, який зараз виконуєте!', 'ATTENTION: you cannot edit the running application!': 'УВАГА: Ви не можете редагувати додаток, який зараз виконуєте!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Автозавершення коду на Python', 'Autocomplete Python Code': 'Автозавершення коду на Python',
'Available databases and tables': 'Доступні бази даних та таблиці', 'Available databases and tables': 'Доступні бази даних та таблиці',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -95,6 +110,7 @@
'Change Admin Password': 'Change Admin Password', 'Change Admin Password': 'Change Admin Password',
'Change admin password': 'Змінити пароль адміністратора', 'Change admin password': 'Змінити пароль адміністратора',
'change editor settings': 'змінити налаштування редактора', 'change editor settings': 'змінити налаштування редактора',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': 'відмітити всі', 'check all': 'відмітити всі',
'Check for upgrades': 'Перевірити оновлення', 'Check for upgrades': 'Перевірити оновлення',
@@ -105,8 +121,10 @@
'Clear CACHE?': 'Очистити ВЕСЬ кеш?', 'Clear CACHE?': 'Очистити ВЕСЬ кеш?',
'Clear DISK': 'Очистити ДИСКОВИЙ КЕШ', 'Clear DISK': 'Очистити ДИСКОВИЙ КЕШ',
'Clear RAM': "Очистити КЕШ В ПАМ'ЯТІ", 'Clear RAM': "Очистити КЕШ В ПАМ'ЯТІ",
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': '"Клацніть" мишкою по рядку, щоб розгорнути стек викликів (traceback)', 'Click row to expand traceback': '"Клацніть" мишкою по рядку, щоб розгорнути стек викликів (traceback)',
'Click row to view a ticket': 'Для перегляду позначки (ticket) "клацніть" мишкою по рядку', 'Click row to view a ticket': 'Для перегляду позначки (ticket) "клацніть" мишкою по рядку',
'Client IP': 'Client IP',
'code': 'код', 'code': 'код',
'Code listing': 'Лістинг', 'Code listing': 'Лістинг',
'collapse/expand all': 'згорнути/розгорнути все', 'collapse/expand all': 'згорнути/розгорнути все',
@@ -168,6 +186,7 @@
'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere', 'Deploy to PythonAnywhere': 'Deploy to PythonAnywhere',
'Deployment form': 'Форма розгортання (deployment form)', 'Deployment form': 'Форма розгортання (deployment form)',
'Deployment Interface': 'Deployment Interface', 'Deployment Interface': 'Deployment Interface',
'Description': 'Description',
'Description:': 'Description:', 'Description:': 'Description:',
'design': 'налаштування', 'design': 'налаштування',
'Detailed traceback description': 'Детальний опис стеку викликів (traceback)', 'Detailed traceback description': 'Детальний опис стеку викликів (traceback)',
@@ -194,6 +213,7 @@
'Download layouts from repository': 'Download layouts from repository', 'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'завантажити втулки', 'download plugins': 'завантажити втулки',
'Download plugins from repository': 'Download plugins from repository', 'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'Edit': 'Редагувати', 'Edit': 'Редагувати',
'edit all': 'редагувати всі', 'edit all': 'редагувати всі',
'Edit application': 'Налаштування додатку', 'Edit application': 'Налаштування додатку',
@@ -207,6 +227,9 @@
'Editing Plural Forms File': 'Редагується файл форм множини', 'Editing Plural Forms File': 'Редагується файл форм множини',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Увімкнути', 'Enable': 'Увімкнути',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -247,8 +270,10 @@
'filter': 'фільтр', 'filter': 'фільтр',
'Find Next': 'Шукати наступний', 'Find Next': 'Шукати наступний',
'Find Previous': 'Шукати попередній', 'Find Previous': 'Шукати попередній',
'First name': 'First name',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Стек викликів', 'Frames': 'Стек викликів',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Функції, в яких відсутні док-тести відносяться до функцій, які успішно пройшли тести.', 'Functions with no doctests will result in [passed] tests.': 'Функції, в яких відсутні док-тести відносяться до функцій, які успішно пройшли тести.',
'GAE Email': 'Ел.пошта GAE', 'GAE Email': 'Ел.пошта GAE',
'GAE Output': 'Відповідь GAE', 'GAE Output': 'Відповідь GAE',
@@ -265,6 +290,10 @@
'Goto': 'Перейти до', 'Goto': 'Перейти до',
'graph model': 'графова модель', 'graph model': 'графова модель',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Help': 'Допомога', 'Help': 'Допомога',
'here': 'here', 'here': 'here',
'Hide/Show Translated strings': 'Сховати/показати ВЖЕ ПЕРЕКЛАДЕНІ рядки', 'Hide/Show Translated strings': 'Сховати/показати ВЖЕ ПЕРЕКЛАДЕНІ рядки',
@@ -281,6 +310,7 @@
'Import/Export': 'Імпорт/Експорт', 'Import/Export': 'Імпорт/Експорт',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'Під час розробки , використовуйте вбудований веб-сервер Rocket, він найкраще налаштований на спільну роботу з інтерактивним ладначем.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'Під час розробки , використовуйте вбудований веб-сервер Rocket, він найкраще налаштований на спільну роботу з інтерактивним ладначем.',
'includes': 'включає', 'includes': 'включає',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'index': 'індекс', 'index': 'індекс',
'insert new': 'вставити новий', 'insert new': 'вставити новий',
@@ -289,6 +319,7 @@
'Install': 'Встановлення', 'Install': 'Встановлення',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': 'Встановлені додатки (applications)', 'Installed applications': 'Встановлені додатки (applications)',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Виконується %s рядок %s', 'Interaction at %s line %s': 'Виконується %s рядок %s',
'Interactive console': 'Інтерактивна консоль', 'Interactive console': 'Інтерактивна консоль',
'internal error': 'внутрішня помилка', 'internal error': 'внутрішня помилка',
@@ -298,24 +329,34 @@
'Invalid application name': 'Invalid application name', 'Invalid application name': 'Invalid application name',
'invalid circual reference': 'помилкове циклічне посилання', 'invalid circual reference': 'помилкове циклічне посилання',
'invalid circular reference': 'помилкове циклічне посилання', 'invalid circular reference': 'помилкове циклічне посилання',
'Invalid email': 'Invalid email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': 'неправильний пароль', 'invalid password': 'неправильний пароль',
'Invalid password': 'Invalid password',
'invalid password.': 'неправильний пароль.', 'invalid password.': 'неправильний пароль.',
'Invalid Query': 'Помилковий запит', 'Invalid Query': 'Помилковий запит',
'invalid request': 'хибний запит', 'invalid request': 'хибний запит',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'invalid request ': 'Хибний запит', 'invalid request ': 'Хибний запит',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'хибна назва таблиці (таблиці auth_* вже оголошено)', 'invalid table names (auth_* tables already defined)': 'хибна назва таблиці (таблиці auth_* вже оголошено)',
'invalid ticket': 'недійсна позначка про помилку (ticket)', 'invalid ticket': 'недійсна позначка про помилку (ticket)',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Ключ', 'Key': 'Ключ',
'Key bindings': 'Клавіатурні скорочення:', 'Key bindings': 'Клавіатурні скорочення:',
'Key bindings for ZenCoding Plugin': 'Клавіатурні скорочення для втулки ZenCoding plugin', 'Key bindings for ZenCoding Plugin': 'Клавіатурні скорочення для втулки ZenCoding plugin',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'вбити процес', 'kill process': 'вбити процес',
'language file "%(filename)s" created/updated': 'Файл перекладу "%(filename)s" створено/оновлено', 'language file "%(filename)s" created/updated': 'Файл перекладу "%(filename)s" створено/оновлено',
'Language files (static strings) updated': 'Файли перекладів (із статичних рядків в першоджерелах) оновлено', 'Language files (static strings) updated': 'Файли перекладів (із статичних рядків в першоджерелах) оновлено',
'languages': 'переклади', 'languages': 'переклади',
'Languages': 'Переклади', 'Languages': 'Переклади',
'Last name': 'Last name',
'Last Revision': 'Last Revision', 'Last Revision': 'Last Revision',
'Last saved on:': 'Востаннє збережено:', 'Last saved on:': 'Востаннє збережено:',
'License for': 'Ліцензія додатку', 'License for': 'Ліцензія додатку',
@@ -330,8 +371,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'локальні', 'locals': 'локальні',
'Locals##debug': 'Локальні змінні', 'Locals##debug': 'Локальні змінні',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Вхід', 'Login': 'Вхід',
'login': 'вхід', 'login': 'вхід',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': 'Вхід в адміністративний інтерфейс', 'Login to the Administrative Interface': 'Вхід в адміністративний інтерфейс',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -359,10 +404,12 @@
'Must include at least %s lowercase': 'Повинен включати щонайменше %s малих букв', 'Must include at least %s lowercase': 'Повинен включати щонайменше %s малих букв',
'Must include at least %s of the following : %s': 'Має включати не менше %s таких символів : %s', 'Must include at least %s of the following : %s': 'Має включати не менше %s таких символів : %s',
'Must include at least %s uppercase': 'Повинен включати щонайменше %s великих букв', 'Must include at least %s uppercase': 'Повинен включати щонайменше %s великих букв',
'Name': 'Name',
'new application "%s" created': 'новий додаток "%s" створено', 'new application "%s" created': 'новий додаток "%s" створено',
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'Майстер створення нового додатку', 'New Application Wizard': 'Майстер створення нового додатку',
'New application wizard': 'Майстер створення нового додатку', 'New application wizard': 'Майстер створення нового додатку',
'New password': 'New password',
'new plugin installed': 'нова втулка (plugin) встановлена', 'new plugin installed': 'нова втулка (plugin) встановлена',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': 'Новий запис', 'New Record': 'Новий запис',
@@ -384,6 +431,8 @@
'Not Authorized': 'Не дозволено', 'Not Authorized': 'Не дозволено',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Примітка: Якщо ви отримали повідомлення про помилку з кодом стану github рівним 128, переконайтесь, що система та обліковий запис, з якого відбувається розгортання використовують відповідний ключ ssh, налаштований в обліковому записі openshift.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Примітка: Якщо ви отримали повідомлення про помилку з кодом стану github рівним 128, переконайтесь, що система та обліковий запис, з якого відбувається розгортання використовують відповідний ключ ssh, налаштований в обліковому записі openshift.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": 'У промисловій експлуатації, ви повинні налаштувати ваш веб-сервер на використання одного процесу та багатьох потоків, якщо бажаєте скористатись цим ладначем.', "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": 'У промисловій експлуатації, ви повинні налаштувати ваш веб-сервер на використання одного процесу та багатьох потоків, якщо бажаєте скористатись цим ладначем.',
'online designer': 'дизайнер БД', 'online designer': 'дизайнер БД',
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
@@ -392,6 +441,7 @@
'or alternatively': 'або альтернативно', 'or alternatively': 'або альтернативно',
'Or Get from URL:': 'Або Отримати з мережі (ч/з URL):', 'Or Get from URL:': 'Або Отримати з мережі (ч/з URL):',
'or import from csv file': 'або імпортувати через csv-файл', 'or import from csv file': 'або імпортувати через csv-файл',
'Origin': 'Origin',
'Original/Translation': 'Оригінал/переклад', 'Original/Translation': 'Оригінал/переклад',
'Overview': 'Overview', 'Overview': 'Overview',
'Overwrite installed app': 'Перезаписати встановлений додаток', 'Overwrite installed app': 'Перезаписати встановлений додаток',
@@ -400,7 +450,12 @@
'Pack custom': 'Пакувати вибране', 'Pack custom': 'Пакувати вибране',
'pack plugin': 'запакувати втулку', 'pack plugin': 'запакувати втулку',
'PAM authenticated user, cannot change password here': 'Ввімкнена система ідентифікації користувачів PAM. Для зміни паролю скористайтесь командами вашої ОС ', 'PAM authenticated user, cannot change password here': 'Ввімкнена система ідентифікації користувачів PAM. Для зміни паролю скористайтесь командами вашої ОС ',
'Password': 'Password',
'password changed': 'пароль змінено', 'password changed': 'пароль змінено',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Шлях до appcfg.py', 'Path to appcfg.py': 'Шлях до appcfg.py',
'Path to local openshift repo root.': 'Шлях до локального корня репозитарія openshift.', 'Path to local openshift repo root.': 'Шлях до локального корня репозитарія openshift.',
@@ -409,6 +464,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Будь-ласка', 'Please': 'Будь-ласка',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin': 'втулка', 'plugin': 'втулка',
'plugin "%(plugin)s" deleted': 'втулку "%(plugin)s" вилучено', 'plugin "%(plugin)s" deleted': 'втулку "%(plugin)s" вилучено',
@@ -427,6 +483,7 @@
'Previous Edit Point': 'Попереднє місце редагування', 'Previous Edit Point': 'Попереднє місце редагування',
'Private files': 'Приватні файли', 'Private files': 'Приватні файли',
'private files': 'приватні файли', 'private files': 'приватні файли',
'Profile updated': 'Profile updated',
'Project Progress': 'Поступ проекту', 'Project Progress': 'Поступ проекту',
'Pull': 'Втягнути', 'Pull': 'Втягнути',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -443,21 +500,37 @@
'Rapid Search': 'Миттєвий пошук', 'Rapid Search': 'Миттєвий пошук',
'Record': 'Record', 'Record': 'Record',
'record': 'запис', 'record': 'запис',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'запису не існує', 'record does not exist': 'запису не існує',
'record id': 'Ід.запису', 'record id': 'Ід.запису',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'refresh': 'оновіть', 'refresh': 'оновіть',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'reload': 'перевантажити', 'reload': 'перевантажити',
'Reload routes': 'Перезавантажити маршрути', 'Reload routes': 'Перезавантажити маршрути',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': 'Вилуч.компл', 'Remove compiled': 'Вилуч.компл',
'Removed Breakpoint on %s at line %s': 'Вилучено точку зупинки у %s в рядку %s', 'Removed Breakpoint on %s at line %s': 'Вилучено точку зупинки у %s в рядку %s',
'Replace': 'Замінити', 'Replace': 'Замінити',
'Replace All': 'Замінити все', 'Replace All': 'Замінити все',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'запит', 'request': 'запит',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'Для розгортання необхідний пакет python-git, але він не встановлений', 'requires python-git, but not installed': 'Для розгортання необхідний пакет python-git, але він не встановлений',
'Reset Password key': 'Reset Password key',
'resolve': "розв'язати", 'resolve': "розв'язати",
'Resolve Conflict file': "Файл розв'язування конфлікту", 'Resolve Conflict file': "Файл розв'язування конфлікту",
'response': 'відповідь', 'response': 'відповідь',
@@ -500,6 +573,7 @@
'Set Breakpoint on %s at line %s: %s': 'Додано точку зупинки в %s на рядок %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Додано точку зупинки в %s на рядок %s: %s',
'shell': 'консоль', 'shell': 'консоль',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'signup': 'підписатись', 'signup': 'підписатись',
'signup_requested': 'необхідна_реєстрація', 'signup_requested': 'необхідна_реєстрація',
'Singular Form': 'Форма однини', 'Singular Form': 'Форма однини',
@@ -553,7 +627,9 @@
'There are no views': 'Відображень нема', 'There are no views': 'Відображень нема',
'These files are not served, they are only available from within your app': 'Ці файли ніяк не обробляються, вони доступні тільки в межах вашого додатку', 'These files are not served, they are only available from within your app': 'Ці файли ніяк не обробляються, вони доступні тільки в межах вашого додатку',
'These files are served without processing, your images go here': 'Ці файли обслуговуються "як є", без обробки, ваші графічні файли та інші супутні файли даних можуть знаходитись тут', 'These files are served without processing, your images go here': 'Ці файли обслуговуються "як є", без обробки, ваші графічні файли та інші супутні файли даних можуть знаходитись тут',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": 'Цей ладнач може працювати некоректно, якщо ви використовуєте веб-сервер без підтримки потоків або використовуєте декілька сервісних процесів.', "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": 'Цей ладнач може працювати некоректно, якщо ви використовуєте веб-сервер без підтримки потоків або використовуєте декілька сервісних процесів.',
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'Це експериментальна властивість, яка вимагає подальшого тестування. Якщо ви вирішили повернутись на попередню версію, ви це робити на ваш власний розсуд.', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'Це експериментальна властивість, яка вимагає подальшого тестування. Якщо ви вирішили повернутись на попередню версію, ви це робити на ваш власний розсуд.',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'Це експериментальна властивість, яка вимагає подальшого тестування. Якщо ви вирішили розпочати оновлення, ви це робите на ваш власний розсуд', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'Це експериментальна властивість, яка вимагає подальшого тестування. Якщо ви вирішили розпочати оновлення, ви це робите на ваш власний розсуд',
'This is the %(filename)s template': 'Це шаблон %(filename)s', 'This is the %(filename)s template': 'Це шаблон %(filename)s',
@@ -568,6 +644,7 @@
'Ticket Missing': 'Позначка (ticket) відсутня', 'Ticket Missing': 'Позначка (ticket) відсутня',
'tickets': 'позначки (tickets)', 'tickets': 'позначки (tickets)',
'Time in Cache (h:m:s)': 'Час в кеші (г:хв:сек)', 'Time in Cache (h:m:s)': 'Час в кеші (г:хв:сек)',
'Timestamp': 'Timestamp',
'to previous version.': 'до попередньої версії.', 'to previous version.': 'до попередньої версії.',
'To create a plugin, name a file/folder plugin_[name]': 'Для створення втулки, назвіть файл/каталог plugin_[name]', 'To create a plugin, name a file/folder plugin_[name]': 'Для створення втулки, назвіть файл/каталог plugin_[name]',
'To emulate a breakpoint programatically, write:': 'Для встановлення точки зупинки програмним чином напишіть:', 'To emulate a breakpoint programatically, write:': 'Для встановлення точки зупинки програмним чином напишіть:',
@@ -580,6 +657,7 @@
'try something like': 'спробуйте щось схоже на', 'try something like': 'спробуйте щось схоже на',
'Try the mobile interface': 'Спробуйте мобільний інтерфейс', 'Try the mobile interface': 'Спробуйте мобільний інтерфейс',
'try view': 'дивитись результат', 'try view': 'дивитись результат',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'наберіть тут будь-які команди ладнача PDB і натисніть клавішу [Return] ([Enter]), щоб запустити їх на виконання.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'наберіть тут будь-які команди ладнача PDB і натисніть клавішу [Return] ([Enter]), щоб запустити їх на виконання.',
'Type python statement in here and hit Return (Enter) to execute it.': 'Наберіть тут будь-які вирази Python і натисніть клавішу [Return] ([Enter]), щоб запустити їх на виконання.', 'Type python statement in here and hit Return (Enter) to execute it.': 'Наберіть тут будь-які вирази Python і натисніть клавішу [Return] ([Enter]), щоб запустити їх на виконання.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
@@ -597,6 +675,7 @@
'unable to install application "%(appname)s"': 'не вдається встановити додаток "%(appname)s"', 'unable to install application "%(appname)s"': 'не вдається встановити додаток "%(appname)s"',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': 'не вдається розібрати csv-файл', 'unable to parse csv file': 'не вдається розібрати csv-файл',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'не вдається вилучити "%s"', 'unable to uninstall "%s"': 'не вдається вилучити "%s"',
'unable to upgrade because "%s"': 'не вдається оновити, тому що "%s"', 'unable to upgrade because "%s"': 'не вдається оновити, тому що "%s"',
'unauthorized': 'неавторизовано', 'unauthorized': 'неавторизовано',
@@ -620,11 +699,26 @@
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Для створення складних запитів використовуйте (...)&(...) замість AND, (...)|(...) замість OR, та ~(...) замість NOT.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Для створення складних запитів використовуйте (...)&(...) замість AND, (...)|(...) замість OR, та ~(...) замість NOT.',
'user': 'користувач', 'user': 'користувач',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Використання оболонки може заблокувати базу даних від сумісного використання іншими користувачами цього додатку.', 'Using the shell may lock the database to other users of this app.': 'Використання оболонки може заблокувати базу даних від сумісного використання іншими користувачами цього додатку.',
'value not allowed': 'недопустиме значення', 'value not allowed': 'недопустиме значення',
'variables': 'змінні', 'variables': 'змінні',
'Verify Password': 'Verify Password',
'Version': 'Версія', 'Version': 'Версія',
'Version %s.%s.%s (%s) %s': 'Версія %s.%s.%s (%s) %s', 'Version %s.%s.%s (%s) %s': 'Версія %s.%s.%s (%s) %s',
'Versioning': 'Контроль версій', 'Versioning': 'Контроль версій',
@@ -644,6 +738,7 @@
'web2py Recent Tweets': 'Останні твіти web2py', 'web2py Recent Tweets': 'Останні твіти web2py',
'web2py upgrade': 'оновлення web2py', 'web2py upgrade': 'оновлення web2py',
'web2py upgraded; please restart it': 'web2py оновлено; будь-ласка перезапустіть його', 'web2py upgraded; please restart it': 'web2py оновлено; будь-ласка перезапустіть його',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Working...': 'Working...', 'Working...': 'Working...',
'Wrap with Abbreviation': 'Загорнути з абревіатурою', 'Wrap with Abbreviation': 'Загорнути з абревіатурою',
'WSGI reference name': "ім'я посилання WSGI", 'WSGI reference name': "ім'я посилання WSGI",
@@ -652,9 +747,14 @@
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'Ви також можете встановлювати/вилучати точки зупинок під час редагування першоджерел (sources), використовуючи кнопку "+/- точку зупинки"', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'Ви також можете встановлювати/вилучати точки зупинок під час редагування першоджерел (sources), використовуючи кнопку "+/- точку зупинки"',
'You can inspect variables using the console bellow': 'Ви можете досліджувати змінні, використовуючи інтерактивну консоль', 'You can inspect variables using the console bellow': 'Ви можете досліджувати змінні, використовуючи інтерактивну консоль',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'У вас є ще одна спроба перед тим, як вхід буде заблоковано', 'You have one more login attempt before you are locked out': 'У вас є ще одна спроба перед тим, як вхід буде заблоковано',
'you must specify a name for the uploaded application': "ви повинні вказати ім'я додатка, перед ти, як завантажити його", 'you must specify a name for the uploaded application': "ви повинні вказати ім'я додатка, перед ти, як завантажити його",
'You need to set up and reach a': 'Треба встановити та досягнути', 'You need to set up and reach a': 'Треба встановити та досягнути',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Ваш додаток буде заблоковано, поки ви не клацнете по одній з кнопок керування ("наступний", "крок", "продовжити", та ін.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Ваш додаток буде заблоковано, поки ви не клацнете по одній з кнопок керування ("наступний", "крок", "продовжити", та ін.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+83
View File
@@ -15,7 +15,23 @@
'(something like "it-it")': '(格式類似 "zh-tw")', '(something like "it-it")': '(格式類似 "zh-tw")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files', '@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': '新版的 web2py 已發行', 'A new version of web2py is available': '新版的 web2py 已發行',
'A new version of web2py is available: %s': '新版的 web2py 已發行: %s', 'A new version of web2py is available: %s': '新版的 web2py 已發行: %s',
'Abort': 'Abort', 'Abort': 'Abort',
@@ -50,6 +66,7 @@
'application is compiled and cannot be designed': '應用程式已經編譯無法重新設計', 'application is compiled and cannot be designed': '應用程式已經編譯無法重新設計',
'Application name:': 'Application name:', 'Application name:': 'Application name:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': '確定要刪除檔案"%s"?', 'Are you sure you want to delete file "%s"?': '確定要刪除檔案"%s"?',
@@ -67,6 +84,7 @@
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: 因為在測試模式不保證多執行緒安全性,也就是說不可以同時執行多個測試案例', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: 因為在測試模式不保證多執行緒安全性,也就是說不可以同時執行多個測試案例',
'ATTENTION: you cannot edit the running application!': '注意:不可編輯正在執行的應用程式!', 'ATTENTION: you cannot edit the running application!': '注意:不可編輯正在執行的應用程式!',
'Authentication': '驗證', 'Authentication': '驗證',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': '可提供的資料庫和資料表', 'Available databases and tables': '可提供的資料庫和資料表',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -96,6 +114,7 @@
'Change admin password': 'change admin password', 'Change admin password': 'change admin password',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change Password': '變更密碼', 'Change Password': '變更密碼',
'Change password': 'Change password',
'change_password': '變更密碼', 'change_password': '變更密碼',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': '全選', 'check all': '全選',
@@ -110,6 +129,7 @@
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'click here for online examples': '點此處進入線上範例', 'click here for online examples': '點此處進入線上範例',
'click here for the administrative interface': '點此處進入管理介面', 'click here for the administrative interface': '點此處進入管理介面',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': '點擊打勾以便升級', 'click to check for upgrades': '點擊打勾以便升級',
@@ -226,6 +246,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -266,6 +289,7 @@
'First name': '', 'First name': '',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': '沒有 doctests 的函式會顯示 [passed].', 'Functions with no doctests will result in [passed] tests.': '沒有 doctests 的函式會顯示 [passed].',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -280,7 +304,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': '群組編號', 'Group ID': '群組編號',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': '嗨! 世界', 'Hello World': '嗨! 世界',
'Help': '說明檔', 'Help': '說明檔',
'here': 'here', 'here': 'here',
@@ -299,6 +326,7 @@
'Import/Export': '匯入/匯出', 'Import/Export': '匯入/匯出',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': '包含', 'includes': '包含',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'Index': '索引', 'Index': '索引',
'index': '索引', 'index': '索引',
@@ -308,6 +336,7 @@
'Install': '安裝', 'Install': '安裝',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': '已安裝應用程式', 'Installed applications': '已安裝應用程式',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': '內部錯誤', 'internal error': '內部錯誤',
@@ -318,14 +347,22 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': '不合法的電子郵件', 'Invalid email': '不合法的電子郵件',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': '密碼錯誤', 'invalid password': '密碼錯誤',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': '不合法的查詢', 'Invalid Query': '不合法的查詢',
'invalid request': '不合法的網路要求(request)', 'invalid request': '不合法的網路要求(request)',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': '不合法的問題單號', 'invalid ticket': '不合法的問題單號',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': '語言檔"%(filename)s"已創建或更新', 'language file "%(filename)s" created/updated': '語言檔"%(filename)s"已創建或更新',
@@ -347,8 +384,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'login': '登入', 'login': '登入',
'Login': '登入', 'Login': '登入',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': '登入到管理員介面', 'Login to the Administrative Interface': '登入到管理員介面',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -376,6 +417,7 @@
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'New application wizard', 'New application wizard': 'New application wizard',
'New password': 'New password',
'new plugin installed': '已安裝新插件', 'new plugin installed': '已安裝新插件',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': '新紀錄', 'New Record': '新紀錄',
@@ -395,6 +437,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -414,7 +458,10 @@
'PAM authenticated user, cannot change password here': 'PAM 授權使用者, 無法在此變更密碼', 'PAM authenticated user, cannot change password here': 'PAM 授權使用者, 無法在此變更密碼',
'Password': '密碼', 'Password': '密碼',
'password changed': '密碼已變更', 'password changed': '密碼已變更',
'Password changed': 'Password changed',
"Password fields don't match": '密碼欄不匹配', "Password fields don't match": '密碼欄不匹配',
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -423,6 +470,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin': '插件', 'plugin': '插件',
'plugin "%(plugin)s" deleted': '已刪除插件"%(plugin)s"', 'plugin "%(plugin)s" deleted': '已刪除插件"%(plugin)s"',
@@ -440,6 +488,7 @@
'previous 100 rows': '往前 100 筆', 'previous 100 rows': '往前 100 筆',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -456,14 +505,25 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': '紀錄', 'record': '紀錄',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': '紀錄不存在', 'record does not exist': '紀錄不存在',
'record id': '紀錄編號', 'record id': '紀錄編號',
'Record ID': '紀錄編號', 'Record ID': '紀錄編號',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': '註冊', 'register': '註冊',
'Register': '註冊', 'Register': '註冊',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': '註冊金鑰', 'Registration key': '註冊金鑰',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': '記住帳號(30 天)', 'Remember me (for 30 days)': '記住帳號(30 天)',
'Remove compiled': '編譯檔案已移除', 'Remove compiled': '編譯檔案已移除',
@@ -472,6 +532,7 @@
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': '重設密碼', 'Reset Password key': '重設密碼',
@@ -514,6 +575,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': '命令列操作介面', 'shell': '命令列操作介面',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': '網站', 'Site': '網站',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -570,7 +632,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'these files are served without processing, your images go here': '這些檔案保留未經處理,你的影像檔在此', 'these files are served without processing, your images go here': '這些檔案保留未經處理,你的影像檔在此',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': '這是%(filename)s檔案的樣板(template)', 'This is the %(filename)s template': '這是%(filename)s檔案的樣板(template)',
@@ -600,6 +664,7 @@
'try something like': '嘗試如', 'try something like': '嘗試如',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': '無法做升級檢查', 'Unable to check for upgrades': '無法做升級檢查',
@@ -616,6 +681,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': '無法解析逗號分隔檔(csv)', 'unable to parse csv file': '無法解析逗號分隔檔(csv)',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': '無法移除安裝 "%s"', 'unable to uninstall "%s"': '無法移除安裝 "%s"',
'unable to upgrade because "%s"': '無法升級因為 "%s"', 'unable to upgrade because "%s"': '無法升級因為 "%s"',
'uncheck all': '全不選', 'uncheck all': '全不選',
@@ -639,10 +705,21 @@
'upload plugin file:': '上傳插件檔:', 'upload plugin file:': '上傳插件檔:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': '使用下列方式來組合更複雜的條件式, (...)&(...) 代表同時存在的條件, (...)|(...) 代表擇一的條件, ~(...)則代表反向條件.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': '使用下列方式來組合更複雜的條件式, (...)&(...) 代表同時存在的條件, (...)|(...) 代表擇一的條件, ~(...)則代表反向條件.',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': '使用者 %(id)s 已登入', 'User %(id)s Logged-in': '使用者 %(id)s 已登入',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': '使用者 %(id)s 已註冊', 'User %(id)s Registered': '使用者 %(id)s 已註冊',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': '使用者編號', 'User ID': '使用者編號',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
@@ -667,6 +744,7 @@
'web2py Recent Tweets': 'web2py 最近的 Tweets', 'web2py Recent Tweets': 'web2py 最近的 Tweets',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': '已升級 web2py ; 請重新啟動', 'web2py upgraded; please restart it': '已升級 web2py ; 請重新啟動',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': '歡迎 %s', 'Welcome %s': '歡迎 %s',
'Welcome to web2py': '歡迎使用 web2py', 'Welcome to web2py': '歡迎使用 web2py',
'Working...': 'Working...', 'Working...': 'Working...',
@@ -675,8 +753,13 @@
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+92 -3
View File
@@ -19,7 +19,23 @@
'(something like "it-it")': '(就酱 "it-it")', '(something like "it-it")': '(就酱 "it-it")',
'(version %s)': '(version %s)', '(version %s)': '(version %s)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Mercurial Version Control System Interface[[NEWLINE]]for application '%s'",
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.': 'Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files', '@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'@markmin\x01You need to set up and reach a [[breakpoint %s]] to use the debugger!': 'You need to set up and reach a [[breakpoint %s]] to use the debugger!',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': '新版本web2py已经可用', 'A new version of web2py is available': '新版本web2py已经可用',
'A new version of web2py is available: %s': '新版本web2py已经可用: %s', 'A new version of web2py is available: %s': '新版本web2py已经可用: %s',
'Abort': 'Abort', 'Abort': 'Abort',
@@ -53,6 +69,7 @@
'application is compiled and cannot be designed': '应用已编译完无法设计', 'application is compiled and cannot be designed': '应用已编译完无法设计',
'Application name:': 'Application name:', 'Application name:': 'Application name:',
'Application updated via git pull': 'Application updated via git pull', 'Application updated via git pull': 'Application updated via git pull',
'Apply changes': 'Apply changes',
'are not used': 'are not used', 'are not used': 'are not used',
'are not used yet': 'are not used yet', 'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': '你真想删除文件"%s"?', 'Are you sure you want to delete file "%s"?': '你真想删除文件"%s"?',
@@ -69,6 +86,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '', 'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '',
'ATTENTION: you cannot edit the running application!': '注意: 不能修改正在运行中的应用!', 'ATTENTION: you cannot edit the running application!': '注意: 不能修改正在运行中的应用!',
'Authentication code': 'Authentication code',
'Autocomplete Python Code': 'Autocomplete Python Code', 'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': '可用数据库/表', 'Available databases and tables': '可用数据库/表',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
@@ -90,7 +108,7 @@
'can be a git repo': 'can be a git repo', 'can be a git repo': 'can be a git repo',
'Cancel': 'Cancel', 'Cancel': 'Cancel',
'Cannot be empty': '不能不填', 'Cannot be empty': '不能不填',
'Cannot compile: there are errors in your app.        Debug it, correct errors and try again.': '无法编译: 应用中有错误,请修订后再试.', 'Cannot compile: there are errors in your app. \xa0 \xa0 \xa0 \xa0Debug it, correct errors and try again.': '无法编译: 应用中有错误,请修订后再试.',
'Cannot compile: there are errors in your app:': 'Cannot compile: there are errors in your app:', 'Cannot compile: there are errors in your app:': 'Cannot compile: there are errors in your app:',
'cannot create file': '无法创建文件', 'cannot create file': '无法创建文件',
'cannot upload file "%(filename)s"': '无法上传文件 "%(filename)s"', 'cannot upload file "%(filename)s"': '无法上传文件 "%(filename)s"',
@@ -98,6 +116,7 @@
'Change admin password': 'change admin password', 'Change admin password': 'change admin password',
'change editor settings': 'change editor settings', 'change editor settings': 'change editor settings',
'Change Password': '修改密码', 'Change Password': '修改密码',
'Change password': 'Change password',
'Changelog': 'Changelog', 'Changelog': 'Changelog',
'check all': '检查所有', 'check all': '检查所有',
'Check for upgrades': 'check for upgrades', 'Check for upgrades': 'check for upgrades',
@@ -110,6 +129,7 @@
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'click here for online examples': '猛击此处,查看在线实例', 'click here for online examples': '猛击此处,查看在线实例',
'click here for the administrative interface': '猛击此处,进入管理界面', 'click here for the administrative interface': '猛击此处,进入管理界面',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Click row to expand traceback', 'Click row to expand traceback': 'Click row to expand traceback',
'Click row to view a ticket': 'Click row to view a ticket', 'Click row to view a ticket': 'Click row to view a ticket',
'click to check for upgrades': '猛击查看是否有升级版本', 'click to check for upgrades': '猛击查看是否有升级版本',
@@ -220,6 +240,9 @@
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Editor': 'Editor', 'Editor': 'Editor',
'Email Address': 'Email Address', 'Email Address': 'Email Address',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Enable', 'Enable': 'Enable',
'Enable Close-Tag': 'Enable Close-Tag', 'Enable Close-Tag': 'Enable Close-Tag',
'Enable Code Folding': 'Enable Code Folding', 'Enable Code Folding': 'Enable Code Folding',
@@ -262,6 +285,7 @@
'First name': '', 'First name': '',
'Form has errors': 'Form has errors', 'Form has errors': 'Form has errors',
'Frames': 'Frames', 'Frames': 'Frames',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': '', 'Functions with no doctests will result in [passed] tests.': '',
'GAE Email': 'GAE Email', 'GAE Email': 'GAE Email',
'GAE Output': 'GAE Output', 'GAE Output': 'GAE Output',
@@ -277,7 +301,10 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': '组ID', 'Group ID': '组ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Hello World': '道可道,非常道;名可名,非常名', 'Hello World': '道可道,非常道;名可名,非常名',
'Help': '帮助', 'Help': '帮助',
'here': 'here', 'here': 'here',
@@ -296,6 +323,7 @@
'Import/Export': '导入/导出', 'Import/Export': '导入/导出',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.', 'In development, use the default Rocket webserver that is currently supported by this debugger.': 'In development, use the default Rocket webserver that is currently supported by this debugger.',
'includes': '包含', 'includes': '包含',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Indent with tabs': 'Indent with tabs', 'Indent with tabs': 'Indent with tabs',
'insert new': '新插入', 'insert new': '新插入',
'insert new %s': '新插入 %s', 'insert new %s': '新插入 %s',
@@ -303,6 +331,7 @@
'Install': 'install', 'Install': 'install',
'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s', 'Installation of %(plugin)s for %(app)s': 'Installation of %(plugin)s for %(app)s',
'Installed applications': '已安装的应用', 'Installed applications': '已安装的应用',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interaction at %s line %s', 'Interaction at %s line %s': 'Interaction at %s line %s',
'Interactive console': 'Interactive console', 'Interactive console': 'Interactive console',
'internal error': '内部错误', 'internal error': '内部错误',
@@ -313,14 +342,22 @@
'invalid circular reference': 'invalid circular reference', 'invalid circular reference': 'invalid circular reference',
'Invalid email': '无效的email', 'Invalid email': '无效的email',
'Invalid git repository specified.': 'Invalid git repository specified.', 'Invalid git repository specified.': 'Invalid git repository specified.',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'invalid password': '无效密码', 'invalid password': '无效密码',
'Invalid password': 'Invalid password',
'invalid password.': 'invalid password.', 'invalid password.': 'invalid password.',
'Invalid Query': '无效查询', 'Invalid Query': '无效查询',
'invalid request': '无效请求', 'invalid request': '无效请求',
'Invalid request': 'Invalid request', 'Invalid request': 'Invalid request',
'Invalid reset password': 'Invalid reset password',
'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)', 'invalid table names (auth_* tables already defined)': 'invalid table names (auth_* tables already defined)',
'invalid ticket': '无效传票', 'invalid ticket': '无效传票',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Keyboard shortcuts': 'Keyboard shortcuts', 'Keyboard shortcuts': 'Keyboard shortcuts',
'kill process': 'kill process', 'kill process': 'kill process',
'language file "%(filename)s" created/updated': '语言文件 "%(filename)s"被创建/更新', 'language file "%(filename)s" created/updated': '语言文件 "%(filename)s"被创建/更新',
@@ -342,8 +379,12 @@
'Local Apps': 'Local Apps', 'Local Apps': 'Local Apps',
'locals': 'locals', 'locals': 'locals',
'Locals##debug': 'Locals##debug', 'Locals##debug': 'Locals##debug',
'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'login': '登录', 'login': '登录',
'Login': '登录', 'Login': '登录',
'Login disabled by administrator': 'Login disabled by administrator',
'Login successful': 'Login successful', 'Login successful': 'Login successful',
'Login to the Administrative Interface': '登录到管理员界面', 'Login to the Administrative Interface': '登录到管理员界面',
'Login/Register': 'Login/Register', 'Login/Register': 'Login/Register',
@@ -370,6 +411,7 @@
'new application "%s" imported': 'new application "%s" imported', 'new application "%s" imported': 'new application "%s" imported',
'New Application Wizard': 'New Application Wizard', 'New Application Wizard': 'New Application Wizard',
'New application wizard': 'New application wizard', 'New application wizard': 'New application wizard',
'New password': 'New password',
'new plugin installed': 'new plugin installed', 'new plugin installed': 'new plugin installed',
'New plugin installed: %s': 'New plugin installed: %s', 'New plugin installed: %s': 'New plugin installed: %s',
'New Record': '新记录', 'New Record': '新记录',
@@ -389,6 +431,8 @@
'Not Authorized': 'Not Authorized', 'Not Authorized': 'Not Authorized',
'Not supported': 'Not supported', 'Not supported': 'Not supported',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.', 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
"On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.", "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.": "On production, you'll have to configure your webserver to use one process and multiple threads to use this debugger.",
'Open new app in new window': 'Open new app in new window', 'Open new app in new window': 'Open new app in new window',
'OpenShift Deployment Interface': 'OpenShift Deployment Interface', 'OpenShift Deployment Interface': 'OpenShift Deployment Interface',
@@ -409,6 +453,10 @@
'PAM authenticated user, cannot change password here': 'PAM authenticated user, cannot change password here', 'PAM authenticated user, cannot change password here': 'PAM authenticated user, cannot change password here',
'Password': '密码', 'Password': '密码',
'password changed': 'password changed', 'password changed': 'password changed',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Past revisions': 'Past revisions', 'Past revisions': 'Past revisions',
'Path to appcfg.py': 'Path to appcfg.py', 'Path to appcfg.py': 'Path to appcfg.py',
'Path to local openshift repo root.': 'Path to local openshift repo root.', 'Path to local openshift repo root.': 'Path to local openshift repo root.',
@@ -416,6 +464,7 @@
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Please', 'Please': 'Please',
'please input your password again': 'please input your password again',
'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...', 'Please wait, giving pythonanywhere a moment...': 'Please wait, giving pythonanywhere a moment...',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted', 'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" deleted',
'Plugin "%s" in application': 'Plugin "%s" in application', 'Plugin "%s" in application': 'Plugin "%s" in application',
@@ -432,6 +481,7 @@
'previous 100 rows': '前100行', 'previous 100 rows': '前100行',
'Private files': 'Private files', 'Private files': 'Private files',
'private files': 'private files', 'private files': 'private files',
'Profile updated': 'Profile updated',
'Project Progress': 'Project Progress', 'Project Progress': 'Project Progress',
'Pull': 'Pull', 'Pull': 'Pull',
'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.', 'Pull failed, certain files could not be checked out. Check logs for details.': 'Pull failed, certain files could not be checked out. Check logs for details.',
@@ -448,23 +498,37 @@
'Rapid Search': 'Rapid Search', 'Rapid Search': 'Rapid Search',
'Record': 'Record', 'Record': 'Record',
'record': 'record', 'record': 'record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': '记录并不存在', 'record does not exist': '记录并不存在',
'record id': '记录ID', 'record id': '记录ID',
'Record ID': '记录ID', 'Record ID': '记录ID',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'refresh': 'refresh', 'refresh': 'refresh',
'register': 'register', 'register': 'register',
'Register': '注册', 'Register': '注册',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': '注册密匙', 'Registration key': '注册密匙',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Reload routes': 'Reload routes', 'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Remove compiled': '已移除', 'Remove compiled': '已移除',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s', 'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Replace', 'Replace': 'Replace',
'Replace All': 'Replace All', 'Replace All': 'Replace All',
'Repository (%s)': 'Repository (%s)', 'Repository (%s)': 'Repository (%s)',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'requires distutils, but not installed': 'requires distutils, but not installed', 'requires distutils, but not installed': 'requires distutils, but not installed',
'requires python-git, but not installed': 'requires python-git, but not installed', 'requires python-git, but not installed': 'requires python-git, but not installed',
'Reset Password key': 'Reset Password key',
'Resolve Conflict file': '解决冲突文件', 'Resolve Conflict file': '解决冲突文件',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -503,6 +567,7 @@
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': '', 'shell': '',
'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found', 'Showing %s to %s of %s %s found': 'Showing %s to %s of %s %s found',
'Sign Up': 'Sign Up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': '总站', 'Site': '总站',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
@@ -558,7 +623,9 @@
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app', 'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here', 'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'these files are served without processing, your images go here': '', 'these files are served without processing, your images go here': '',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
"This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.", "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.": "This debugger may not work properly if you don't have a threaded webserver or you're using multiple daemon processes.",
'This email already has an account': 'This email already has an account',
'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to downgrade you do it at your own risk',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': '这是 %(filename)s 模板', 'This is the %(filename)s template': '这是 %(filename)s 模板',
@@ -577,7 +644,7 @@
'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]', 'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]',
'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:', 'To emulate a breakpoint programatically, write:': 'To emulate a breakpoint programatically, write:',
'to use the debugger!': 'to use the debugger!', 'to use the debugger!': 'to use the debugger!',
'to  previous version.': '退回前一版本', 'to \xa0previous version.': '退回前一版本',
'toggle breakpoint': 'toggle breakpoint', 'toggle breakpoint': 'toggle breakpoint',
'Toggle comment': 'Toggle comment', 'Toggle comment': 'Toggle comment',
'Toggle Fullscreen': 'Toggle Fullscreen', 'Toggle Fullscreen': 'Toggle Fullscreen',
@@ -588,6 +655,7 @@
'try something like': '尝试', 'try something like': '尝试',
'Try the mobile interface': 'Try the mobile interface', 'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view', 'try view': 'try view',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'Type PDB debugger command in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': '无法检查是否需要升级', 'Unable to check for upgrades': '无法检查是否需要升级',
@@ -604,6 +672,7 @@
'Unable to download the list of plugins': 'Unable to download the list of plugins', 'Unable to download the list of plugins': 'Unable to download the list of plugins',
'unable to install plugin "%s"': 'unable to install plugin "%s"', 'unable to install plugin "%s"': 'unable to install plugin "%s"',
'unable to parse csv file': '无法生成 cvs', 'unable to parse csv file': '无法生成 cvs',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': '无法卸载 "%s"', 'unable to uninstall "%s"': '无法卸载 "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"', 'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'uncheck all': '反选全部', 'uncheck all': '反选全部',
@@ -625,14 +694,28 @@
'upload file:': '提交文件:', 'upload file:': '提交文件:',
'upload plugin file:': 'upload plugin file:', 'upload plugin file:': 'upload plugin file:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...)  for NOT to build more complex queries.': '', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) \xa0for NOT to build more complex queries.': '',
'Use an url:': 'Use an url:', 'Use an url:': 'Use an url:',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': '用户ID', 'User ID': '用户ID',
'Username': 'Username', 'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.', 'Using the shell may lock the database to other users of this app.': 'Using the shell may lock the database to other users of this app.',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Verify Password',
'Version': '版本', 'Version': '版本',
'Versioning': 'Versioning', 'Versioning': 'Versioning',
'versioning': '版本', 'versioning': '版本',
@@ -652,6 +735,7 @@
'web2py Recent Tweets': 'twitter上的web2py进展实播', 'web2py Recent Tweets': 'twitter上的web2py进展实播',
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py': '欢迎使用web2py', 'Welcome to web2py': '欢迎使用web2py',
'Working...': 'Working...', 'Working...': 'Working...',
'WSGI reference name': 'WSGI reference name', 'WSGI reference name': 'WSGI reference name',
@@ -659,8 +743,13 @@
'Yes': 'Yes', 'Yes': 'Yes',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button',
'You can inspect variables using the console below': 'You can inspect variables using the console below', 'You can inspect variables using the console below': 'You can inspect variables using the console below',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out', 'You have one more login attempt before you are locked out': 'You have one more login attempt before you are locked out',
'You need to set up and reach a': 'You need to set up and reach a', 'You need to set up and reach a': 'You need to set up and reach a',
'You only need these if you have already registered': 'You only need these if you have already registered', 'You only need these if you have already registered': 'You only need these if you have already registered',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Your application will be blocked until you click an action button (next, step, continue, etc.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
-1
View File
@@ -25,6 +25,5 @@ from gluon.utils import md5_hash
from gluon.fileutils import listdir, cleanpath, up from gluon.fileutils import listdir, cleanpath, up
from gluon.fileutils import tar, tar_compiled, untar, fix_newlines from gluon.fileutils import tar, tar_compiled, untar, fix_newlines
from gluon.languages import findT, update_all_languages from gluon.languages import findT, update_all_languages
from gluon.myregex import *
from gluon.restricted import * from gluon.restricted import *
from gluon.compileapp import compile_application, remove_compiled_application from gluon.compileapp import compile_application, remove_compiled_application
+1 -1
View File
@@ -52,7 +52,7 @@ def verify_password(password):
if DEMO_MODE: if DEMO_MODE:
ret = True ret = True
elif not _config.get('password'): elif not _config.get('password'):
ret - False ret = False
elif _config['password'].startswith('pam_user:'): elif _config['password'].startswith('pam_user:'):
session.pam_user = _config['password'][9:].strip() session.pam_user = _config['password'][9:].strip()
import gluon.contrib.pam import gluon.contrib.pam
+7 -4
View File
@@ -1,9 +1,12 @@
[DEFAULT]
[editor] [editor]
theme = web2py theme = twilight
editor = default editor = sublime
closetag = true closetag = true
tabwidth = 4
highlightline = true
linenumbers = true
codefolding = false
indentwithtabs = false
[editor_sessions] [editor_sessions]
welcome = welcome/models/db.py,welcome/controllers/default.py,welcome/views/default/index.html welcome = welcome/models/db.py,welcome/controllers/default.py,welcome/views/default/index.html
@@ -0,0 +1,33 @@
.node {fill: steelblue;
stroke: #636363;
stroke-width: 1px;}
.auth {fill: lightgrey;}
.table {r: 10;}
.link {stroke: #bbbbbb;
stroke-width: 2px;}
td {padding: 4px;}
div.tooltip {
position: absolute;
text-align: left;
/* width: 140px; */
/* height: 28px;*/
padding: 0px 5px 0px 5px;
padding-top: 0px;
font: 12px sans-serif;
background: #fff7bc;
border: solid 1px #aaa;
border-radius: 6px;
pointer-events: none;}
h5 { font: 14px sans-serif;
background : #ec7014;
color: #ffffe5;
padding: 5px 2px 5px 2px;
margin-top: 1px;}
path {
fill: #aaaaaa;}
View File
File diff suppressed because one or more lines are too long
+181
View File
@@ -0,0 +1,181 @@
function d3_graph() {
// Some reference links:
// How to get link ids instead of index
// http://stackoverflow.com/questions/23986466/d3-force-layout-linking-nodes-by-name-instead-of-index
// embedding web2py in d3
// http://stackoverflow.com/questions/34326343/embedding-d3-js-graph-in-a-web2py-bootstrap-page
// nodes and links are defined in appadmin.html <script>
var edges = [];
links.forEach(function(e) {
var sourceNode = nodes.filter(function(n) {
return n.name === e.source;
})[0],
targetNode = nodes.filter(function(n) {
return n.name === e.target;
})[0];
edges.push({
source: sourceNode,
target: targetNode,
value: 1});
});
edges.forEach(function(e) {
if (!e.source["linkcount"]) e.source["linkcount"] = 0;
if (!e.target["linkcount"]) e.target["linkcount"] = 0;
e.source["linkcount"]++;
e.target["linkcount"]++;
});
//var width = 960, height = 600;
var height = window.innerHeight|| docEl.clientHeight|| bodyEl.clientHeight;
var width = window.innerWidth || docEl.clientWidth || bodyEl.clientWidth;
var svg = d3.select("#vis").append("svg")
.attr("width", width)
.attr("height", height);
// updated for d3 v4.
var simulation = d3.forceSimulation()
.force("link", d3.forceLink().id(function(d) { return d.id; }))
.force("charge", d3.forceManyBody().strength(strength))
.force("center", d3.forceCenter(width / 2, height / 2))
.force("collision", d3.forceCollide(35));
// Node charge strength. Repel strength greater for less links.
//function strength(d) { return -50/d["linkcount"] ; }
function strength(d) { return -25 ; }
// Link distance. Distance increases with number of links at source and target
function distance(d) { return (60 + (d.source["linkcount"] * d.target["linkcount"])) ; }
// Link strength. Strength is less for highly connected nodes (move towards target dist)
function strengthl(d) { return 5/(d.source["linkcount"] + d.target["linkcount"]) ; }
simulation
.nodes(nodes)
.on("tick", tick);
simulation.force("link")
.links(edges)
.distance(distance)
.strength(strengthl);
// build the arrow.
svg.append("svg:defs").selectAll("marker")
.data(["end"]) // Different link/path types can be defined here
.enter().append("svg:marker") // This section adds in the arrows
.attr("id", String)
.attr("viewBox", "0 -5 10 10")
.attr("refX", 25) // Moves the arrow head out, allow for radius
.attr("refY", 0) // -1.5
.attr("markerWidth", 6)
.attr("markerHeight", 6)
.attr("orient", "auto")
.append("svg:path")
.attr("d", "M0,-5L10,0L0,5");
var link = svg.selectAll('.link')
.data(edges)
.enter().append('line')
.attr("class", "link")
.attr("marker-end", "url(#end)");
var node = svg.selectAll(".node")
.data(nodes)
.enter().append("g")
.attr("class", function(d) { return "node " + d.type;})
.attr('transform', function(d) {
return "translate(" + d.x + "," + d.y + ")"})
.classed("auth", function(d) { return (d.name.startsWith("auth") ? true : false);});
node.call(d3.drag()
.on("start", dragstarted)
.on("drag", dragged)
.on("end", dragended));
// add the nodes
node.append('circle')
.attr('r', 16)
;
// add text
node.append("text")
.attr("x", 12)
.attr("dy", "-1.1em")
.text(function(d) {return d.name;});
node.on("mouseover", function(d) {
var g = d3.select(this); // the node (table)
// tooltip
var fields = d.fields;
var fieldformat = "<TABLE>";
fields.forEach(function(d) {
fieldformat += "<TR><TD><B>"+ d.name+"</B></TD><TD>"+ d.type+"</TD><TD>"+ d.disp+"</TD></TR>";
});
fieldformat += "</TABLE>";
var tiplength = d.fields.length;
// Define 'div' for tooltips
var div = d3.select("body").append("div") // declare the tooltip div
.attr("class", "tooltip") // apply the 'tooltip' class
.style("opacity", 0)
.html('<h5>' + d.name + '</h5>' + fieldformat)
.style("left", 20 + (d3.event.pageX) + "px")// or just (d.x + 50 + "px")
.style("top", tooltop(tiplength))// or ...
.transition()
.duration(800)
.style("opacity", 0.9);
});
function tooltop(tiplength) {
//aim to ensure tooltip is fully visible whenver possible
return (Math.max(d3.event.pageY - 20 - (tiplength * 14),0)) + "px"
}
node.on("mouseout", function(d) {
d3.select("body").select('div.tooltip').remove();
});
// instead of waiting for force to end with : force.on('end', function()
// use .on("tick", instead. Here is the tick function
function tick() {
node.attr('transform', function(d) {
d.x = Math.max(30, Math.min(width - 16, d.x));
d.y = Math.max(30, Math.min(height - 16, d.y));
return "translate(" + d.x + "," + d.y + ")"; });
link.attr('x1', function(d) {return d.source.x;})
.attr('y1', function(d) {return d.source.y;})
.attr('x2', function(d) {return d.target.x;})
.attr('y2', function(d) {return d.target.y;});
};
function dragstarted(d) {
if (!d3.event.active) simulation.alphaTarget(0.3).restart();
d.fx = d.x;
d.fy = d.y;
};
function dragged(d) {
d.fx = d3.event.x;
d.fy = d3.event.y;
};
function dragended(d) {
if (!d3.event.active) simulation.alphaTarget(0);
d.fx = null;
d.fy = null;
};
};
File diff suppressed because one or more lines are too long
View File
+84 -27
View File
@@ -12,6 +12,10 @@
$.error('web2py.js has already been loaded!'); $.error('web2py.js has already been loaded!');
} }
var FORMDATA_IS_SUPPORTED = typeof(FormData) !== 'undefined';
var animateIn = 'fadeIn';
// var animateIn = 'slideDown';
String.prototype.reverse = function () { String.prototype.reverse = function () {
return this.split('').reverse().join(''); return this.split('').reverse().join('');
}; };
@@ -38,8 +42,12 @@
if (value > 0) $('#' + id).hide().fadeIn('slow'); if (value > 0) $('#' + id).hide().fadeIn('slow');
else $('#' + id).show().fadeOut('slow'); else $('#' + id).show().fadeOut('slow');
}, },
ajax: function (u, s, t) { ajax: function (u, s, t, options) {
/*simple ajax function*/ /*simple ajax function*/
// set options default value
options = typeof options !== 'undefined' ? options : {};
var query = ''; var query = '';
if (typeof s == 'string') { if (typeof s == 'string') {
var d = $(s).serialize(); var d = $(s).serialize();
@@ -59,18 +67,44 @@
query = pcs.join('&'); query = pcs.join('&');
} }
} }
$.ajax({
// default success action
var success_function = function (msg) {
if (t) {
if (t == ':eval') eval(msg);
else if (typeof t == 'string') $('#' + t).html(msg);
else t(msg);
}
};
// declare success actions as array
var success = [success_function];
// add user success actions
if ($.isArray(options.done)){
success = $.merge(success, options.done);
} else {
success.push(options.done);
}
// default jquery ajax options
var ajax_options = {
type: 'POST', type: 'POST',
url: u, url: u,
data: query, data: query,
success: function (msg) { success: success
if (t) { };
if (t == ':eval') eval(msg);
else if (typeof t == 'string') $('#' + t).html(msg); //remove custom "done" option if exists
else t(msg); delete options.done;
}
} // merge default ajax options with user custom options
}); for (var attrname in options) {
ajax_options[attrname] = options[attrname];
}
// call ajax function
$.ajax(ajax_options);
}, },
ajax_fields: function (target) { ajax_fields: function (target) {
/* /*
@@ -148,7 +182,7 @@
}, },
/* manage errors in forms */ /* manage errors in forms */
manage_errors: function (target) { manage_errors: function (target) {
$('div.error', target).hide().slideDown('slow'); $('div.error', target).hide()[animateIn]('slow');
}, },
after_ajax: function (xhr) { after_ajax: function (xhr) {
/* called whenever an ajax request completes */ /* called whenever an ajax request completes */
@@ -233,19 +267,24 @@
} }
}); });
/* help preventing double form submission for normal form (not LOADed) */ /* help preventing double form submission for normal form (not LOADed) */
$(doc).on('submit', 'form', function () { $(doc).on('submit', 'form', function (e) {
var submit_button = $(this).find(web2py.formInputClickSelector); var submit_buttons = $(this).find(web2py.formInputClickSelector);
web2py.disableElement(submit_button); submit_buttons.each(function() {
web2py.disableElement($(this));
})
/* safeguard in case the form doesn't trigger a refresh, /* safeguard in case the form doesn't trigger a refresh,
see https://github.com/web2py/web2py/issues/1100 */ see https://github.com/web2py/web2py/issues/1100 */
setTimeout(function () { setTimeout(function () {
web2py.enableElement(submit_button); submit_buttons.each(function() {
web2py.enableElement($(this));
});
}, 5000); }, 5000);
}); });
doc.ajaxSuccess(function (e, xhr) { doc.ajaxSuccess(function (e, xhr) {
var redirect = xhr.getResponseHeader('web2py-redirect-location'); var redirect = xhr.getResponseHeader('web2py-redirect-location');
if (redirect !== null) { if (redirect !== null) {
window.location = redirect; window.location = redirect;
window.location.reload(); // Force reload even with anchors
} }
/* run this here only if this Ajax request is NOT for a web2py component. */ /* run this here only if this Ajax request is NOT for a web2py component. */
if (xhr.getResponseHeader('web2py-component-content') === null) { if (xhr.getResponseHeader('web2py-component-content') === null) {
@@ -290,7 +329,15 @@
form.submit(function (e) { form.submit(function (e) {
web2py.disableElement(form.find(web2py.formInputClickSelector)); web2py.disableElement(form.find(web2py.formInputClickSelector));
web2py.hide_flash(); web2py.hide_flash();
web2py.ajax_page('post', url, form.serialize(), target, form);
var formData;
if (FORMDATA_IS_SUPPORTED) {
formData = new FormData(form[0]); // Allows file uploads.
} else {
formData = form.serialize(); // Fallback for older browsers.
}
web2py.ajax_page('post', url, formData, target, form);
e.preventDefault(); e.preventDefault();
}); });
form.on('click', web2py.formInputClickSelector, function (e) { form.on('click', web2py.formInputClickSelector, function (e) {
@@ -309,11 +356,18 @@
if (web2py.isUndefined(element)) element = $(document); if (web2py.isUndefined(element)) element = $(document);
/* if target is not there, fill it with something that there isn't in the page*/ /* if target is not there, fill it with something that there isn't in the page*/
if (web2py.isUndefined(target) || target === '') target = 'w2p_none'; if (web2py.isUndefined(target) || target === '') target = 'w2p_none';
/* processData and contentType must be set to false when passing a FormData
object to jQuery.ajax. */
var isFormData = Object.prototype.toString.call(data) === '[object FormData]';
var contentType = isFormData ? false : 'application/x-www-form-urlencoded; charset=UTF-8';
if (web2py.fire(element, 'ajax:before', null, target)) { /*test a usecase, should stop here if returns false */ if (web2py.fire(element, 'ajax:before', null, target)) { /*test a usecase, should stop here if returns false */
$.ajax({ $.ajax({
'type': method, 'type': method,
'url': action, 'url': action,
'data': data, 'data': data,
'processData': !isFormData,
'contentType': contentType,
'beforeSend': function (xhr, settings) { 'beforeSend': function (xhr, settings) {
xhr.setRequestHeader('web2py-component-location', document.location); xhr.setRequestHeader('web2py-component-location', document.location);
xhr.setRequestHeader('web2py-component-element', target); xhr.setRequestHeader('web2py-component-element', target);
@@ -564,8 +618,8 @@
flash: function (message, status) { flash: function (message, status) {
var flash = $('.w2p_flash'); var flash = $('.w2p_flash');
web2py.hide_flash(); web2py.hide_flash();
flash.html(message).addClass(status); flash.text(message).addClass(status);
if (flash.html()) flash.append('<span id="closeflash"> &times; </span>').slideDown(); if (flash.html()) flash.append('<span id="closeflash"> &times; </span>')[animateIn]();
}, },
hide_flash: function () { hide_flash: function () {
$('.w2p_flash').fadeOut(0).html(''); $('.w2p_flash').fadeOut(0).html('');
@@ -579,7 +633,7 @@
for (var k = 0; k < triggers[id].length; k++) { for (var k = 0; k < triggers[id].length; k++) {
var dep = $('#' + triggers[id][k], target); var dep = $('#' + triggers[id][k], target);
var tr = $('#' + triggers[id][k] + '__row', target); var tr = $('#' + triggers[id][k] + '__row', target);
if (t.is(dep.attr('data-show-if'))) tr.slideDown(); if (t.is(dep.attr('data-show-if'))) tr[animateIn]();
else tr.hide(); else tr.hide();
} }
}; };
@@ -669,8 +723,9 @@
}); });
}, },
/* Disables form elements: /* Disables form elements:
- Does not disable elements with 'data-w2p_disable' attribute
- Caches element value in 'w2p_enable_with' data store - Caches element value in 'w2p_enable_with' data store
- Replaces element text with value of 'data-disable-with' attribute - Replaces element text with value of 'data-w2p_disable_with' attribute
- Sets disabled property to true - Sets disabled property to true
*/ */
disableFormElements: function (form) { disableFormElements: function (form) {
@@ -682,13 +737,15 @@
if (!web2py.isUndefined(disable)) { if (!web2py.isUndefined(disable)) {
return false; return false;
} }
if (web2py.isUndefined(disable_with)) { if (!element.is(':file')) { // Altering file input values is not allowed.
element.data('w2p_disable_with', element[method]()); if (web2py.isUndefined(disable_with)) {
element.data('w2p_disable_with', element[method]());
}
if (web2py.isUndefined(element.data('w2p_enable_with'))) {
element.data('w2p_enable_with', element[method]());
}
element[method](element.data('w2p_disable_with'));
} }
if (web2py.isUndefined(element.data('w2p_enable_with'))) {
element.data('w2p_enable_with', element[method]());
}
element[method](element.data('w2p_disable_with'));
element.prop('disabled', true); element.prop('disabled', true);
}); });
}, },
@@ -769,4 +826,4 @@ web2py_event_handlers = jQuery.web2py.event_handlers;
web2py_trap_link = jQuery.web2py.trap_link; web2py_trap_link = jQuery.web2py.trap_link;
web2py_calc_entropy = jQuery.web2py.calc_entropy; web2py_calc_entropy = jQuery.web2py.calc_entropy;
*/ */
/* compatibility code - end*/ /* compatibility code - end*/
@@ -29,5 +29,14 @@ jQuery(function(){
} }
hoverMenu(); // first page load hoverMenu(); // first page load
jQuery(window).resize(hoverMenu); // on resize event jQuery(window).resize(hoverMenu); // on resize event
jQuery('ul.nav li.dropdown a').click(function(){window.location=jQuery(this).attr('href');}); jQuery('ul.nav li.dropdown a').click(function(){
if(jQuery(this).attr("target")){
window.open(
jQuery(this).attr('href'),
jQuery(this).attr('target') // <- This is what makes it open in a new window.
);
} else {
window.location=jQuery(this).attr('href');
}
});
}); });
View File

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 366 B

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File
View File
View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

+37 -36
View File
@@ -9,16 +9,19 @@
}); });
//--></script> //--></script>
<div class="row">
<div class="col-md-12">
{{if request.function=='index':}} {{if request.function=='index':}}
<h2>{{=T("Available Databases and Tables")}}</h2> <h2>{{=T("Available Databases and Tables")}}</h2>
{{if not databases:}}{{=T("No databases in this application")}}{{pass}} {{if not databases:}}{{=T("No databases in this application")}}{{pass}}
<ul class="nav nav-tabs" id="myTab"> <ul class="nav nav-tabs" id="myTab">
<li class="active" ><a href="#alltables" data-toggle="tab">Tables</a></li> <li class="nav-item"><a href="#alltables" data-toggle="tab" class="nav-link active">Tables</a></li>
<li><a href="#hooks" data-toggle="tab">Hooks</a></li> <li class="nav-item"><a href="#hooks" data-toggle="tab" class="nav-link">Hooks</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="alltables"> <div class="tab-pane active" id="alltables">
<table class="table"> <table class="table table-striped">
{{for db in sorted(databases):}} {{for db in sorted(databases):}}
{{for table in databases[db].tables:}} {{for table in databases[db].tables:}}
{{qry='%s.%s.id>0'%(db,table)}} {{qry='%s.%s.id>0'%(db,table)}}
@@ -37,10 +40,10 @@
{{pass}} {{pass}}
<tr> <tr>
<th style="font-size: 1.75em;"> <th style="font-size: 1.75em;">
{{=A("%s.%s" % (db,table),_href=URL('select',args=[db],vars=dict(query=qry)))}} &raquo; {{=A("%s.%s" % (db,table),_href=URL('select',args=[db],vars=dict(query=qry)))}}
</th> </th>
<td> <td>
{{=A(str(T('New Record')),_href=URL('insert',args=[db,table]),_class="btn btn-default")}} {{=A(str(T('New Record')),_href=URL('insert',args=[db,table]),_class="btn btn-primary")}}
</td> </td>
</tr> </tr>
{{pass}} {{pass}}
@@ -61,28 +64,31 @@
</pre> </pre>
{{pass}} {{pass}}
{{if table:}} {{if table:}}
{{=A(str(T('New Record')),_href=URL('insert',args=[request.args[0],table]),_class="btn btn-default")}}<br/><br/> {{=A(str(T('New Record')),_href=URL('insert',args=[request.args[0],table]),_class="btn btn-primary", _role="button")}}<br/><br/>
<hr />
<h3>{{=T("Rows in Table")}}</h3><br/> <h3>{{=T("Rows in Table")}}</h3><br/>
{{else:}} {{else:}}
<h3>{{=T("Rows selected")}}</h3><br/> <h3>{{=T("Rows selected")}}</h3><br/>
{{pass}} {{pass}}
{{=form}} {{=form}}
<p>{{=T('The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.')}}<br/> <p class="text-muted">{{=T('The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.')}}<br/>
{{=T('Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.')}}<br/> {{=T('Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.')}}<br/>
{{=T('"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN')}}</p> {{=T('"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN')}}</p>
<br/><br/> <br/><br/>
<h4>{{=T("%s selected", nrows)}}</h4> <h4>{{=T("%s selected", nrows)}}</h4>
{{if start>0:}}{{=A(T('previous %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start-step)),_class="btn btn-default")}}{{pass}} {{if start>0:}}{{=A(T('previous %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start-step)),_class="btn btn-primary")}}{{pass}}
{{if stop<nrows:}}{{=A(T('next %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start+step)),_class="btn btn-default")}}{{pass}} {{if stop<nrows:}}{{=A(T('next %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start+step)),_class="btn btn-primary")}}{{pass}}
{{if rows:}} {{if rows:}}
<div style="overflow:auto; width:80%;"> <div style="overflow:auto; width:80%;">
{{linkto = lambda f, t, r: URL('update', args=[request.args[0], r, f]) if f else "#"}} {{linkto = lambda f, t, r: URL('update', args=[request.args[0], r, f]) if f else "#"}}
{{upload=URL('download',args=request.args[0])}} {{upload=URL('download',args=request.args[0])}}
{{=SQLTABLE(rows,linkto,upload,orderby=True,_class='sortable')}} {{=SQLTABLE(rows,linkto,upload,orderby=True,_class='table table-striped table-bordered sortable')}}
</div> </div>
{{pass}} {{pass}}
<br/><br/><h3>{{=T("Import/Export")}}</h3><br/> <br/><br/>
<a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}" class="btn btn-default">{{=T("export as csv file")}}</a> <hr />
<h3>{{=T("Import/Export")}}</h3><br/>
<a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}" class="btn btn-primary">{{=T("export as csv file")}}</a>
{{=formcsv or ''}} {{=formcsv or ''}}
{{elif request.function=='insert':}} {{elif request.function=='insert':}}
@@ -148,7 +154,7 @@
{{=T.M("(**%.0d MB**)", total['bytes'] / 1048576)}} {{=T.M("(**%.0d MB**)", total['bytes'] / 1048576)}}
{{pass}} {{pass}}
{{else:}} {{else:}}
{{=T.M("**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}} {{=T.M("**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)")}}
{{pass}} {{pass}}
</p> </p>
<p> <p>
@@ -176,7 +182,7 @@
{{=T.M("(**%.0d MB**)", ram['bytes'] / 10485576)}} {{=T.M("(**%.0d MB**)", ram['bytes'] / 10485576)}}
{{pass}} {{pass}}
{{else:}} {{else:}}
{{=T.M("``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}} {{=T.M("``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)")}}
{{pass}} {{pass}}
</p> </p>
<p> <p>
@@ -205,7 +211,7 @@
{{=T.M("(**%.0d MB**)", disk['bytes'] / 1048576)}} {{=T.M("(**%.0d MB**)", disk['bytes'] / 1048576)}}
{{pass}} {{pass}}
{{else:}} {{else:}}
{{=T.M("``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}} {{=T.M("``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)")}}
{{pass}} {{pass}}
</p> </p>
<p> <p>
@@ -233,30 +239,22 @@
<div class="clear"></div> <div class="clear"></div>
{{pass}} {{pass}}
{{if request.function=='graph_model':}} {{if request.function=='d3_graph_model':}}
<h2>{{=T("Graph Model")}}</h2> <h2>{{=T("Graph Model")}}</h2>
{{if not pgv:}} {{if not databases:}}
{{=T('pygraphviz library not found')}}
{{elif not databases:}}
{{=T("No databases in this application")}} {{=T("No databases in this application")}}
{{else:}} {{else:}}
<div class="btn-group"> <div id="vis"></div>
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> <link rel="stylesheet" href="{{=URL('admin','static','css/d3_graph.css')}}"/>
<i class="icon-download"></i> {{=T('Save model as...')}} <script>
<span class="caret"></span> // Define the d3 input data
</a> {{from gluon.serializers import json }}
<ul class="dropdown-menu"> var nodes = {{=XML(json(nodes))}};
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['png'])}}">png</a></li> var links = {{=XML(json(links))}};
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['svg'])}}">svg</a></li> d3_graph();
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['pdf'])}}">pdf</a></li> </script>
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['ps'])}}">ps</a></li>
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['dot'])}}">dot</a></li>
</ul>
</div>
<br />
{{=IMG(_src=URL('appadmin', 'bg_graph_model'))}}
{{pass}} {{pass}}
{{pass}} {{pass}}
{{if request.function == 'manage':}} {{if request.function == 'manage':}}
<h2>{{=heading}}</h2> <h2>{{=heading}}</h2>
@@ -276,3 +274,6 @@
{{pass}} {{pass}}
</div> </div>
{{pass}} {{pass}}
</div>
</div>
+2 -2
View File
@@ -63,12 +63,12 @@
<h3 class="not_paused">{{=T("No Interaction yet")}}</h3> <h3 class="not_paused">{{=T("No Interaction yet")}}</h3>
<div class="help span7 alert alert-block alert-info"> <div class="help span7 alert alert-block alert-info">
<ul class="unstyled"> <ul class="unstyled">
<li>{{=T("You need to set up and reach a")}} {{=A(T("breakpoint"), _href=URL('breakpoints'))}} {{=T('to use the debugger!')}}</li> <li>{{=T.M('You need to set up and reach a [[breakpoint %s]] to use the debugger!') % URL('breakpoints')}}</li>
<li>{{=T('To emulate a breakpoint programatically, write:')}} <li>{{=T('To emulate a breakpoint programatically, write:')}}
{{=CODE("from gluon.debug import dbg\n" {{=CODE("from gluon.debug import dbg\n"
"dbg.set_trace() # stop here!\n", "dbg.set_trace() # stop here!\n",
counter=None)}}</li> counter=None)}}</li>
<li>{{=T('Please')}} {{=A(T("refresh"), _href=URL('interact'))}} {{=T('this page to see if a breakpoint was hit and debug interaction is required.')}}</li> <li>{{=T.M('Please [[refresh %s]] this page to see if a breakpoint was hit and debug interaction is required.') %URL('interact')}}</li>
</ul> </ul>
</div> </div>
{{pass}} {{pass}}
@@ -34,7 +34,7 @@
<link rel="stylesheet" href="{{=URL('static','plugin_jqmobile/jquery.mobile-1.3.1.min.css')}}"> <link rel="stylesheet" href="{{=URL('static','plugin_jqmobile/jquery.mobile-1.3.1.min.css')}}">
<!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects --> <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
<script src="{{=URL('static','js/modernizr.custom.js')}}"></script!> <script src="{{=URL('static','js/modernizr.custom.js')}}"></script>
{{include 'web2py_ajax.html'}} {{include 'web2py_ajax.html'}}
@@ -38,19 +38,19 @@ def file_upload_form(location):
INPUT(_type="text",_name="filename",requires=IS_NOT_EMPTY()), INPUT(_type="text",_name="filename",requires=IS_NOT_EMPTY()),
INPUT(_type="hidden",_name="location",_value=location), INPUT(_type="hidden",_name="location",_value=location),
INPUT(_type="hidden",_name="sender",_value=URL('design/'+app)), INPUT(_type="hidden",_name="sender",_value=URL('design/'+app)),
INPUT(_type="submit",_value=T("submit")),_action=URL('upload_file')) INPUT(_type="submit",_value=T("Submit")),_action=URL('upload_file'))
return form return form
def file_create_form(location): def file_create_form(location):
form=FORM(T("create file with filename:")," ", form=FORM(T("create file with filename:")," ",
INPUT(_type="text",_name="filename",requires=IS_NOT_EMPTY()), INPUT(_type="text",_name="filename",requires=IS_NOT_EMPTY()),
INPUT(_type="hidden",_name="location",_value=location), INPUT(_type="hidden",_name="location",_value=location),
INPUT(_type="hidden",_name="sender",_value=URL('design/'+app)), INPUT(_type="hidden",_name="sender",_value=URL('design/'+app)),
INPUT(_type="submit",_value=T("submit")),_action=URL('create_file')) INPUT(_type="submit",_value=T("Submit")),_action=URL('create_file'))
return form return form
def upload_plugin_form(app): def upload_plugin_form(app):
form=FORM(T("upload plugin file:")," ", form=FORM(T("upload plugin file:")," ",
INPUT(_type="file",_name="pluginfile"), INPUT(_type="file",_name="pluginfile"),
INPUT(_type="submit",_value=T("submit"))) INPUT(_type="submit",_value=T("Submit")))
return form return form
def deletefile(arglist): def deletefile(arglist):
return A_delete(SPAN(T('Delete')), _href=URL('delete',args=arglist,vars=dict(sender=request.function+'/'+app))) return A_delete(SPAN(T('Delete')), _href=URL('delete',args=arglist,vars=dict(sender=request.function+'/'+app)))
+3 -1
View File
@@ -105,7 +105,9 @@ def deletefile(arglist, vars={}):
{{if os.access(os.path.join(request.folder,'..',app,'databases','sql.log'),os.R_OK):}} {{if os.access(os.path.join(request.folder,'..',app,'databases','sql.log'),os.R_OK):}}
{{=button(URL('peek/%s/databases/sql.log'%app), 'sql.log')}} {{=button(URL('peek/%s/databases/sql.log'%app), 'sql.log')}}
{{pass}} {{pass}}
{{=button(URL(a=app, c='appadmin',f='graph_model'), T('graph model'))}} {{if os.access(os.path.join(request.folder,'..','admin','static','js','d3_graph.js'),os.R_OK):}}
{{=button(URL(a=app, c='appadmin',f='d3_graph_model'), T('graph model'))}}
{{pass}}
</div> </div>
<ul class="unstyled act_edit"> <ul class="unstyled act_edit">
{{for m in models:}} {{for m in models:}}
@@ -6,7 +6,7 @@
return files return files
}} }}
{{themes = [f[:-4] for f in listfiles('admin', "static/codemirror/theme", regexp='.*\.css$' )]}} {{themes = [f[:-4] for f in listfiles('admin', "static/codemirror/theme", regexp='.*\.css$' )]}}
{{editors = ['default', 'vim', 'emacs']}} {{editors = ['default', 'vim', 'emacs', 'sublime']}}
<form id="editor_settings_form" class="form-horizontal" action=""> <form id="editor_settings_form" class="form-horizontal" action="">
<div class="control-group"> <div class="control-group">
@@ -27,7 +27,7 @@
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label" for="tabwidth">{{=T('Tab width (# characters)')}}</label> <label class="control-label" for="tabwidth">{{=T('Tab width (# characters)')}}</label>
<div class="controls">{{=SELECT(range(1,9, 1), value=editor_settings['tabwidth'], _name="tabwidth" )}}</div> <div class="controls">{{=SELECT(list(range(1,9, 1)), value=editor_settings['tabwidth'], _name="tabwidth" )}}</div>
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label" for="indentwithtabs">{{=T('Indent with tabs')}}</label> <label class="control-label" for="indentwithtabs">{{=T('Indent with tabs')}}</label>
+5 -5
View File
@@ -24,7 +24,7 @@ def file_upload_form(location):
INPUT(_type="hidden",_name="location",_value=location), INPUT(_type="hidden",_name="location",_value=location),
INPUT(_type="hidden",_name="token",_value=session.token), INPUT(_type="hidden",_name="token",_value=session.token),
INPUT(_type="hidden",_name="sender",_value=URL('design/'+app)), INPUT(_type="hidden",_name="sender",_value=URL('design/'+app)),
INPUT(_type="submit",_value=T("submit")),_action=URL('upload_file')) INPUT(_type="submit",_value=T("Submit")),_action=URL('upload_file'))
return form return form
def file_create_form(location): def file_create_form(location):
form=FORM(T("create file with filename:")," ", form=FORM(T("create file with filename:")," ",
@@ -32,7 +32,7 @@ def file_create_form(location):
INPUT(_type="hidden",_name="location",_value=location), INPUT(_type="hidden",_name="location",_value=location),
INPUT(_type="hidden",_name="token",_value=session.token), INPUT(_type="hidden",_name="token",_value=session.token),
INPUT(_type="hidden",_name="sender",_value=URL('design/'+app)), INPUT(_type="hidden",_name="sender",_value=URL('design/'+app)),
INPUT(_type="submit",_value=T("submit")),_action=URL('create_file')) INPUT(_type="submit",_value=T("Submit")),_action=URL('create_file'))
return form return form
def deletefile(arglist): def deletefile(arglist):
return A(TAG[''](IMG(_src=URL('static', 'images/delete_icon.png')), return A(TAG[''](IMG(_src=URL('static', 'images/delete_icon.png')),
@@ -85,7 +85,7 @@ def deletefile(arglist):
{{=peekfile('models',m)}} {{=peekfile('models',m)}}
</span> </span>
<span class="extras"> <span class="extras">
{{if len(defines[m]):}}{{=T("defines tables")}} {{pass}}{{=XML(', '.join([B(table).xml() for table in defines[m]]))}} {{if len(defines[m]):}}{{=T("defines tables")}} {{pass}}{{=XML(b', '.join([B(table).xml() for table in defines[m]]))}}
</span> </span>
</li> </li>
{{pass}} {{pass}}
@@ -118,7 +118,7 @@ for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functi
{{=peekfile('controllers',c)}} {{=peekfile('controllers',c)}}
</span> </span>
<span class="extras celled"> <span class="extras celled">
{{if functions[c]:}}{{=T("exposes")}} {{pass}}{{=XML(', '.join([A(f,_href=URL(a=app,c=c[:-3],f=f)).xml() for f in functions[c]]))}} {{if functions[c]:}}{{=T("exposes")}} {{pass}}{{=XML(b', '.join([A(f,_href=URL(a=app,c=c[:-3],f=f)).xml() for f in functions[c]]))}}
</span> </span>
</li> </li>
{{pass}} {{pass}}
@@ -145,7 +145,7 @@ for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functi
</span> </span>
<span class="extras celled"> <span class="extras celled">
{{if c in extend:}}{{=T("extends")}} <b>{{=extend[c]}}</b> {{pass}} {{if c in extend:}}{{=T("extends")}} <b>{{=extend[c]}}</b> {{pass}}
{{if include[c]:}}{{=T("includes")}} {{pass}}{{=XML(', '.join([B(f).xml() for f in include[c]]))}} {{if include[c]:}}{{=T("includes")}} {{pass}}{{=XML(b', '.join([B(f).xml() for f in include[c]]))}}
</span> </span>
</li> </li>
{{pass}} {{pass}}
+1 -1
View File
@@ -46,7 +46,7 @@
</td> </td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> <a class="btn dropdown-toggle" data-toggle="dropdown">
{{=T('Manage')}} {{=T('Manage')}}
<span class="caret"></span> <span class="caret"></span>
</a> </a>
+1 -1
View File
@@ -7,7 +7,7 @@ It is used as default when a view is not provided for your controllers
"""}} """}}
<h2>{{=' '.join(x.capitalize() for x in request.function.split('_'))}}</h2> <h2>{{=' '.join(x.capitalize() for x in request.function.split('_'))}}</h2>
{{if len(response._vars)==1:}} {{if len(response._vars)==1:}}
{{=BEAUTIFY(response._vars.values()[0])}} {{=BEAUTIFY(response._vars[next(iter(response._vars))])}}
{{elif len(response._vars)>1:}} {{elif len(response._vars)>1:}}
{{=BEAUTIFY(response._vars)}} {{=BEAUTIFY(response._vars)}}
{{pass}} {{pass}}
@@ -34,7 +34,7 @@
<link rel="stylesheet" href="{{=URL('static','plugin_jqmobile/jquery.mobile-1.3.1.min.css')}}"> <link rel="stylesheet" href="{{=URL('static','plugin_jqmobile/jquery.mobile-1.3.1.min.css')}}">
<!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects --> <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
<script src="{{=URL('static','js/modernizr.custom.js')}}"></script!> <script src="{{=URL('static','js/modernizr.custom.js')}}"></script>
{{include 'web2py_ajax.html'}} {{include 'web2py_ajax.html'}}
+100 -109
View File
@@ -12,11 +12,6 @@ import gluon.contenttype
import gluon.fileutils import gluon.fileutils
from gluon._compat import iteritems from gluon._compat import iteritems
try:
import pygraphviz as pgv
except ImportError:
pgv = None
is_gae = request.env.web2py_runtime_gae or False is_gae = request.env.web2py_runtime_gae or False
# ## critical --- make a copy of the environment # ## critical --- make a copy of the environment
@@ -35,7 +30,7 @@ except:
if request.is_https: if request.is_https:
session.secure() session.secure()
elif (remote_addr not in hosts) and (remote_addr != "127.0.0.1") and \ elif (remote_addr not in hosts) and (remote_addr != '127.0.0.1') and \
(request.function != 'manage'): (request.function != 'manage'):
raise HTTP(200, T('appadmin is disabled because insecure channel')) raise HTTP(200, T('appadmin is disabled because insecure channel'))
@@ -51,7 +46,7 @@ if request.function == 'manage':
auth.table_permission()]) auth.table_permission()])
manager_role = manager_action.get('role', None) if manager_action else None manager_role = manager_action.get('role', None) if manager_action else None
if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)): if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)):
raise HTTP(403, "Not authorized") raise HTTP(403, 'Not authorized')
menu = False menu = False
elif (request.application == 'admin' and not session.authorized) or \ elif (request.application == 'admin' and not session.authorized) or \
(request.application != 'admin' and not gluon.fileutils.check_credentials(request)): (request.application != 'admin' and not gluon.fileutils.check_credentials(request)):
@@ -187,12 +182,12 @@ def select():
db = get_database(request) db = get_database(request)
dbname = request.args[0] dbname = request.args[0]
try: try:
is_imap = db._uri.startswith("imap://") is_imap = db._uri.startswith('imap://')
except (KeyError, AttributeError, TypeError): except (KeyError, AttributeError, TypeError):
is_imap = False is_imap = False
regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)') regex = re.compile(r'(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)')
if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'): if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'):
regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>.+)') regex = re.compile(r'(?P<table>\w+)\.(?P<field>\w+)=(?P<value>.+)')
if request.vars.query: if request.vars.query:
match = regex.match(request.vars.query) match = regex.match(request.vars.query)
if match: if match:
@@ -229,20 +224,20 @@ def select():
session.last_orderby = orderby session.last_orderby = orderby
session.last_query = request.vars.query session.last_query = request.vars.query
form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px', form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px',
_name='query', _value=request.vars.query or '', _name='query', _value=request.vars.query or '', _class='form-control',
requires=IS_NOT_EMPTY( requires=IS_NOT_EMPTY(
error_message=T("Cannot be empty")))), TR(T('Update:'), error_message=T('Cannot be empty')))), TR(T('Update:'),
INPUT(_name='update_check', _type='checkbox', INPUT(_name='update_check', _type='checkbox',
value=False), INPUT(_style='width:400px', value=False), INPUT(_style='width:400px',
_name='update_fields', _value=request.vars.update_fields _name='update_fields', _value=request.vars.update_fields
or '')), TR(T('Delete:'), INPUT(_name='delete_check', or '', _class='form-control')), TR(T('Delete:'), INPUT(_name='delete_check',
_class='delete', _type='checkbox', value=False), ''), _class='delete', _type='checkbox', value=False), ''),
TR('', '', INPUT(_type='submit', _value=T('submit')))), TR('', '', INPUT(_type='submit', _value=T('Submit'), _class='btn btn-primary'))),
_action=URL(r=request, args=request.args)) _action=URL(r=request, args=request.args))
tb = None tb = None
if form.accepts(request.vars, formname=None): if form.accepts(request.vars, formname=None):
regex = re.compile(request.args[0] + '\.(?P<table>\w+)\..+') regex = re.compile(request.args[0] + r'\.(?P<table>\w+)\..+')
match = regex.match(form.vars.query.strip()) match = regex.match(form.vars.query.strip())
if match: if match:
table = match.group('table') table = match.group('table')
@@ -259,8 +254,8 @@ def select():
if is_imap: if is_imap:
fields = [db[table][name] for name in fields = [db[table][name] for name in
("id", "uid", "created", "to", ('id', 'uid', 'created', 'to',
"sender", "subject")] 'sender', 'subject')]
if orderby: if orderby:
rows = db(query, ignore_common_filters=True).select( rows = db(query, ignore_common_filters=True).select(
*fields, limitby=(start, stop), *fields, limitby=(start, stop),
@@ -276,10 +271,10 @@ def select():
# begin handle upload csv # begin handle upload csv
csv_table = table or request.vars.table csv_table = table or request.vars.table
if csv_table: if csv_table:
formcsv = FORM(str(T('or import from csv file')) + " ", formcsv = FORM(str(T('or import from csv file')) + ' ',
INPUT(_type='file', _name='csvfile'), INPUT(_type='file', _name='csvfile'),
INPUT(_type='hidden', _value=csv_table, _name='table'), INPUT(_type='hidden', _value=csv_table, _name='table'),
INPUT(_type='submit', _value=T('import'))) INPUT(_type='submit', _value=T('import'), _class='btn btn-primary'))
else: else:
formcsv = None formcsv = None
if formcsv and formcsv.process().accepted: if formcsv and formcsv.process().accepted:
@@ -361,26 +356,26 @@ def state():
def ccache(): def ccache():
if is_gae: if is_gae:
form = FORM( form = FORM(
P(TAG.BUTTON(T("Clear CACHE?"), _type="submit", _name="yes", _value="yes"))) P(TAG.BUTTON(T('Clear CACHE?'), _type='submit', _name='yes', _value='yes')))
else: else:
cache.ram.initialize() cache.ram.initialize()
cache.disk.initialize() cache.disk.initialize()
form = FORM( form = FORM(
P(TAG.BUTTON( P(TAG.BUTTON(
T("Clear CACHE?"), _type="submit", _name="yes", _value="yes")), T('Clear CACHE?'), _type='submit', _name='yes', _value='yes')),
P(TAG.BUTTON( P(TAG.BUTTON(
T("Clear RAM"), _type="submit", _name="ram", _value="ram")), T('Clear RAM'), _type='submit', _name='ram', _value='ram')),
P(TAG.BUTTON( P(TAG.BUTTON(
T("Clear DISK"), _type="submit", _name="disk", _value="disk")), T('Clear DISK'), _type='submit', _name='disk', _value='disk')),
) )
if form.accepts(request.vars, session): if form.accepts(request.vars, session):
session.flash = "" session.flash = ''
if is_gae: if is_gae:
if request.vars.yes: if request.vars.yes:
cache.ram.clear() cache.ram.clear()
session.flash += T("Cache Cleared") session.flash += T('Cache Cleared')
else: else:
clear_ram = False clear_ram = False
clear_disk = False clear_disk = False
@@ -392,17 +387,16 @@ def ccache():
clear_disk = True clear_disk = True
if clear_ram: if clear_ram:
cache.ram.clear() cache.ram.clear()
session.flash += T("Ram Cleared") session.flash += T('Ram Cleared')
if clear_disk: if clear_disk:
cache.disk.clear() cache.disk.clear()
session.flash += T("Disk Cleared") session.flash += T('Disk Cleared')
redirect(URL(r=request)) redirect(URL(r=request))
try: try:
from guppy import hpy from pympler.asizeof import asizeof
hp = hpy()
except ImportError: except ImportError:
hp = False asizeof = False
import shelve import shelve
import os import os
@@ -442,7 +436,7 @@ def ccache():
gae_stats['ratio'] = ((gae_stats['hits'] * 100) / gae_stats['ratio'] = ((gae_stats['hits'] * 100) /
(gae_stats['hits'] + gae_stats['misses'])) (gae_stats['hits'] + gae_stats['misses']))
except ZeroDivisionError: except ZeroDivisionError:
gae_stats['ratio'] = T("?") gae_stats['ratio'] = T('?')
gae_stats['oldest'] = GetInHMS(time.time() - gae_stats['oldest_item_age']) gae_stats['oldest'] = GetInHMS(time.time() - gae_stats['oldest_item_age'])
total.update(gae_stats) total.update(gae_stats)
else: else:
@@ -456,9 +450,9 @@ def ccache():
ram['ratio'] = 0 ram['ratio'] = 0
for key, value in iteritems(cache.ram.storage): for key, value in iteritems(cache.ram.storage):
if hp: if asizeof:
ram['bytes'] += hp.iso(value[1]).size ram['bytes'] += asizeof(value[1])
ram['objects'] += hp.iso(value[1]).count ram['objects'] += 1
ram['entries'] += 1 ram['entries'] += 1
if value[0] < ram['oldest']: if value[0] < ram['oldest']:
ram['oldest'] = value[0] ram['oldest'] = value[0]
@@ -474,9 +468,9 @@ def ccache():
except (KeyError, ZeroDivisionError): except (KeyError, ZeroDivisionError):
disk['ratio'] = 0 disk['ratio'] = 0
else: else:
if hp: if asizeof:
disk['bytes'] += hp.iso(value[1]).size disk['bytes'] += asizeof(value[1])
disk['objects'] += hp.iso(value[1]).count disk['objects'] += 1
disk['entries'] += 1 disk['entries'] += 1
if value[0] < disk['oldest']: if value[0] < disk['oldest']:
disk['oldest'] = value[0] disk['oldest'] = value[0]
@@ -508,7 +502,7 @@ def ccache():
TR(TD(B(T('Key'))), TD(B(T('Time in Cache (h:m:s)')))), TR(TD(B(T('Key'))), TD(B(T('Time in Cache (h:m:s)')))),
*[TR(TD(k[0]), TD('%02d:%02d:%02d' % k[1])) for k in keys], *[TR(TD(k[0]), TD('%02d:%02d:%02d' % k[1])) for k in keys],
**dict(_class='cache-keys', **dict(_class='cache-keys',
_style="border-collapse: separate; border-spacing: .5em;")) _style='border-collapse: separate; border-spacing: .5em;'))
if not is_gae: if not is_gae:
ram['keys'] = key_table(ram['keys']) ram['keys'] = key_table(ram['keys'])
@@ -516,7 +510,7 @@ def ccache():
total['keys'] = key_table(total['keys']) total['keys'] = key_table(total['keys'])
return dict(form=form, total=total, return dict(form=form, total=total,
ram=ram, disk=disk, object_stats=hp != False) ram=ram, disk=disk, object_stats=asizeof != False)
def table_template(table): def table_template(table):
@@ -542,80 +536,29 @@ def table_template(table):
# This is horribe HTML but the only one graphiz understands # This is horribe HTML but the only one graphiz understands
rows = [] rows = []
cellpadding = 4 cellpadding = 4
color = "#000000" color = '#000000'
bgcolor = "#FFFFFF" bgcolor = '#FFFFFF'
face = "Helvetica" face = 'Helvetica'
face_bold = "Helvetica Bold" face_bold = 'Helvetica Bold'
border = 0 border = 0
rows.append(TR(TD(FONT(table, _face=face_bold, _color=bgcolor), rows.append(TR(TD(FONT(table, _face=face_bold, _color=bgcolor),
_colspan=3, _cellpadding=cellpadding, _colspan=3, _cellpadding=cellpadding,
_align="center", _bgcolor=color))) _align='center', _bgcolor=color)))
for row in db[table]: for row in db[table]:
rows.append(TR(TD(FONT(row.name, _color=color, _face=face_bold), rows.append(TR(TD(FONT(row.name, _color=color, _face=face_bold),
_align="left", _cellpadding=cellpadding, _align='left', _cellpadding=cellpadding,
_border=border), _border=border),
TD(FONT(row.type, _color=color, _face=face), TD(FONT(row.type, _color=color, _face=face),
_align="left", _cellpadding=cellpadding, _align='left', _cellpadding=cellpadding,
_border=border), _border=border),
TD(FONT(types(row), _color=color, _face=face), TD(FONT(types(row), _color=color, _face=face),
_align="center", _cellpadding=cellpadding, _align='center', _cellpadding=cellpadding,
_border=border))) _border=border)))
return "< %s >" % TABLE(*rows, **dict(_bgcolor=bgcolor, _border=1, return '< %s >' % TABLE(*rows, **dict(_bgcolor=bgcolor, _border=1,
_cellborder=0, _cellspacing=0) _cellborder=0, _cellspacing=0)
).xml() ).xml()
def bg_graph_model():
graph = pgv.AGraph(layout='dot', directed=True, strict=False, rankdir='LR')
subgraphs = dict()
for tablename in db.tables:
if hasattr(db[tablename],'_meta_graphmodel'):
meta_graphmodel = db[tablename]._meta_graphmodel
else:
meta_graphmodel = dict(group=request.application, color='#ECECEC')
group = meta_graphmodel['group'].replace(' ', '')
if group not in subgraphs:
subgraphs[group] = dict(meta=meta_graphmodel, tables=[])
subgraphs[group]['tables'].append(tablename)
graph.add_node(tablename, name=tablename, shape='plaintext',
label=table_template(tablename))
for n, key in enumerate(subgraphs.iterkeys()):
graph.subgraph(nbunch=subgraphs[key]['tables'],
name='cluster%d' % n,
style='filled',
color=subgraphs[key]['meta']['color'],
label=subgraphs[key]['meta']['group'])
for tablename in db.tables:
for field in db[tablename]:
f_type = field.type
if isinstance(f_type,str) and (
f_type.startswith('reference') or
f_type.startswith('list:reference')):
referenced_table = f_type.split()[1].split('.')[0]
n1 = graph.get_node(tablename)
n2 = graph.get_node(referenced_table)
graph.add_edge(n1, n2, color="#4C4C4C", label='')
graph.layout()
if not request.args:
response.headers['Content-Type'] = 'image/png'
return graph.draw(format='png', prog='dot')
else:
response.headers['Content-Disposition']='attachment;filename=graph.%s'%request.args(0)
if request.args(0) == 'dot':
return graph.string()
else:
return graph.draw(format=request.args(0), prog='dot')
def graph_model():
return dict(databases=databases, pgv=pgv)
def manage(): def manage():
tables = manager_action['tables'] tables = manager_action['tables']
if isinstance(tables[0], str): if isinstance(tables[0], str):
@@ -645,7 +588,7 @@ def manage():
auth.table_permission().group_id.label = T('Role') auth.table_permission().group_id.label = T('Role')
auth.table_permission().name.label = T('Permission') auth.table_permission().name.label = T('Permission')
if table == auth.table_user(): if table == auth.table_user():
linked_tables=[auth.settings.table_membership_name] linked_tables = [auth.settings.table_membership_name]
elif table == auth.table_group(): elif table == auth.table_group():
orderby = 'role' if not request.args(3) or '.group_id' not in request.args(3) else None orderby = 'role' if not request.args(3) or '.group_id' not in request.args(3) else None
elif table == auth.table_permission(): elif table == auth.table_permission():
@@ -661,13 +604,13 @@ def manage():
def hooks(): def hooks():
import functools import functools
import inspect import inspect
list_op=['_%s_%s' %(h,m) for h in ['before', 'after'] for m in ['insert','update','delete']] list_op = ['_%s_%s' %(h,m) for h in ['before', 'after'] for m in ['insert','update','delete']]
tables=[] tables = []
with_build_it=False with_build_it = False
for db_str in sorted(databases): for db_str in sorted(databases):
db = databases[db_str] db = databases[db_str]
for t in db.tables: for t in db.tables:
method_hooks=[] method_hooks = []
for op in list_op: for op in list_op:
functions = [] functions = []
for f in getattr(db[t], op): for f in getattr(db[t], op):
@@ -687,16 +630,64 @@ def hooks():
except: except:
pass pass
if len(functions): if len(functions):
method_hooks.append({'name':op, 'functions':functions}) method_hooks.append({'name': op, 'functions':functions})
if len(method_hooks): if len(method_hooks):
tables.append({'name':"%s.%s" % (db_str,t), 'slug': IS_SLUG()("%s.%s" % (db_str,t))[0], 'method_hooks':method_hooks}) tables.append({'name': '%s.%s' % (db_str, t), 'slug': IS_SLUG()('%s.%s' % (db_str,t))[0], 'method_hooks':method_hooks})
# Render # Render
ul_main = UL(_class='nav nav-list') ul_main = UL(_class='nav nav-list')
for t in tables: for t in tables:
ul_main.append(A(t['name'], _onclick="collapse('a_%s')" % t['slug'])) ul_main.append(A(t['name'], _onclick="collapse('a_%s')" % t['slug']))
ul_t = UL(_class='nav nav-list', _id="a_%s" % t['slug'], _style='display:none') ul_t = UL(_class='nav nav-list', _id='a_%s' % t['slug'], _style='display:none')
for op in t['method_hooks']: for op in t['method_hooks']:
ul_t.append(LI (op['name'])) ul_t.append(LI(op['name']))
ul_t.append(UL([LI(A(f['funcname'], _class="editor_filelink", _href=f['url']if 'url' in f else None, **{'_data-lineno':f['lineno']-1})) for f in op['functions']])) ul_t.append(UL([LI(A(f['funcname'], _class='editor_filelink', _href=f['url']if 'url' in f else None, **{'_data-lineno':f['lineno']-1})) for f in op['functions']]))
ul_main.append(ul_t) ul_main.append(ul_t)
return ul_main return ul_main
# ##########################################################
# d3 based model visualizations
# ###########################################################
def d3_graph_model():
''' See https://www.facebook.com/web2py/posts/145613995589010 from Bruno Rocha
and also the app_admin bg_graph_model function
Create a list of table dicts, called 'nodes'
'''
nodes = []
links = []
for database in databases:
db = eval_in_global_env(database)
for tablename in db.tables:
fields = []
for field in db[tablename]:
f_type = field.type
if not isinstance(f_type, str):
disp = ' '
elif f_type == 'string':
disp = field.length
elif f_type == 'id':
disp = 'PK'
elif f_type.startswith('reference') or \
f_type.startswith('list:reference'):
disp = 'FK'
else:
disp = ' '
fields.append(dict(name=field.name, type=field.type, disp=disp))
if isinstance(f_type, str) and (
f_type.startswith('reference') or
f_type.startswith('list:reference')):
referenced_table = f_type.split()[1].split('.')[0]
links.append(dict(source=tablename, target = referenced_table))
nodes.append(dict(name=tablename, type='table', fields = fields))
# d3 v4 allows individual modules to be specified. The complete d3 library is included below.
response.files.append(URL('admin','static','js/d3.min.js'))
response.files.append(URL('admin','static','js/d3_graph.js'))
return dict(databases=databases, nodes=nodes, links=links)
@@ -25,6 +25,9 @@ def division(a, b):
"Divide two values " "Divide two values "
return a / b return a / b
@service.soap('DummyCustomElement', returns={'out0': str}, args={'in0': str}, response_element_name='customResponseTag')
def dummy(in0):
return in0
# expose the soap methods # expose the soap methods
@@ -51,3 +54,20 @@ def test_soap_sub():
xml_response=client.xml_response, xml_response=client.xml_response,
result=result) result=result)
def test_custom_response_element_name():
from gluon.contrib.pysimplesoap.client import SoapClient, SoapFault
# build the url to the WSDL (web service description)
# like "http://localhost:8000/webservices/sample/call/soap?WSDL"
url = URL(f="call/soap", vars={"WSDL": ""}, scheme=True)
# create a SOAP client
client = SoapClient(wsdl=url)
# call the SOAP remote method
try:
ret = client.DummyCustomElement(in0="Hello World!")
result = ret['out0']
except SoapFault as sf:
result = sf
response.view = "soap_examples/generic.html"
return dict(xml_request=client.xml_request,
xml_response=client.xml_response,
result=result)
@@ -1,8 +1,6 @@
### Community Documentation ### Community Documentation
- [[Roadmap https://trello.com/b/d3aqBbBl/web2py-roadmap]] - [[Roadmap https://trello.com/b/d3aqBbBl/web2py-roadmap]]
- [[web2pybrasil http://www.web2pybrasil.com.br popup]]
- Apostila em português [[Download http://dl.dropbox.com/u/830444/apostila_web2py_basico.pdf popup]] e [[Online http://web2pybrasil.appspot.com/init/plugin_wiki/page/curso-web2py-000 popup]]
- [[Sitio en español http://www.web2py.com.ar popup]] - [[Sitio en español http://www.web2py.com.ar popup]]
- [[Documentación en español http://www.web2py.com.ar/examples/default/docs popup]] - [[Documentación en español http://www.web2py.com.ar/examples/default/docs popup]]
- [[Chrome extension to display tickets https://github.com/agarden/web2py-devmode-chrome]] - [[Chrome extension to display tickets https://github.com/agarden/web2py-devmode-chrome]]
@@ -10,11 +10,8 @@
- [[Intro video http://www.youtube.com/watch?v=BXzqmHx6edY]] and [[code examples https://github.com/mjhea0/web2py]] - [[Intro video http://www.youtube.com/watch?v=BXzqmHx6edY]] and [[code examples https://github.com/mjhea0/web2py]]
- [[Step by step tutorial https://milesm.pythonanywhere.com/wiki]] - [[Step by step tutorial https://milesm.pythonanywhere.com/wiki]]
- [[web2py Reference Project http://www.web2pyref.com/]] - [[web2py Reference Project http://www.web2pyref.com/]]
- [[An advanced tutorial https://milesm.pythonanywhere.com/wiki]]
- [[Killer Web Development Tutorial http://killer-web-development.com/]] - [[Killer Web Development Tutorial http://killer-web-development.com/]]
- [[Real Python for the Web http://www.realpython.com]] (web development with web2py and more!) - [[Real Python for the Web http://www.realpython.com]] (web development with web2py and more!)
- [[Admin Demo http://www.web2py.com/demo_admin popup]] (web-based IDE)
- [[Welcome App Demo http://www.web2py.com/welcome]] (scaffolding application)
- [[Videos http://www.web2py.com/examples/default/videos/]] - [[Videos http://www.web2py.com/examples/default/videos/]]
- [[FAQ http://www.web2py.com/AlterEgo popup]] - [[FAQ http://www.web2py.com/AlterEgo popup]]
@@ -1,10 +1,10 @@
### Official Documentation ### Official Documentation
- [[**web2py Online Book (english)** http://web2py.com/book popup]] - [[**web2py Online Book (english)** http://web2py.com/book popup]]
- [[web2py Online Book (spanish) http://www.latinuxpress.com/books/drafts/web2py/ popup]] - [[web2py Online Book (translations in several languages) http://www.web2py.com/books/default/index popup]]
- [[Buy E-book/Printed Version http://stores.lulu.com/web2py popup]] - [[Buy E-book/Printed Version http://stores.lulu.com/web2py popup]]
- [[web2py Application Development Cookbook http://www.packtpub.com/web2py-application-development-recipes-to-master-python-web-framework-cookbook/book?utm_source=web2py.com&utm_medium=link&utm_content=pod&utm_campaign=mdb_009617]] - [[web2py Application Development Cookbook http://www.packtpub.com/web2py-application-development-recipes-to-master-python-web-framework-cookbook/book?utm_source=web2py.com&utm_medium=link&utm_content=pod&utm_campaign=mdb_009617]]
- [[Quick Examples http://www.web2py.com/examples/default/examples]] - [[Quick Examples http://www.web2py.com/examples/default/examples]]
- [[API http://web2py.com/book/default/chapter/04#API popup]] - [[API http://web2py.com/book/default/chapter/04#API popup]]
- [[Sphinx (source code documentation) http://web2py.readthedocs.org/en/latest/ popup]] - [[Sphinx (source code documentation) http://web2py.readthedocs.org/en/latest/ popup]]
- [[Videos https://vimeo.com/album/3016728]] (edited by Nico Zanferrari) - [[Videos https://vimeo.com/album/3016728]] (edited by Nico Zanferrari)
@@ -44,9 +44,3 @@ Spanish speakers group
``web2py-usuarios``:groupdates ``web2py-usuarios``:groupdates
## Chinese Group
Chinese speakers group
- [[http://web2py.sinaapp.com/ popup]]
@@ -3,9 +3,9 @@
- **Created by a community of professionals** and University professors in Computer Science and Software Engineering. - **Created by a community of professionals** and University professors in Computer Science and Software Engineering.
- **Always backward compatible.** We have not broken backward compatibility since version 1.0 in 2007, and we pledge not to break it in the future. - **Always backward compatible.** We have not broken backward compatibility since version 1.0 in 2007, and we pledge not to break it in the future.
- **Easy to run.** It requires no installation and no configuration. - **Easy to run.** It requires no installation and no configuration.
- **Runs on** Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython. - **Runs on** Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.7/3.5/3.6/pypy.
- **Runs with** Apache, Lighttpd, Cherokee and almost any other web server via CGI, FastCGI, WSGI, mod_proxy, and/or mod_python. It can embed third party WSGI apps and middleware. - **Runs with** Apache, Nginx, Lighttpd, Cherokee and almost any other web server via CGI, FastCGI, WSGI, mod_proxy, and/or mod_python. It can embed third party WSGI apps and middleware.
- **Talks to** SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine. - **Talks to** SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Sybase, Oracle, IBM DB2, Informix, Ingres, MongoDB, and Google App Engine.
- **Secure** [[It prevents the most common types of vulnerabilities http://web2py.com/examples/default/security]] including Cross Site Scripting, Injection Flaws, and Malicious File Execution. - **Secure** [[It prevents the most common types of vulnerabilities http://web2py.com/examples/default/security]] including Cross Site Scripting, Injection Flaws, and Malicious File Execution.
- **Enforces good Software Engineering practices** (Model-View-Controller design, Server-side form validation, postbacks) that make the code more readable, scalable, and maintainable. - **Enforces good Software Engineering practices** (Model-View-Controller design, Server-side form validation, postbacks) that make the code more readable, scalable, and maintainable.
- **Speaks multiple protocols** HTML/XML, RSS/ATOM, RTF, PDF, JSON, AJAX, XML-RPC, CSV, REST, WIKI, Flash/AMF, and Linked Data (RDF). - **Speaks multiple protocols** HTML/XML, RSS/ATOM, RTF, PDF, JSON, AJAX, XML-RPC, CSV, REST, WIKI, Flash/AMF, and Linked Data (RDF).
File diff suppressed because one or more lines are too long
+83 -27
View File
@@ -12,6 +12,10 @@
$.error('web2py.js has already been loaded!'); $.error('web2py.js has already been loaded!');
} }
var FORMDATA_IS_SUPPORTED = typeof(FormData) !== 'undefined';
var animateIn = 'fadeIn';
// var animateIn = 'slideDown';
String.prototype.reverse = function () { String.prototype.reverse = function () {
return this.split('').reverse().join(''); return this.split('').reverse().join('');
}; };
@@ -38,8 +42,12 @@
if (value > 0) $('#' + id).hide().fadeIn('slow'); if (value > 0) $('#' + id).hide().fadeIn('slow');
else $('#' + id).show().fadeOut('slow'); else $('#' + id).show().fadeOut('slow');
}, },
ajax: function (u, s, t) { ajax: function (u, s, t, options) {
/*simple ajax function*/ /*simple ajax function*/
// set options default value
options = typeof options !== 'undefined' ? options : {};
var query = ''; var query = '';
if (typeof s == 'string') { if (typeof s == 'string') {
var d = $(s).serialize(); var d = $(s).serialize();
@@ -59,18 +67,44 @@
query = pcs.join('&'); query = pcs.join('&');
} }
} }
$.ajax({
// default success action
var success_function = function (msg) {
if (t) {
if (t == ':eval') eval(msg);
else if (typeof t == 'string') $('#' + t).html(msg);
else t(msg);
}
};
// declare success actions as array
var success = [success_function];
// add user success actions
if ($.isArray(options.done)){
success = $.merge(success, options.done);
} else {
success.push(options.done);
}
// default jquery ajax options
var ajax_options = {
type: 'POST', type: 'POST',
url: u, url: u,
data: query, data: query,
success: function (msg) { success: success
if (t) { };
if (t == ':eval') eval(msg);
else if (typeof t == 'string') $('#' + t).html(msg); //remove custom "done" option if exists
else t(msg); delete options.done;
}
} // merge default ajax options with user custom options
}); for (var attrname in options) {
ajax_options[attrname] = options[attrname];
}
// call ajax function
$.ajax(ajax_options);
}, },
ajax_fields: function (target) { ajax_fields: function (target) {
/* /*
@@ -148,7 +182,7 @@
}, },
/* manage errors in forms */ /* manage errors in forms */
manage_errors: function (target) { manage_errors: function (target) {
$('div.error', target).hide().slideDown('slow'); $('div.error', target).hide()[animateIn]('slow');
}, },
after_ajax: function (xhr) { after_ajax: function (xhr) {
/* called whenever an ajax request completes */ /* called whenever an ajax request completes */
@@ -233,13 +267,17 @@
} }
}); });
/* help preventing double form submission for normal form (not LOADed) */ /* help preventing double form submission for normal form (not LOADed) */
$(doc).on('submit', 'form', function () { $(doc).on('submit', 'form', function (e) {
var submit_button = $(this).find(web2py.formInputClickSelector); var submit_buttons = $(this).find(web2py.formInputClickSelector);
web2py.disableElement(submit_button); submit_buttons.each(function() {
web2py.disableElement($(this));
})
/* safeguard in case the form doesn't trigger a refresh, /* safeguard in case the form doesn't trigger a refresh,
see https://github.com/web2py/web2py/issues/1100 */ see https://github.com/web2py/web2py/issues/1100 */
setTimeout(function () { setTimeout(function () {
web2py.enableElement(submit_button); submit_buttons.each(function() {
web2py.enableElement($(this));
});
}, 5000); }, 5000);
}); });
doc.ajaxSuccess(function (e, xhr) { doc.ajaxSuccess(function (e, xhr) {
@@ -290,7 +328,15 @@
form.submit(function (e) { form.submit(function (e) {
web2py.disableElement(form.find(web2py.formInputClickSelector)); web2py.disableElement(form.find(web2py.formInputClickSelector));
web2py.hide_flash(); web2py.hide_flash();
web2py.ajax_page('post', url, form.serialize(), target, form);
var formData;
if (FORMDATA_IS_SUPPORTED) {
formData = new FormData(form[0]); // Allows file uploads.
} else {
formData = form.serialize(); // Fallback for older browsers.
}
web2py.ajax_page('post', url, formData, target, form);
e.preventDefault(); e.preventDefault();
}); });
form.on('click', web2py.formInputClickSelector, function (e) { form.on('click', web2py.formInputClickSelector, function (e) {
@@ -309,11 +355,18 @@
if (web2py.isUndefined(element)) element = $(document); if (web2py.isUndefined(element)) element = $(document);
/* if target is not there, fill it with something that there isn't in the page*/ /* if target is not there, fill it with something that there isn't in the page*/
if (web2py.isUndefined(target) || target === '') target = 'w2p_none'; if (web2py.isUndefined(target) || target === '') target = 'w2p_none';
/* processData and contentType must be set to false when passing a FormData
object to jQuery.ajax. */
var isFormData = Object.prototype.toString.call(data) === '[object FormData]';
var contentType = isFormData ? false : 'application/x-www-form-urlencoded; charset=UTF-8';
if (web2py.fire(element, 'ajax:before', null, target)) { /*test a usecase, should stop here if returns false */ if (web2py.fire(element, 'ajax:before', null, target)) { /*test a usecase, should stop here if returns false */
$.ajax({ $.ajax({
'type': method, 'type': method,
'url': action, 'url': action,
'data': data, 'data': data,
'processData': !isFormData,
'contentType': contentType,
'beforeSend': function (xhr, settings) { 'beforeSend': function (xhr, settings) {
xhr.setRequestHeader('web2py-component-location', document.location); xhr.setRequestHeader('web2py-component-location', document.location);
xhr.setRequestHeader('web2py-component-element', target); xhr.setRequestHeader('web2py-component-element', target);
@@ -564,8 +617,8 @@
flash: function (message, status) { flash: function (message, status) {
var flash = $('.w2p_flash'); var flash = $('.w2p_flash');
web2py.hide_flash(); web2py.hide_flash();
flash.html(message).addClass(status); flash.text(message).addClass(status);
if (flash.html()) flash.append('<span id="closeflash"> &times; </span>').slideDown(); if (flash.html()) flash.append('<span id="closeflash"> &times; </span>')[animateIn]();
}, },
hide_flash: function () { hide_flash: function () {
$('.w2p_flash').fadeOut(0).html(''); $('.w2p_flash').fadeOut(0).html('');
@@ -579,7 +632,7 @@
for (var k = 0; k < triggers[id].length; k++) { for (var k = 0; k < triggers[id].length; k++) {
var dep = $('#' + triggers[id][k], target); var dep = $('#' + triggers[id][k], target);
var tr = $('#' + triggers[id][k] + '__row', target); var tr = $('#' + triggers[id][k] + '__row', target);
if (t.is(dep.attr('data-show-if'))) tr.slideDown(); if (t.is(dep.attr('data-show-if'))) tr[animateIn]();
else tr.hide(); else tr.hide();
} }
}; };
@@ -669,8 +722,9 @@
}); });
}, },
/* Disables form elements: /* Disables form elements:
- Does not disable elements with 'data-w2p_disable' attribute
- Caches element value in 'w2p_enable_with' data store - Caches element value in 'w2p_enable_with' data store
- Replaces element text with value of 'data-disable-with' attribute - Replaces element text with value of 'data-w2p_disable_with' attribute
- Sets disabled property to true - Sets disabled property to true
*/ */
disableFormElements: function (form) { disableFormElements: function (form) {
@@ -682,13 +736,15 @@
if (!web2py.isUndefined(disable)) { if (!web2py.isUndefined(disable)) {
return false; return false;
} }
if (web2py.isUndefined(disable_with)) { if (!element.is(':file')) { // Altering file input values is not allowed.
element.data('w2p_disable_with', element[method]()); if (web2py.isUndefined(disable_with)) {
element.data('w2p_disable_with', element[method]());
}
if (web2py.isUndefined(element.data('w2p_enable_with'))) {
element.data('w2p_enable_with', element[method]());
}
element[method](element.data('w2p_disable_with'));
} }
if (web2py.isUndefined(element.data('w2p_enable_with'))) {
element.data('w2p_enable_with', element[method]());
}
element[method](element.data('w2p_disable_with'));
element.prop('disabled', true); element.prop('disabled', true);
}); });
}, },
@@ -769,4 +825,4 @@ web2py_event_handlers = jQuery.web2py.event_handlers;
web2py_trap_link = jQuery.web2py.trap_link; web2py_trap_link = jQuery.web2py.trap_link;
web2py_calc_entropy = jQuery.web2py.calc_entropy; web2py_calc_entropy = jQuery.web2py.calc_entropy;
*/ */
/* compatibility code - end*/ /* compatibility code - end*/
+37 -36
View File
@@ -9,16 +9,19 @@
}); });
//--></script> //--></script>
<div class="row">
<div class="col-md-12">
{{if request.function=='index':}} {{if request.function=='index':}}
<h2>{{=T("Available Databases and Tables")}}</h2> <h2>{{=T("Available Databases and Tables")}}</h2>
{{if not databases:}}{{=T("No databases in this application")}}{{pass}} {{if not databases:}}{{=T("No databases in this application")}}{{pass}}
<ul class="nav nav-tabs" id="myTab"> <ul class="nav nav-tabs" id="myTab">
<li class="active" ><a href="#alltables" data-toggle="tab">Tables</a></li> <li class="nav-item"><a href="#alltables" data-toggle="tab" class="nav-link active">Tables</a></li>
<li><a href="#hooks" data-toggle="tab">Hooks</a></li> <li class="nav-item"><a href="#hooks" data-toggle="tab" class="nav-link">Hooks</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="alltables"> <div class="tab-pane active" id="alltables">
<table class="table"> <table class="table table-striped">
{{for db in sorted(databases):}} {{for db in sorted(databases):}}
{{for table in databases[db].tables:}} {{for table in databases[db].tables:}}
{{qry='%s.%s.id>0'%(db,table)}} {{qry='%s.%s.id>0'%(db,table)}}
@@ -37,10 +40,10 @@
{{pass}} {{pass}}
<tr> <tr>
<th style="font-size: 1.75em;"> <th style="font-size: 1.75em;">
{{=A("%s.%s" % (db,table),_href=URL('select',args=[db],vars=dict(query=qry)))}} &raquo; {{=A("%s.%s" % (db,table),_href=URL('select',args=[db],vars=dict(query=qry)))}}
</th> </th>
<td> <td>
{{=A(str(T('New Record')),_href=URL('insert',args=[db,table]),_class="btn btn-default")}} {{=A(str(T('New Record')),_href=URL('insert',args=[db,table]),_class="btn btn-primary")}}
</td> </td>
</tr> </tr>
{{pass}} {{pass}}
@@ -61,28 +64,31 @@
</pre> </pre>
{{pass}} {{pass}}
{{if table:}} {{if table:}}
{{=A(str(T('New Record')),_href=URL('insert',args=[request.args[0],table]),_class="btn btn-default")}}<br/><br/> {{=A(str(T('New Record')),_href=URL('insert',args=[request.args[0],table]),_class="btn btn-primary", _role="button")}}<br/><br/>
<hr />
<h3>{{=T("Rows in Table")}}</h3><br/> <h3>{{=T("Rows in Table")}}</h3><br/>
{{else:}} {{else:}}
<h3>{{=T("Rows selected")}}</h3><br/> <h3>{{=T("Rows selected")}}</h3><br/>
{{pass}} {{pass}}
{{=form}} {{=form}}
<p>{{=T('The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.')}}<br/> <p class="text-muted">{{=T('The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.')}}<br/>
{{=T('Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.')}}<br/> {{=T('Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.')}}<br/>
{{=T('"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN')}}</p> {{=T('"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN')}}</p>
<br/><br/> <br/><br/>
<h4>{{=T("%s selected", nrows)}}</h4> <h4>{{=T("%s selected", nrows)}}</h4>
{{if start>0:}}{{=A(T('previous %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start-step)),_class="btn btn-default")}}{{pass}} {{if start>0:}}{{=A(T('previous %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start-step)),_class="btn btn-primary")}}{{pass}}
{{if stop<nrows:}}{{=A(T('next %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start+step)),_class="btn btn-default")}}{{pass}} {{if stop<nrows:}}{{=A(T('next %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start+step)),_class="btn btn-primary")}}{{pass}}
{{if rows:}} {{if rows:}}
<div style="overflow:auto; width:80%;"> <div style="overflow:auto; width:80%;">
{{linkto = lambda f, t, r: URL('update', args=[request.args[0], r, f]) if f else "#"}} {{linkto = lambda f, t, r: URL('update', args=[request.args[0], r, f]) if f else "#"}}
{{upload=URL('download',args=request.args[0])}} {{upload=URL('download',args=request.args[0])}}
{{=SQLTABLE(rows,linkto,upload,orderby=True,_class='sortable')}} {{=SQLTABLE(rows,linkto,upload,orderby=True,_class='table table-striped table-bordered sortable')}}
</div> </div>
{{pass}} {{pass}}
<br/><br/><h3>{{=T("Import/Export")}}</h3><br/> <br/><br/>
<a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}" class="btn btn-default">{{=T("export as csv file")}}</a> <hr />
<h3>{{=T("Import/Export")}}</h3><br/>
<a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}" class="btn btn-primary">{{=T("export as csv file")}}</a>
{{=formcsv or ''}} {{=formcsv or ''}}
{{elif request.function=='insert':}} {{elif request.function=='insert':}}
@@ -148,7 +154,7 @@
{{=T.M("(**%.0d MB**)", total['bytes'] / 1048576)}} {{=T.M("(**%.0d MB**)", total['bytes'] / 1048576)}}
{{pass}} {{pass}}
{{else:}} {{else:}}
{{=T.M("**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}} {{=T.M("**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)")}}
{{pass}} {{pass}}
</p> </p>
<p> <p>
@@ -176,7 +182,7 @@
{{=T.M("(**%.0d MB**)", ram['bytes'] / 10485576)}} {{=T.M("(**%.0d MB**)", ram['bytes'] / 10485576)}}
{{pass}} {{pass}}
{{else:}} {{else:}}
{{=T.M("``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}} {{=T.M("``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)")}}
{{pass}} {{pass}}
</p> </p>
<p> <p>
@@ -205,7 +211,7 @@
{{=T.M("(**%.0d MB**)", disk['bytes'] / 1048576)}} {{=T.M("(**%.0d MB**)", disk['bytes'] / 1048576)}}
{{pass}} {{pass}}
{{else:}} {{else:}}
{{=T.M("``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}} {{=T.M("``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)")}}
{{pass}} {{pass}}
</p> </p>
<p> <p>
@@ -233,30 +239,22 @@
<div class="clear"></div> <div class="clear"></div>
{{pass}} {{pass}}
{{if request.function=='graph_model':}} {{if request.function=='d3_graph_model':}}
<h2>{{=T("Graph Model")}}</h2> <h2>{{=T("Graph Model")}}</h2>
{{if not pgv:}} {{if not databases:}}
{{=T('pygraphviz library not found')}}
{{elif not databases:}}
{{=T("No databases in this application")}} {{=T("No databases in this application")}}
{{else:}} {{else:}}
<div class="btn-group"> <div id="vis"></div>
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> <link rel="stylesheet" href="{{=URL('admin','static','css/d3_graph.css')}}"/>
<i class="icon-download"></i> {{=T('Save model as...')}} <script>
<span class="caret"></span> // Define the d3 input data
</a> {{from gluon.serializers import json }}
<ul class="dropdown-menu"> var nodes = {{=XML(json(nodes))}};
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['png'])}}">png</a></li> var links = {{=XML(json(links))}};
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['svg'])}}">svg</a></li> d3_graph();
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['pdf'])}}">pdf</a></li> </script>
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['ps'])}}">ps</a></li>
<li><a href="{{=URL('appadmin', 'bg_graph_model', args=['dot'])}}">dot</a></li>
</ul>
</div>
<br />
{{=IMG(_src=URL('appadmin', 'bg_graph_model'))}}
{{pass}} {{pass}}
{{pass}} {{pass}}
{{if request.function == 'manage':}} {{if request.function == 'manage':}}
<h2>{{=heading}}</h2> <h2>{{=heading}}</h2>
@@ -276,3 +274,6 @@
{{pass}} {{pass}}
</div> </div>
{{pass}} {{pass}}
</div>
</div>
@@ -3,7 +3,7 @@
<div> <div>
{{=get_content('main')}} {{=get_content('main')}}
<center> <center>
<iframe src="//player.vimeo.com/hubnut/album/3016728?color=ff6600&amp;background=ffffff&amp;slideshow=1&amp;video_title=1&amp;video_byline=1" width="400" height="300" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> <iframe src="https://player.vimeo.com/video/104800778?color=ff6600&amp;background=ffffff&amp;slideshow=1&amp;video_title=1&amp;video_byline=1" width="400" height="300" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
</center> </center>
{{=get_content('official')}} {{=get_content('official')}}
{{=get_content('community')}} {{=get_content('community')}}
@@ -9,7 +9,8 @@
<table class="twothirds"> <table class="twothirds">
<thead> <thead>
<tr> <tr>
<th>For Normal Users</th> <th>For Normal Users (Py3)</th>
<th>For Legacy Users (Py2)</th>
<th>For Testers</th> <th>For Testers</th>
<th>For Developers</th> <th>For Developers</th>
</tr> </tr>
@@ -17,10 +18,13 @@
<tbody> <tbody>
<tr> <tr>
<td> <td>
<a class="btn btn180 rounded green" href="https://mdipierro.pythonanywhere.com/examples/static/web2py_win.zip">For Windows</a> <a class="btn btn180 rounded green" href="https://mdipierro.pythonanywhere.com/examples/static/web2py_win.zip">Windows binaries</a>
</td> </td>
<td> <td>
<a class="btn btn180 rounded yellow" href="https://mdipierro.pythonanywhere.com/examples/static/nightly/web2py_win.zip">For Windows</a> <a class="btn btn180 rounded" href="https://mdipierro.pythonanywhere.com/examples/static/web2py_win_py2.zip">Windows binaries</a>
</td>
<td>
<a class="btn btn180 rounded yellow" href="https://mdipierro.pythonanywhere.com/examples/static/nightly/web2py_win.zip">Windows binaries</a>
</td> </td>
<td> <td>
<a class="btn btn180 rounded red" href="http://github.com/web2py/web2py/">Git Repository</a> <a class="btn btn180 rounded red" href="http://github.com/web2py/web2py/">Git Repository</a>
@@ -28,17 +32,25 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<a class="btn btn180 rounded green" href="https://mdipierro.pythonanywhere.com/examples/static/web2py_osx.zip">For Mac</a> <a class="btn btn180 rounded green" href="https://mdipierro.pythonanywhere.com/examples/static/web2py_osx.zip">Mac binaries</a>
</td> </td>
<td> <td>
<a class="btn btn180 rounded yellow" href="https://mdipierro.pythonanywhere.com/examples/static/nightly/web2py_osx.zip">For Mac</a> <a class="btn btn180 rounded" href="https://mdipierro.pythonanywhere.com/examples/static/web2py_osx_py2.zip">Mac binaries</a>
</td>
<td>
<a class="btn btn180 rounded yellow" href="https://mdipierro.pythonanywhere.com/examples/static/nightly/web2py_osx.zip">Mac binaries</a>
</td>
<td>
<a class="btn btn180 rounded" href="http://mdipierro.github.io/web2py/web2py_manual_5th.pdf">Manual</a>
</td> </td>
<td></td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a class="btn btn180 rounded green" href="https://mdipierro.pythonanywhere.com/examples/static/web2py_src.zip">Source Code</a> <a class="btn btn180 rounded green" href="https://mdipierro.pythonanywhere.com/examples/static/web2py_src.zip">Source Code</a>
</td> </td>
<td>
<a class="btn btn180 rounded" href="https://mdipierro.pythonanywhere.com/examples/static/web2py_src.zip">Source Code</a>
</td>
<td> <td>
<a class="btn btn180 rounded yellow" href="https://mdipierro.pythonanywhere.com/examples/static/nightly/web2py_src.zip">Source Code</a> <a class="btn btn180 rounded yellow" href="https://mdipierro.pythonanywhere.com/examples/static/nightly/web2py_src.zip">Source Code</a>
</td> </td>
@@ -48,7 +60,8 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<a class="btn btn180 rounded green" href="https://dl.dropbox.com/u/18065445/web2py/web2py_manual_5th.pdf">Manual</a> </td>
<td>
</td> </td>
<td> <td>
<a class="btn btn180 rounded" href="https://github.com/web2py/web2py/releases">Change Log</a> <a class="btn btn180 rounded" href="https://github.com/web2py/web2py/releases">Change Log</a>
@@ -62,16 +75,22 @@
</center> </center>
<p style="text-align:left;"> <p style="text-align:left;">
The source code version works on all supported platforms, including Linux, but it requires Python 2.6, or 2.7 (recommended). The source code version works on Windows and most Unix systems, including <b>Linux</b>, <b>BSD</b> and <b>Mac</b> . It requires Python 3.5+ (recommended for new projects)
It runs on Windows and most Unix systems, including <b>Linux</b> and <b>BSD</b>. or Python 2.7+ (stable, for use with legacy apps) already installed on your system.
</p>
<p style="text-align:left;">
There are also binary packages for Windows and MacOs. They include the Python interpreter version 3.7.4 or 2.7.16, so you do not need to have it pre-installed.
</p> </p>
<h3>Instructions</h3> <h3>Instructions</h3>
<p>After download, unzip it and click on web2py.exe (windows) or web2py.app (osx). <p>With the binary packages, after download, just unzip it and then click on web2py.exe (Windows) or web2py (MacOs).</p>
To run from source, type:</p> <p>Note that on recent MacOs versions (10.12+) you could face problems in running the binary App program, due to the last changes to the security settings.
{{=CODE("python2.7 web2py.py", language=None, counter='>', _class='boxCode')}} In this case, press the 'control' key + click on downloaded file and then 'open' it (confirm the warnings). Finally move the program in Applications and run it from there.
</p>
<p> If you prefer to run it from source with your own Python interpreter already installed, type:</p>
{{=CODE("python web2py.py", language=None, counter='>', _class='boxCode')}}
<p>or for more info type:</p> <p>or for more info type:</p>
{{=CODE("python2.7 web2py.py -h", language=None, counter='>', _class='boxCode')}} {{=CODE("python web2py.py -h", language=None, counter='>', _class='boxCode')}}
<h3>Caveats</h3> <h3>Caveats</h3>
@@ -81,7 +100,7 @@
<h3 id="license">License</h3> <h3 id="license">License</h3>
<p>Web2py code is released under <a href="http://www.gnu.org/licenses/lgpl.html">LGPLv3 License</a>. This license does not extend to third party libraries distributed with web2py (which can be MIT, BSD or Apache type licenses) nor does it extend to applications built with web2py (under the terms of the LGPL.</p> <p>Web2py code is released under <a href="http://www.gnu.org/licenses/lgpl.html">LGPLv3 License</a>. This license does not extend to third party libraries distributed with web2py (which can be MIT, BSD or Apache type licenses) nor does it extend to applications built with web2py (under the terms of the LGPL.</p>
<p>Applications built with web2py can be released under any license the author wishes as long they do not contain web2py code. They can link unmodified web2py libraries and they can be distributed with official web2py binaries. In particular web2py applications can be distributed in closed source. The admin interface provides a button to byte-code compile.</p> <p>Applications built with web2py can be released under any license the author wishes as long as they do not contain web2py code. They can link unmodified web2py libraries and they can be distributed with official web2py binaries. In particular web2py applications can be distributed in closed source. The admin interface provides a button to byte-code compile.</p>
<p>It is fine to distribute web2py (source or compiled) with your applications as long as you make it clear in the license where your application ends and web2py starts.</p> <p>It is fine to distribute web2py (source or compiled) with your applications as long as you make it clear in the license where your application ends and web2py starts.</p>
<p>web2py is copyrighted by Massimo Di Pierro. The web2py trademark is owned by Massimo Di Pierro.</p> <p>web2py is copyrighted by Massimo Di Pierro. The web2py trademark is owned by Massimo Di Pierro.</p>
<a class="btn btn-small rounded" href="{{=URL('license')}}">read more</a> <a class="btn btn-small rounded" href="{{=URL('license')}}">read more</a>
@@ -50,10 +50,10 @@ def hello3():
<b>and view: simple_examples/hello3.html</b> <b>and view: simple_examples/hello3.html</b>
{{=CODE(open(os.path.join(request.folder,'views/simple_examples/hello3.html'),'r').read(),language='html',link=URL('global','vars'),_class='boxCode')}} {{=CODE(open(os.path.join(request.folder,'views/simple_examples/hello3.html'),'r').read(),language='html',link=URL('global','vars'),_class='boxCode')}}
<p>If you return a dictionary, the variables defined in the dictionery are visible to the view (template). <p>If you return a dictionary, the variables defined in the dictionary are visible to the view (template).
<br/>Try it here: <a class="btn" href="/{{=request.application}}/simple_examples/hello3.html">hello3</a></p> <br/>Try it here: <a class="btn" href="/{{=request.application}}/simple_examples/hello3.html">hello3</a></p>
<p>Actions can also be be rendered in other formsts like JSON, <a href="/{{=request.application}}/simple_examples/hello3.json">hello3.json</a>, and XML, <a href="/{{=request.application}}/simple_examples/hello3.xml">hello3.xml</a></p> <p>Actions can also be be rendered in other formats like JSON, <a href="/{{=request.application}}/simple_examples/hello3.json">hello3.json</a>, and XML, <a href="/{{=request.application}}/simple_examples/hello3.xml">hello3.xml</a></p>
<h3>Example {{=c}}{{c+=1}}</h3><b>In controller: simple_examples.py</b> <h3>Example {{=c}}{{c+=1}}</h3><b>In controller: simple_examples.py</b>
{{=CODE(""" {{=CODE("""
@@ -69,7 +69,7 @@ def hello4():
def hello5(): def hello5():
return HTML(BODY(H1(T('Hello World'),_style="color: red;"))).xml() # .xml to serialize return HTML(BODY(H1(T('Hello World'),_style="color: red;"))).xml() # .xml to serialize
""".strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}} """.strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}}
<p>You can also generate HTML using helper objects HTML, BODY, H1, etc. Each of these tags is a class and the views know how to render the corresponding objects. The method .xml() serializes them and produce html/xml code for the page. <p>You can also generate HTML using helper objects HTML, BODY, H1, etc. Each of these tags is a class and the views know how to render the corresponding objects. The method .xml() serializes them and produces html/xml code for the page.
Each tag, DIV for example, takes three types of arguments:</p> Each tag, DIV for example, takes three types of arguments:</p>
<ul> <ul>
<li>unnamed arguments, they correspond to nested tags</li> <li>unnamed arguments, they correspond to nested tags</li>
@@ -201,11 +201,11 @@ def ajaxwiki_onclick():
<h3>Example {{=c}}{{c+=1}}</h3><b>In controller: session_examples.py </b> <h3>Example {{=c}}{{c+=1}}</h3><b>In controller: session_examples.py </b>
{{=CODE(""" {{=CODE("""
def counter(): def counter():
session.counter = (sesstion.counter or 0) + 1 session.counter = (session.counter or 0) + 1
return dict(counter=session.counter) return dict(counter=session.counter)
""".strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}}<b>and view: session_examples/counter.html</b> """.strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}}<b>and view: session_examples/counter.html</b>
{{=CODE(open(os.path.join(request.folder,'views/session_examples/counter.html'),'r').read(),language='html',link=URL('global','vars'),_class='boxCode')}} {{=CODE(open(os.path.join(request.folder,'views/session_examples/counter.html'),'r').read(),language='html',link=URL('global','vars'),_class='boxCode')}}
<p>Click to count. The session.counter is persistent for this user and application. Every applicaiton within the system has its own separate session management. <p>Click to count. The session.counter is persistent for this user and application. Every application within the system has its own separate session management.
<br/>Try it here: <a class="btn" href="/{{=request.application}}/session_examples/counter">counter</a></p> <br/>Try it here: <a class="btn" href="/{{=request.application}}/session_examples/counter">counter</a></p>
<h2 id="template_examples">Template Examples</h2> <h2 id="template_examples">Template Examples</h2>
@@ -390,7 +390,7 @@ db.purchase.quantity.requires = IS_INT_IN_RANGE(0, 10)
""".strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}} """.strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}}
<p> <p>
Tables are created if they do not exist (try... except). Tables are created if they do not exist (try... except).
Here "purchased" is an Query object, "db(purchased)" would be a Set objects. A Set object can be selected, updated, deleted. Sets can also be intersected. Allowed field types are string, integer, password, text, blob, upload, date, time, datetime, references(*), and id(*). The id field is there by default and must not be declared. references are for one to many and many to many as in the example above. For strings you should specify a length or you get length=32.<br/><br/> Here "purchased" is an Query object, "db(purchased)" would be a Set objects. A Set object can be selected, updated, deleted. Sets can also be intersected. Allowed field types are string, integer, password, text, blob, upload, date, time, datetime, references(*), and id(*). The id field is there by default and must not be declared. References are for one to many and many to many as in the example above. For strings you should specify a length or you get length=32.<br/><br/>
You can use db.tablename.fieldname.requires= to set restrictions on the field values. These restrictions are automatically converted into widgets when generating forms from the table with SQLFORM(db.tablename). You can use db.tablename.fieldname.requires= to set restrictions on the field values. These restrictions are automatically converted into widgets when generating forms from the table with SQLFORM(db.tablename).
<br/><br/> <br/><br/>
define_tables creates the table and attempts a migration if table has changed or if database name has changed since last time. If you know you already have the table in the database and you do not want to attempt a migration add one last argument to define_table <tt>migrate=False</tt>.</p> define_tables creates the table and attempts a migration if table has changed or if database name has changed since last time. If you know you already have the table in the database and you do not want to attempt a migration add one last argument to define_table <tt>migrate=False</tt>.</p>
@@ -443,7 +443,7 @@ def buy():
Field('product_id',requires=IS_IN_DB(db,db.product.id,'%(name)s')), Field('product_id',requires=IS_IN_DB(db,db.product.id,'%(name)s')),
Field('quantity','integer',requires=IS_INT_IN_RANGE(1,100))).process() Field('quantity','integer',requires=IS_INT_IN_RANGE(1,100))).process()
if form.accepted: if form.accepted:
# get previous purchese for same product # get previous purchase for same product
purchase = db((db.purchase.buyer_id == form.vars.buyer_id)& purchase = db((db.purchase.buyer_id == form.vars.buyer_id)&
(db.purchase.product_id==form.vars.product_id)).select().first() (db.purchase.product_id==form.vars.product_id)).select().first()
@@ -551,7 +551,7 @@ def cache_controller_and_view():
d=dict(time=t,link=A('click to reload',_href=URL(r=request))) d=dict(time=t,link=A('click to reload',_href=URL(r=request)))
return response.render(d) return response.render(d)
""".strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}} """.strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}}
<p><tt>response.render(d)</tt> renders the dictionary inside the controller, so everything is cached now for 5 seconds. This is best and fastest way of caching! <p><tt>response.render(d)</tt> renders the dictionary inside the controller, so everything is cached now for 5 seconds. This is the best and fastest way of caching!
<br/>Try it here: <a class="btn" href="/{{=request.application}}/cache_examples/cache_controller_and_view">cache_controller_and_view</a></p> <br/>Try it here: <a class="btn" href="/{{=request.application}}/cache_examples/cache_controller_and_view">cache_controller_and_view</a></p>
<h3>Example {{=c}}{{c+=1}}</h3><b>In controller: cache_examples.py </b> <h3>Example {{=c}}{{c+=1}}</h3><b>In controller: cache_examples.py </b>
@@ -633,14 +633,14 @@ def streamer():
path=os.path.join(request.folder,'private','largefile.mpeg4') path=os.path.join(request.folder,'private','largefile.mpeg4')
return response.stream(open(path,'rb'),chunk_size=4096) return response.stream(open(path,'rb'),chunk_size=4096)
""".strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}} """.strip(),language='web2py',link=URL('global','vars'),_class='boxCode')}}
<p>By default all static files and files stored in 'upload' fields in the database are streamed when larger than 1MByte.</p> <p>By default all static files and files stored in 'upload' fields in the database are streamed when larger than 1 MByte.</p>
</p>web2py automatically and transparently handles PARTIAL_CONTENT and RANGE requests.</p> </p>web2py automatically and transparently handles PARTIAL_CONTENT and RANGE requests.</p>
<h2 id="xmlrpc_examples">XML-RPC Examples</h2> <h2 id="xmlrpc_examples">XML-RPC Examples</h2>
<h3>Example {{=c}}{{c+=1}}</h3> <h3>Example {{=c}}{{c+=1}}</h3>
<p>Web2py has native support for the XMLRPC protocol. Below is a controller function "handler" that exposes two functions, "add" and "sub" via XMLRPC. The controller "tester" executes the two function remotely via xmlrpc.</p> <p>Web2py has native support for the XMLRPC protocol. Below is a controller function "handler" that exposes two functions, "add" and "sub" via XMLRPC. The controller "tester" executes the two functions remotely via xmlrpc.</p>
{{=CODE(""" {{=CODE("""
from gluon.tools import Service from gluon.tools import Service
service = Service(globals()) service = Service(globals())
@@ -4,7 +4,7 @@
<div class="twothirds"> <div class="twothirds">
<div class="padded"> <div class="padded">
<h3><img src="{{=URL('static/images', 'web2py_logo.png')}}"> Web Framework</h3> <h3><img src="{{=URL('static/images', 'web2py_logo.png')}}"> Web Framework</h3>
<p>Free open source full-stack framework for rapid development of fast, scalable, <a href="http://www.web2py.com/book/default/chapter/01#Security" target="_blank">secure</a> and portable database-driven web-based applications. Written and programmable in <a href="http://www.python.org" target="_blank">Python</a>.</p> <p>Free open source full-stack framework for rapid development of fast, scalable, <a href="http://www.web2py.com/book/default/chapter/01#Security" target="_blank">secure</a> and portable database-driven web-based applications. Written and programmable in <a href="http://www.python.org" target="_blank">Python</a> (version 3 and 2.7).</p>
<table width="100%"> <table width="100%">
<tr> <tr>
<td> <td>
@@ -18,7 +18,7 @@
</a> </a>
</td> </td>
<td> <td>
<a class="noeffect" href="http://link.packtpub.com/SUlnrN"> <a class="noeffect" href="https://www.packtpub.com/web-development/web2py-application-development-cookbook">
<img src="{{=URL('static','images/book-recipes.png')}}" /> <img src="{{=URL('static','images/book-recipes.png')}}" />
</a> </a>
</td> </td>
@@ -15,14 +15,13 @@
<p>For professional support, you can also contact one of the companies below:</p> <p>For professional support, you can also contact one of the companies below:</p>
<ul> <ul>
<li><a target="_blank" href="http://experts4solutions.com">Experts4Soutions</a> (worldwide)</li> <li><a target="_blank" href="http://experts4solutions.com">Experts4Solutions</a> (worldwide)</li>
<li><a target="_blank" href="http://www.planethost.com">PlanetHost</a> (USA)</li> <li><a target="_blank" href="http://www.planethost.com">PlanetHost</a> (USA)</li>
<li><a target="_blank" href="http://www.corebyte.nl">Corebyte</a> (Netherlands)</li> <li><a target="_blank" href="http://www.corebyte.nl">Corebyte</a> (Netherlands)</li>
<li><a target="_blank" href="http://www.dutveul.nl">Dutveul</a> (Netherlands)</li> <li><a target="_blank" href="http://www.dutveul.nl">Dutveul</a> (Netherlands)</li>
<li><a target="_blank" href="http://www.onemewebservices.com">OneMeWebServices</a> (Canada)</li> <li><a target="_blank" href="http://www.onemewebservices.com">OneMeWebServices</a> (Canada)</li>
<li><a target="_blank" href="http://www.budgetbytes.nl">BudgetBytes</a> (The Netherlands)</li> <li><a target="_blank" href="http://www.budgetbytes.nl">BudgetBytes</a> (The Netherlands)</li>
<li><a target="_blank" href="http://www.androsoft.pl">ANDROSoft</a> (Poland)</li> <li><a target="_blank" href="http://www.androsoft.pl">ANDROSoft</a> (Poland)</li>
<li><a target="_blank" href="http://www.sonnetech.com.br">Sonne Tech</a> (Brazil)</li>
<li><a target="_blank" href="http://www.nrg.com.br">NRG Internet Solutions</a> (Brazil)</li> <li><a target="_blank" href="http://www.nrg.com.br">NRG Internet Solutions</a> (Brazil)</li>
<li><a target="_blank" href="http://itjp.net.br/">ITJP</a> (Brazil)</li> <li><a target="_blank" href="http://itjp.net.br/">ITJP</a> (Brazil)</li>
<li><a target="_blank" href="http://i-am.pt">I am Consultoria</a> (Portugal)</li> <li><a target="_blank" href="http://i-am.pt">I am Consultoria</a> (Portugal)</li>
@@ -33,7 +32,6 @@
<li><a target="_blank" href="http://www.appliedobjects.com">Applied Objects</a> (New Zealand)</li> <li><a target="_blank" href="http://www.appliedobjects.com">Applied Objects</a> (New Zealand)</li>
<li><a target="_blank" href="http://www.sistemasagiles.com.ar/">Sistemas Ágiles</a> ("Agile Systems") (Argentina)</li> <li><a target="_blank" href="http://www.sistemasagiles.com.ar/">Sistemas Ágiles</a> ("Agile Systems") (Argentina)</li>
<li><a target="_blank" href="http://www.tasko.it/">Tasko</a> (Italy)</li> <li><a target="_blank" href="http://www.tasko.it/">Tasko</a> (Italy)</li>
<li><a target="_blank" href="http://www.geekondemand.it/"> GeekOnDemand</a> (Italy)</li>
<li><a target="_blank" href="http://stifix.com"> Stifix</a> (Indonesia)</li> <li><a target="_blank" href="http://stifix.com"> Stifix</a> (Indonesia)</li>
<li><a target="_blank" href="http://www.garciac.es"> Garciac</a> (Spain)</li> <li><a target="_blank" href="http://www.garciac.es"> Garciac</a> (Spain)</li>
<li><a target="_blank" href="http://memoriapersistente.pt "> Memoria persistente</a> (Portugal)</li> <li><a target="_blank" href="http://memoriapersistente.pt "> Memoria persistente</a> (Portugal)</li>
+4 -2
View File
@@ -111,6 +111,7 @@
</li><li>Ovidio Marinho Falcao Neto (tests and plugin developer) </li><li>Ovidio Marinho Falcao Neto (tests and plugin developer)
</li><li>Pai (internationalization) </li><li>Pai (internationalization)
</li><li>Paolo Caruccio (SQLFORM.grid query) </li><li>Paolo Caruccio (SQLFORM.grid query)
</li><li>Paolo Pastori
</li><li>Patrick Breitenbach </li><li>Patrick Breitenbach
</li><li><a href="mailto:phyo.arkarlwin@star-nix.net">Phyo Arkar Lwin</a> (web hosting and Jython tester) </li><li><a href="mailto:phyo.arkarlwin@star-nix.net">Phyo Arkar Lwin</a> (web hosting and Jython tester)
</li><li>Pierre Thibault (<a href="http://code.google.com/p/neo-web2py2eclipse/">Eclipse integration</a> and custom import) </li><li>Pierre Thibault (<a href="http://code.google.com/p/neo-web2py2eclipse/">Eclipse integration</a> and custom import)
@@ -149,12 +150,13 @@
<li><a href="http://www.python.org">Python</a> created by Guido van Rossum.</li> <li><a href="http://www.python.org">Python</a> created by Guido van Rossum.</li>
<li>Rocket Web Server developed by Timothy Farrell.</li> <li>Rocket Web Server developed by Timothy Farrell.</li>
<li><a href="http://codemirror.net/">CodeMirror</a></li>s <li><a href="http://codemirror.net/">CodeMirror</a></li>
<li><a href="http://pyrtf.sourceforge.net/">PyRTF</a> developed by Simon Cusack and revised by Grant Edwards</li> <li><a href="http://pyrtf.sourceforge.net/">PyRTF</a> developed by Simon Cusack and revised by Grant Edwards</li>
<li><a href="http://www.dalkescientific.com/Python/PyRSS2Gen.html">PyRSS2Gen</a> developed by Dalke Scientific Software</li> <li><a href="http://www.dalkescientific.com/Python/PyRSS2Gen.html">PyRSS2Gen</a> developed by Dalke Scientific Software</li>
<li><a href="http://www.feedparser.org/">feedparser</a> developed by Mark Pilgrim</li> <li><a href="http://www.feedparser.org/">feedparser</a> developed by Mark Pilgrim</li>
<li><a href="http://code.google.com/p/python-markdown2/">markdown2</a> developed by Trent Mick</li> <li><a href="http://code.google.com/p/python-markdown2/">markdown2</a> developed by Trent Mick</li>
<li><a href="http://svn.saddi.com/py-lib/trunk/fcgi.py">fcgi.py</a> devloped by Allan Saddi (for production Lighttpd servers)</li> <li><a href="http://svn.saddi.com/py-lib/trunk/fcgi.py">fcgi.py</a> developed by Allan Saddi (for production Lighttpd servers)</li>
<li><a href="http://www.danga.com/memcached/">memcache</a> developed by Evan Martin</li> <li><a href="http://www.danga.com/memcached/">memcache</a> developed by Evan Martin</li>
<li><a href="http://jquery.com/">jQuery</a> developed by John Resig</li> <li><a href="http://jquery.com/">jQuery</a> developed by John Resig</li>
<li>A syntax highlighter inspired by the code of <a href="http://www.petersblog.org/node/763">Peter Wilkinson</a></li> <li>A syntax highlighter inspired by the code of <a href="http://www.petersblog.org/node/763">Peter Wilkinson</a></li>
+1 -1
View File
@@ -7,7 +7,7 @@ It is used as default when a view is not provided for your controllers
"""}} """}}
<h2>{{=' '.join(x.capitalize() for x in request.function.split('_'))}}</h2> <h2>{{=' '.join(x.capitalize() for x in request.function.split('_'))}}</h2>
{{if len(response._vars)==1:}} {{if len(response._vars)==1:}}
{{=BEAUTIFY(response._vars.values()[0])}} {{=BEAUTIFY(response._vars[next(iter(response._vars))])}}
{{elif len(response._vars)>1:}} {{elif len(response._vars)>1:}}
{{=BEAUTIFY(response._vars)}} {{=BEAUTIFY(response._vars)}}
{{pass}} {{pass}}
+1 -1
View File
@@ -1 +1 @@
{{response.headers['web2py-response-flash']=response.flash}}{{if len(response._vars)==1:}}{{=response._vars.values()[0]}}{{else:}}{{=BEAUTIFY(response._vars)}}{{pass}} {{response.headers['web2py-response-flash']=response.flash}}{{if len(response._vars)==1:}}{{=response._vars[next(iter(response._vars))]}}{{else:}}{{=BEAUTIFY(response._vars)}}{{pass}}
+100 -109
View File
@@ -12,11 +12,6 @@ import gluon.contenttype
import gluon.fileutils import gluon.fileutils
from gluon._compat import iteritems from gluon._compat import iteritems
try:
import pygraphviz as pgv
except ImportError:
pgv = None
is_gae = request.env.web2py_runtime_gae or False is_gae = request.env.web2py_runtime_gae or False
# ## critical --- make a copy of the environment # ## critical --- make a copy of the environment
@@ -35,7 +30,7 @@ except:
if request.is_https: if request.is_https:
session.secure() session.secure()
elif (remote_addr not in hosts) and (remote_addr != "127.0.0.1") and \ elif (remote_addr not in hosts) and (remote_addr != '127.0.0.1') and \
(request.function != 'manage'): (request.function != 'manage'):
raise HTTP(200, T('appadmin is disabled because insecure channel')) raise HTTP(200, T('appadmin is disabled because insecure channel'))
@@ -51,7 +46,7 @@ if request.function == 'manage':
auth.table_permission()]) auth.table_permission()])
manager_role = manager_action.get('role', None) if manager_action else None manager_role = manager_action.get('role', None) if manager_action else None
if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)): if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)):
raise HTTP(403, "Not authorized") raise HTTP(403, 'Not authorized')
menu = False menu = False
elif (request.application == 'admin' and not session.authorized) or \ elif (request.application == 'admin' and not session.authorized) or \
(request.application != 'admin' and not gluon.fileutils.check_credentials(request)): (request.application != 'admin' and not gluon.fileutils.check_credentials(request)):
@@ -187,12 +182,12 @@ def select():
db = get_database(request) db = get_database(request)
dbname = request.args[0] dbname = request.args[0]
try: try:
is_imap = db._uri.startswith("imap://") is_imap = db._uri.startswith('imap://')
except (KeyError, AttributeError, TypeError): except (KeyError, AttributeError, TypeError):
is_imap = False is_imap = False
regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)') regex = re.compile(r'(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)')
if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'): if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'):
regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>.+)') regex = re.compile(r'(?P<table>\w+)\.(?P<field>\w+)=(?P<value>.+)')
if request.vars.query: if request.vars.query:
match = regex.match(request.vars.query) match = regex.match(request.vars.query)
if match: if match:
@@ -229,20 +224,20 @@ def select():
session.last_orderby = orderby session.last_orderby = orderby
session.last_query = request.vars.query session.last_query = request.vars.query
form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px', form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px',
_name='query', _value=request.vars.query or '', _name='query', _value=request.vars.query or '', _class='form-control',
requires=IS_NOT_EMPTY( requires=IS_NOT_EMPTY(
error_message=T("Cannot be empty")))), TR(T('Update:'), error_message=T('Cannot be empty')))), TR(T('Update:'),
INPUT(_name='update_check', _type='checkbox', INPUT(_name='update_check', _type='checkbox',
value=False), INPUT(_style='width:400px', value=False), INPUT(_style='width:400px',
_name='update_fields', _value=request.vars.update_fields _name='update_fields', _value=request.vars.update_fields
or '')), TR(T('Delete:'), INPUT(_name='delete_check', or '', _class='form-control')), TR(T('Delete:'), INPUT(_name='delete_check',
_class='delete', _type='checkbox', value=False), ''), _class='delete', _type='checkbox', value=False), ''),
TR('', '', INPUT(_type='submit', _value=T('submit')))), TR('', '', INPUT(_type='submit', _value=T('Submit'), _class='btn btn-primary'))),
_action=URL(r=request, args=request.args)) _action=URL(r=request, args=request.args))
tb = None tb = None
if form.accepts(request.vars, formname=None): if form.accepts(request.vars, formname=None):
regex = re.compile(request.args[0] + '\.(?P<table>\w+)\..+') regex = re.compile(request.args[0] + r'\.(?P<table>\w+)\..+')
match = regex.match(form.vars.query.strip()) match = regex.match(form.vars.query.strip())
if match: if match:
table = match.group('table') table = match.group('table')
@@ -259,8 +254,8 @@ def select():
if is_imap: if is_imap:
fields = [db[table][name] for name in fields = [db[table][name] for name in
("id", "uid", "created", "to", ('id', 'uid', 'created', 'to',
"sender", "subject")] 'sender', 'subject')]
if orderby: if orderby:
rows = db(query, ignore_common_filters=True).select( rows = db(query, ignore_common_filters=True).select(
*fields, limitby=(start, stop), *fields, limitby=(start, stop),
@@ -276,10 +271,10 @@ def select():
# begin handle upload csv # begin handle upload csv
csv_table = table or request.vars.table csv_table = table or request.vars.table
if csv_table: if csv_table:
formcsv = FORM(str(T('or import from csv file')) + " ", formcsv = FORM(str(T('or import from csv file')) + ' ',
INPUT(_type='file', _name='csvfile'), INPUT(_type='file', _name='csvfile'),
INPUT(_type='hidden', _value=csv_table, _name='table'), INPUT(_type='hidden', _value=csv_table, _name='table'),
INPUT(_type='submit', _value=T('import'))) INPUT(_type='submit', _value=T('import'), _class='btn btn-primary'))
else: else:
formcsv = None formcsv = None
if formcsv and formcsv.process().accepted: if formcsv and formcsv.process().accepted:
@@ -361,26 +356,26 @@ def state():
def ccache(): def ccache():
if is_gae: if is_gae:
form = FORM( form = FORM(
P(TAG.BUTTON(T("Clear CACHE?"), _type="submit", _name="yes", _value="yes"))) P(TAG.BUTTON(T('Clear CACHE?'), _type='submit', _name='yes', _value='yes')))
else: else:
cache.ram.initialize() cache.ram.initialize()
cache.disk.initialize() cache.disk.initialize()
form = FORM( form = FORM(
P(TAG.BUTTON( P(TAG.BUTTON(
T("Clear CACHE?"), _type="submit", _name="yes", _value="yes")), T('Clear CACHE?'), _type='submit', _name='yes', _value='yes')),
P(TAG.BUTTON( P(TAG.BUTTON(
T("Clear RAM"), _type="submit", _name="ram", _value="ram")), T('Clear RAM'), _type='submit', _name='ram', _value='ram')),
P(TAG.BUTTON( P(TAG.BUTTON(
T("Clear DISK"), _type="submit", _name="disk", _value="disk")), T('Clear DISK'), _type='submit', _name='disk', _value='disk')),
) )
if form.accepts(request.vars, session): if form.accepts(request.vars, session):
session.flash = "" session.flash = ''
if is_gae: if is_gae:
if request.vars.yes: if request.vars.yes:
cache.ram.clear() cache.ram.clear()
session.flash += T("Cache Cleared") session.flash += T('Cache Cleared')
else: else:
clear_ram = False clear_ram = False
clear_disk = False clear_disk = False
@@ -392,17 +387,16 @@ def ccache():
clear_disk = True clear_disk = True
if clear_ram: if clear_ram:
cache.ram.clear() cache.ram.clear()
session.flash += T("Ram Cleared") session.flash += T('Ram Cleared')
if clear_disk: if clear_disk:
cache.disk.clear() cache.disk.clear()
session.flash += T("Disk Cleared") session.flash += T('Disk Cleared')
redirect(URL(r=request)) redirect(URL(r=request))
try: try:
from guppy import hpy from pympler.asizeof import asizeof
hp = hpy()
except ImportError: except ImportError:
hp = False asizeof = False
import shelve import shelve
import os import os
@@ -442,7 +436,7 @@ def ccache():
gae_stats['ratio'] = ((gae_stats['hits'] * 100) / gae_stats['ratio'] = ((gae_stats['hits'] * 100) /
(gae_stats['hits'] + gae_stats['misses'])) (gae_stats['hits'] + gae_stats['misses']))
except ZeroDivisionError: except ZeroDivisionError:
gae_stats['ratio'] = T("?") gae_stats['ratio'] = T('?')
gae_stats['oldest'] = GetInHMS(time.time() - gae_stats['oldest_item_age']) gae_stats['oldest'] = GetInHMS(time.time() - gae_stats['oldest_item_age'])
total.update(gae_stats) total.update(gae_stats)
else: else:
@@ -456,9 +450,9 @@ def ccache():
ram['ratio'] = 0 ram['ratio'] = 0
for key, value in iteritems(cache.ram.storage): for key, value in iteritems(cache.ram.storage):
if hp: if asizeof:
ram['bytes'] += hp.iso(value[1]).size ram['bytes'] += asizeof(value[1])
ram['objects'] += hp.iso(value[1]).count ram['objects'] += 1
ram['entries'] += 1 ram['entries'] += 1
if value[0] < ram['oldest']: if value[0] < ram['oldest']:
ram['oldest'] = value[0] ram['oldest'] = value[0]
@@ -474,9 +468,9 @@ def ccache():
except (KeyError, ZeroDivisionError): except (KeyError, ZeroDivisionError):
disk['ratio'] = 0 disk['ratio'] = 0
else: else:
if hp: if asizeof:
disk['bytes'] += hp.iso(value[1]).size disk['bytes'] += asizeof(value[1])
disk['objects'] += hp.iso(value[1]).count disk['objects'] += 1
disk['entries'] += 1 disk['entries'] += 1
if value[0] < disk['oldest']: if value[0] < disk['oldest']:
disk['oldest'] = value[0] disk['oldest'] = value[0]
@@ -508,7 +502,7 @@ def ccache():
TR(TD(B(T('Key'))), TD(B(T('Time in Cache (h:m:s)')))), TR(TD(B(T('Key'))), TD(B(T('Time in Cache (h:m:s)')))),
*[TR(TD(k[0]), TD('%02d:%02d:%02d' % k[1])) for k in keys], *[TR(TD(k[0]), TD('%02d:%02d:%02d' % k[1])) for k in keys],
**dict(_class='cache-keys', **dict(_class='cache-keys',
_style="border-collapse: separate; border-spacing: .5em;")) _style='border-collapse: separate; border-spacing: .5em;'))
if not is_gae: if not is_gae:
ram['keys'] = key_table(ram['keys']) ram['keys'] = key_table(ram['keys'])
@@ -516,7 +510,7 @@ def ccache():
total['keys'] = key_table(total['keys']) total['keys'] = key_table(total['keys'])
return dict(form=form, total=total, return dict(form=form, total=total,
ram=ram, disk=disk, object_stats=hp != False) ram=ram, disk=disk, object_stats=asizeof != False)
def table_template(table): def table_template(table):
@@ -542,80 +536,29 @@ def table_template(table):
# This is horribe HTML but the only one graphiz understands # This is horribe HTML but the only one graphiz understands
rows = [] rows = []
cellpadding = 4 cellpadding = 4
color = "#000000" color = '#000000'
bgcolor = "#FFFFFF" bgcolor = '#FFFFFF'
face = "Helvetica" face = 'Helvetica'
face_bold = "Helvetica Bold" face_bold = 'Helvetica Bold'
border = 0 border = 0
rows.append(TR(TD(FONT(table, _face=face_bold, _color=bgcolor), rows.append(TR(TD(FONT(table, _face=face_bold, _color=bgcolor),
_colspan=3, _cellpadding=cellpadding, _colspan=3, _cellpadding=cellpadding,
_align="center", _bgcolor=color))) _align='center', _bgcolor=color)))
for row in db[table]: for row in db[table]:
rows.append(TR(TD(FONT(row.name, _color=color, _face=face_bold), rows.append(TR(TD(FONT(row.name, _color=color, _face=face_bold),
_align="left", _cellpadding=cellpadding, _align='left', _cellpadding=cellpadding,
_border=border), _border=border),
TD(FONT(row.type, _color=color, _face=face), TD(FONT(row.type, _color=color, _face=face),
_align="left", _cellpadding=cellpadding, _align='left', _cellpadding=cellpadding,
_border=border), _border=border),
TD(FONT(types(row), _color=color, _face=face), TD(FONT(types(row), _color=color, _face=face),
_align="center", _cellpadding=cellpadding, _align='center', _cellpadding=cellpadding,
_border=border))) _border=border)))
return "< %s >" % TABLE(*rows, **dict(_bgcolor=bgcolor, _border=1, return '< %s >' % TABLE(*rows, **dict(_bgcolor=bgcolor, _border=1,
_cellborder=0, _cellspacing=0) _cellborder=0, _cellspacing=0)
).xml() ).xml()
def bg_graph_model():
graph = pgv.AGraph(layout='dot', directed=True, strict=False, rankdir='LR')
subgraphs = dict()
for tablename in db.tables:
if hasattr(db[tablename],'_meta_graphmodel'):
meta_graphmodel = db[tablename]._meta_graphmodel
else:
meta_graphmodel = dict(group=request.application, color='#ECECEC')
group = meta_graphmodel['group'].replace(' ', '')
if group not in subgraphs:
subgraphs[group] = dict(meta=meta_graphmodel, tables=[])
subgraphs[group]['tables'].append(tablename)
graph.add_node(tablename, name=tablename, shape='plaintext',
label=table_template(tablename))
for n, key in enumerate(subgraphs.iterkeys()):
graph.subgraph(nbunch=subgraphs[key]['tables'],
name='cluster%d' % n,
style='filled',
color=subgraphs[key]['meta']['color'],
label=subgraphs[key]['meta']['group'])
for tablename in db.tables:
for field in db[tablename]:
f_type = field.type
if isinstance(f_type,str) and (
f_type.startswith('reference') or
f_type.startswith('list:reference')):
referenced_table = f_type.split()[1].split('.')[0]
n1 = graph.get_node(tablename)
n2 = graph.get_node(referenced_table)
graph.add_edge(n1, n2, color="#4C4C4C", label='')
graph.layout()
if not request.args:
response.headers['Content-Type'] = 'image/png'
return graph.draw(format='png', prog='dot')
else:
response.headers['Content-Disposition']='attachment;filename=graph.%s'%request.args(0)
if request.args(0) == 'dot':
return graph.string()
else:
return graph.draw(format=request.args(0), prog='dot')
def graph_model():
return dict(databases=databases, pgv=pgv)
def manage(): def manage():
tables = manager_action['tables'] tables = manager_action['tables']
if isinstance(tables[0], str): if isinstance(tables[0], str):
@@ -645,7 +588,7 @@ def manage():
auth.table_permission().group_id.label = T('Role') auth.table_permission().group_id.label = T('Role')
auth.table_permission().name.label = T('Permission') auth.table_permission().name.label = T('Permission')
if table == auth.table_user(): if table == auth.table_user():
linked_tables=[auth.settings.table_membership_name] linked_tables = [auth.settings.table_membership_name]
elif table == auth.table_group(): elif table == auth.table_group():
orderby = 'role' if not request.args(3) or '.group_id' not in request.args(3) else None orderby = 'role' if not request.args(3) or '.group_id' not in request.args(3) else None
elif table == auth.table_permission(): elif table == auth.table_permission():
@@ -661,13 +604,13 @@ def manage():
def hooks(): def hooks():
import functools import functools
import inspect import inspect
list_op=['_%s_%s' %(h,m) for h in ['before', 'after'] for m in ['insert','update','delete']] list_op = ['_%s_%s' %(h,m) for h in ['before', 'after'] for m in ['insert','update','delete']]
tables=[] tables = []
with_build_it=False with_build_it = False
for db_str in sorted(databases): for db_str in sorted(databases):
db = databases[db_str] db = databases[db_str]
for t in db.tables: for t in db.tables:
method_hooks=[] method_hooks = []
for op in list_op: for op in list_op:
functions = [] functions = []
for f in getattr(db[t], op): for f in getattr(db[t], op):
@@ -687,16 +630,64 @@ def hooks():
except: except:
pass pass
if len(functions): if len(functions):
method_hooks.append({'name':op, 'functions':functions}) method_hooks.append({'name': op, 'functions':functions})
if len(method_hooks): if len(method_hooks):
tables.append({'name':"%s.%s" % (db_str,t), 'slug': IS_SLUG()("%s.%s" % (db_str,t))[0], 'method_hooks':method_hooks}) tables.append({'name': '%s.%s' % (db_str, t), 'slug': IS_SLUG()('%s.%s' % (db_str,t))[0], 'method_hooks':method_hooks})
# Render # Render
ul_main = UL(_class='nav nav-list') ul_main = UL(_class='nav nav-list')
for t in tables: for t in tables:
ul_main.append(A(t['name'], _onclick="collapse('a_%s')" % t['slug'])) ul_main.append(A(t['name'], _onclick="collapse('a_%s')" % t['slug']))
ul_t = UL(_class='nav nav-list', _id="a_%s" % t['slug'], _style='display:none') ul_t = UL(_class='nav nav-list', _id='a_%s' % t['slug'], _style='display:none')
for op in t['method_hooks']: for op in t['method_hooks']:
ul_t.append(LI (op['name'])) ul_t.append(LI(op['name']))
ul_t.append(UL([LI(A(f['funcname'], _class="editor_filelink", _href=f['url']if 'url' in f else None, **{'_data-lineno':f['lineno']-1})) for f in op['functions']])) ul_t.append(UL([LI(A(f['funcname'], _class='editor_filelink', _href=f['url']if 'url' in f else None, **{'_data-lineno':f['lineno']-1})) for f in op['functions']]))
ul_main.append(ul_t) ul_main.append(ul_t)
return ul_main return ul_main
# ##########################################################
# d3 based model visualizations
# ###########################################################
def d3_graph_model():
''' See https://www.facebook.com/web2py/posts/145613995589010 from Bruno Rocha
and also the app_admin bg_graph_model function
Create a list of table dicts, called 'nodes'
'''
nodes = []
links = []
for database in databases:
db = eval_in_global_env(database)
for tablename in db.tables:
fields = []
for field in db[tablename]:
f_type = field.type
if not isinstance(f_type, str):
disp = ' '
elif f_type == 'string':
disp = field.length
elif f_type == 'id':
disp = 'PK'
elif f_type.startswith('reference') or \
f_type.startswith('list:reference'):
disp = 'FK'
else:
disp = ' '
fields.append(dict(name=field.name, type=field.type, disp=disp))
if isinstance(f_type, str) and (
f_type.startswith('reference') or
f_type.startswith('list:reference')):
referenced_table = f_type.split()[1].split('.')[0]
links.append(dict(source=tablename, target = referenced_table))
nodes.append(dict(name=tablename, type='table', fields = fields))
# d3 v4 allows individual modules to be specified. The complete d3 library is included below.
response.files.append(URL('admin','static','js/d3.min.js'))
response.files.append(URL('admin','static','js/d3_graph.js'))
return dict(databases=databases, nodes=nodes, links=links)
+23 -26
View File
@@ -1,26 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# this file is released under public domain and you can use without limitations
# ------------------------------------------------------------------------- # -------------------------------------------------------------------------
# This is a sample controller # This is a sample controller
# - index is the default action of any application # this file is released under public domain and you can use without limitations
# - user is required for authentication and authorization
# - download is for downloading files uploaded in the db (does streaming)
# ------------------------------------------------------------------------- # -------------------------------------------------------------------------
# ---- example index page ----
def index(): def index():
"""
example action using the internationalization operator T and flash
rendered by views/default/index.html or views/generic.html
if you need a simple wiki simply replace the two lines below with:
return auth.wiki()
"""
response.flash = T("Hello World") response.flash = T("Hello World")
return dict(message=T('Welcome to web2py!')) return dict(message=T('Welcome to web2py!'))
# ---- API (example) -----
@auth.requires_login()
def api_get_user_email():
if not request.env.request_method == 'GET': raise HTTP(403)
return response.json({'status':'success', 'email':auth.user.email})
# ---- Smart Grid (example) -----
@auth.requires_membership('admin') # can only be accessed by members of admin groupd
def grid():
response.view = 'generic.html' # use a generic view
tablename = request.args(0)
if not tablename in db.tables: raise HTTP(403)
grid = SQLFORM.smartgrid(db[tablename], args=[tablename], deletable=False, editable=False)
return dict(grid=grid)
# ---- Embedded wiki (example) ----
def wiki():
auth.wikimenu() # add the wiki to the menu
return auth.wiki()
# ---- Action for login/register/etc (required for auth) -----
def user(): def user():
""" """
exposes: exposes:
@@ -39,7 +48,7 @@ def user():
""" """
return dict(form=auth()) return dict(form=auth())
# ---- action to server uploaded static content (required) ---
@cache.action() @cache.action()
def download(): def download():
""" """
@@ -47,15 +56,3 @@ def download():
http://..../[app]/default/download/[filename] http://..../[app]/default/download/[filename]
""" """
return response.download(request, db) return response.download(request, db)
def call():
"""
exposes services. for example:
http://..../[app]/default/call/jsonrpc
decorate with @services.jsonrpc the functions to expose
supports xml, json, xmlrpc, jsonrpc, amfrpc, rss, csv
"""
return service()
@@ -1 +0,0 @@
#crontab
+76
View File
@@ -18,16 +18,31 @@
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**Hello World**': '**مرحباً بالعالم**', '@markmin\x01**Hello World**': '**مرحباً بالعالم**',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'A new password was emailed to you': 'A new password was emailed to you',
'About': 'نبذة', 'About': 'نبذة',
'Access Control': 'متحكمات الوصول', 'Access Control': 'متحكمات الوصول',
'admin': 'admin', 'admin': 'admin',
'Administrative Interface': 'واجهة التحكم', 'Administrative Interface': 'واجهة التحكم',
'Ajax Recipes': 'وصفات أجاكس', 'Ajax Recipes': 'وصفات أجاكس',
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', 'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'API Example': 'API Example',
'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel', 'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel',
'Apply changes': 'Apply changes',
'Are you sure you want to delete this object?': 'هل أنت متأكد بحذف هذا الكائن ؟', 'Are you sure you want to delete this object?': 'هل أنت متأكد بحذف هذا الكائن ؟',
'Authentication code': 'Authentication code',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
'Buy this book': 'أشتري هذا الكتاب', 'Buy this book': 'أشتري هذا الكتاب',
"Buy web2py's book": "Buy web2py's book", "Buy web2py's book": "Buy web2py's book",
@@ -37,10 +52,13 @@
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Cache Keys': 'Cache Keys', 'Cache Keys': 'Cache Keys',
'Cannot be empty': 'لا يمكن بأن يكون خالي', 'Cannot be empty': 'لا يمكن بأن يكون خالي',
'Change Password': 'Change Password',
'Change password': 'Change password',
'Check to delete': 'أختر للحذف', 'Check to delete': 'أختر للحذف',
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Clear CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Clear DISK',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Client IP': 'IP المستخدم', 'Client IP': 'IP المستخدم',
'Community': 'المجتمع', 'Community': 'المجتمع',
'Components and Plugins': 'العناصر والإضافات', 'Components and Plugins': 'العناصر والإضافات',
@@ -76,6 +94,9 @@
'E-mail': 'البريد الإلكتروني', 'E-mail': 'البريد الإلكتروني',
'Edit current record': 'Edit current record', 'Edit current record': 'Edit current record',
'Email and SMS': 'البريد الإلكتروني والرسالة النصية', 'Email and SMS': 'البريد الإلكتروني والرسالة النصية',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'enter an integer between %(min)g and %(max)g': 'أدخل عدد صحيح بين %(min)g و %(man)g', 'enter an integer between %(min)g and %(max)g': 'أدخل عدد صحيح بين %(min)g و %(man)g',
'enter date and time as %(format)s': 'أدخل التاريخ والوقت كالنمط %(format)', 'enter date and time as %(format)s': 'أدخل التاريخ والوقت كالنمط %(format)',
'Errors': 'الأخطاء', 'Errors': 'الأخطاء',
@@ -84,8 +105,11 @@
'First name': 'الأسم الأول', 'First name': 'الأسم الأول',
'Forms and Validators': 'الإستمارات والمدققات', 'Forms and Validators': 'الإستمارات والمدققات',
'Free Applications': 'تطبيقات مجانية', 'Free Applications': 'تطبيقات مجانية',
'Function disabled': 'Function disabled',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Grid Example': 'Grid Example',
'Group %(group_id)s created': 'المجموعة %(group_id)s قد أنشئت', 'Group %(group_id)s created': 'المجموعة %(group_id)s قد أنشئت',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'هوية المجموعة', 'Group ID': 'هوية المجموعة',
'Group uniquely assigned to user %(id)s': 'المجموعة مخصصة للمستخدم %(id)s', 'Group uniquely assigned to user %(id)s': 'المجموعة مخصصة للمستخدم %(id)s',
'Groups': 'مجموعات', 'Groups': 'مجموعات',
@@ -98,13 +122,23 @@
'How did you get here?': 'كيف أستطعت الوصول إلى هنا ؟', 'How did you get here?': 'كيف أستطعت الوصول إلى هنا ؟',
'import': 'import', 'import': 'import',
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Insufficient privileges': 'Insufficient privileges',
'Internal State': 'Internal State', 'Internal State': 'Internal State',
'Introduction': 'مقدمة', 'Introduction': 'مقدمة',
'Invalid email': 'بريد إلكتروني غير صالح', 'Invalid email': 'بريد إلكتروني غير صالح',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'Invalid password': 'Invalid password',
'Invalid Query': 'Invalid Query', 'Invalid Query': 'Invalid Query',
'invalid request': 'invalid request', 'invalid request': 'invalid request',
'Invalid reset password': 'Invalid reset password',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Is Active': 'نشط', 'Is Active': 'نشط',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Last name': 'أسم العائلة', 'Last name': 'أسم العائلة',
'Layout': 'النسق', 'Layout': 'النسق',
'Layout Plugins': 'نسّق الإضافات', 'Layout Plugins': 'نسّق الإضافات',
@@ -114,9 +148,11 @@
'Logged in': 'تم تسجيل الدخول', 'Logged in': 'تم تسجيل الدخول',
'Logged out': 'تم تسجيل الخروج', 'Logged out': 'تم تسجيل الخروج',
'Login': 'تسجيل الدخول', 'Login': 'تسجيل الدخول',
'Login disabled by administrator': 'Login disabled by administrator',
'Logout': 'تسجيل الخروج', 'Logout': 'تسجيل الخروج',
'Lost Password': 'فقدت كلمة المرور', 'Lost Password': 'فقدت كلمة المرور',
'Lost password?': 'هل فقدت كلمة المرور ؟', 'Lost password?': 'هل فقدت كلمة المرور ؟',
'Lost your password?': 'Lost your password?',
'Manage %(action)s': 'Manage %(action)s', 'Manage %(action)s': 'Manage %(action)s',
'Manage Access Control': 'Manage Access Control', 'Manage Access Control': 'Manage Access Control',
'Manage Cache': 'Manage Cache', 'Manage Cache': 'Manage Cache',
@@ -126,12 +162,14 @@
'Modified On': 'عُدلت في', 'Modified On': 'عُدلت في',
'My Sites': 'موقعي', 'My Sites': 'موقعي',
'Name': 'الأسم', 'Name': 'الأسم',
'New password': 'New password',
'New Record': 'New Record', 'New Record': 'New Record',
'new record inserted': 'new record inserted', 'new record inserted': 'new record inserted',
'next %s rows': 'next %s rows', 'next %s rows': 'next %s rows',
'No databases in this application': 'No databases in this application', 'No databases in this application': 'No databases in this application',
'Number of entries: **%s**': 'Number of entries: **%s**', 'Number of entries: **%s**': 'Number of entries: **%s**',
'Object or table name': 'أسم الكائن أو الجدول', 'Object or table name': 'أسم الكائن أو الجدول',
'Old password': 'Old password',
'Online book': 'Online book', 'Online book': 'Online book',
'Online examples': 'أمثلة على الأنترنت', 'Online examples': 'أمثلة على الأنترنت',
'or import from csv file': 'or import from csv file', 'or import from csv file': 'or import from csv file',
@@ -140,7 +178,10 @@
'Other Recipes': 'وصفات أخرى', 'Other Recipes': 'وصفات أخرى',
'Overview': 'نظرة عامة', 'Overview': 'نظرة عامة',
'Password': 'كلمة المرور', 'Password': 'كلمة المرور',
'Password changed': 'Password changed',
"Password fields don't match": 'حقول كلمة المرور لا تتطابق', "Password fields don't match": 'حقول كلمة المرور لا تتطابق',
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'please input your password again': 'الرجاء إعادة إدخال كلمة المرور', 'please input your password again': 'الرجاء إعادة إدخال كلمة المرور',
@@ -149,6 +190,7 @@
'Preface': 'المدخل', 'Preface': 'المدخل',
'previous %s rows': 'previous %s rows', 'previous %s rows': 'previous %s rows',
'Profile': 'الملف الشخصي', 'Profile': 'الملف الشخصي',
'Profile updated': 'Profile updated',
'pygraphviz library not found': 'pygraphviz library not found', 'pygraphviz library not found': 'pygraphviz library not found',
'Python': 'بايثون', 'Python': 'بايثون',
'Query:': 'Query:', 'Query:': 'Query:',
@@ -159,14 +201,24 @@
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Recipes': 'وصفات', 'Recipes': 'وصفات',
'Record': 'Record', 'Record': 'Record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'record does not exist', 'record does not exist': 'record does not exist',
'Record ID': 'هوية السجل ', 'Record ID': 'هوية السجل ',
'Record id': 'Record id', 'Record id': 'Record id',
'Record Updated': 'Record Updated',
'Register': 'التسجيل', 'Register': 'التسجيل',
'Registration identifier': 'مُعرف التسجيل', 'Registration identifier': 'مُعرف التسجيل',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'رمز التسجيل', 'Registration key': 'رمز التسجيل',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'تم التسجيل بنجاح', 'Registration successful': 'تم التسجيل بنجاح',
'Remember me (for 30 days)': 'تذكرني ( إلى 30 يوم)', 'Remember me (for 30 days)': 'تذكرني ( إلى 30 يوم)',
'Request reset password': 'Request reset password',
'Reset Password key': 'إعادة ظبط مفتاح كلمة المرور', 'Reset Password key': 'إعادة ظبط مفتاح كلمة المرور',
'Role': 'دور', 'Role': 'دور',
'Roles': 'Roles', 'Roles': 'Roles',
@@ -176,11 +228,13 @@
'Semantic': 'دليل لفظي', 'Semantic': 'دليل لفظي',
'Services': 'خدمات', 'Services': 'خدمات',
'Sign Up': 'Sign Up', 'Sign Up': 'Sign Up',
'Sign up': 'Sign up',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
'state': 'state', 'state': 'state',
'Statistics': 'Statistics', 'Statistics': 'Statistics',
'Stylesheet': 'أسلوب النمط', 'Stylesheet': 'أسلوب النمط',
'submit': 'submit', 'submit': 'submit',
'Submit': 'Submit',
'Support': 'الدعم', 'Support': 'الدعم',
'Table': 'Table', 'Table': 'Table',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.', 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.',
@@ -188,28 +242,50 @@
'The output of the file is a dictionary that was rendered by the view %s': 'نتاج هذا الملف هو قاموس قًدم بواسطة العارض %s', 'The output of the file is a dictionary that was rendered by the view %s': 'نتاج هذا الملف هو قاموس قًدم بواسطة العارض %s',
'The Views': 'المشاهدات', 'The Views': 'المشاهدات',
'This App': 'هذا التطبيق', 'This App': 'هذا التطبيق',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
'This email already has an account': 'This email already has an account',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'البصمة الزمنية', 'Timestamp': 'البصمة الزمنية',
'Traceback': 'Traceback', 'Traceback': 'Traceback',
'Twitter': 'تويتر', 'Twitter': 'تويتر',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'unable to parse csv file': 'unable to parse csv file', 'unable to parse csv file': 'unable to parse csv file',
'Unable to send email': 'Unable to send email',
'Update:': 'Update:', 'Update:': 'Update:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'المستخدم %(id)s قد سجل دخوله', 'User %(id)s Logged-in': 'المستخدم %(id)s قد سجل دخوله',
'User %(id)s Logged-out': 'المستخدم %(id)s قد سجل خروجه', 'User %(id)s Logged-out': 'المستخدم %(id)s قد سجل خروجه',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'المستخدم %(id)s مسجل', 'User %(id)s Registered': 'المستخدم %(id)s مسجل',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'هوية المستخدم', 'User ID': 'هوية المستخدم',
'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'value already in database or empty': 'القيمة موجودة مسبقاً أو فارغة', 'value already in database or empty': 'القيمة موجودة مسبقاً أو فارغة',
'Verify Password': 'تأكيد كلمة المرور', 'Verify Password': 'تأكيد كلمة المرور',
'Videos': 'الفيديوهات', 'Videos': 'الفيديوهات',
'View': 'العرض', 'View': 'العرض',
'Welcome': 'مرحباً', 'Welcome': 'مرحباً',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py!': 'مرحباً بكم في ويب2 باي !', 'Welcome to web2py!': 'مرحباً بكم في ويب2 باي !',
'Which called the function %s located in the file %s': 'الدالة المسماة %s موجودة في ملف %s', 'Which called the function %s located in the file %s': 'الدالة المسماة %s موجودة في ملف %s',
'Wiki Example': 'Wiki Example',
'Working...': 'Working...', 'Working...': 'Working...',
'You are successfully running web2py': 'أستطعت تثبيت web2py بنجاح !', 'You are successfully running web2py': 'أستطعت تثبيت web2py بنجاح !',
'You can modify this application and adapt it to your needs': 'تستطيع تعديل هذا التطبيق لما يناسب إحتياجك', 'You can modify this application and adapt it to your needs': 'تستطيع تعديل هذا التطبيق لما يناسب إحتياجك',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You visited the url %s': ' ملقد زرت الرابط %s', 'You visited the url %s': ' ملقد زرت الرابط %s',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+47
View File
@@ -16,9 +16,19 @@
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'Hi ha hagut un error, si us plau [[recarregui %s]] la pàgina', '@markmin\x01An error occured, please [[reload %s]] the page': 'Hi ha hagut un error, si us plau [[recarregui %s]] la pàgina',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'@markmin\x01Number of entries: **%s**': "Nombre d'entrades: **%s**", '@markmin\x01Number of entries: **%s**': "Nombre d'entrades: **%s**",
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'Hi ha una nova versió de wep2py disponible', 'A new version of web2py is available': 'Hi ha una nova versió de wep2py disponible',
'A new version of web2py is available: %s': 'Hi ha una nova versió de wep2py disponible: %s', 'A new version of web2py is available: %s': 'Hi ha una nova versió de wep2py disponible: %s',
'About': 'Sobre', 'About': 'Sobre',
@@ -44,6 +54,7 @@
'And': 'I', 'And': 'I',
'and rename it (required):': 'i renombri-la (requerit):', 'and rename it (required):': 'i renombri-la (requerit):',
'and rename it:': " i renombri'l:", 'and rename it:': " i renombri'l:",
'API Example': 'API Example',
'appadmin': 'appadmin', 'appadmin': 'appadmin',
'appadmin is disabled because insecure channel': 'admin inhabilitat, el canal no és segur', 'appadmin is disabled because insecure channel': 'admin inhabilitat, el canal no és segur',
'application "%s" uninstalled': 'aplicació "%s" desinstal·lada', 'application "%s" uninstalled': 'aplicació "%s" desinstal·lada',
@@ -60,6 +71,7 @@
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCION: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCION: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.',
'ATTENTION: you cannot edit the running application!': 'ATENCIO: no pot modificar la aplicació que està ejecutant-se!', 'ATTENTION: you cannot edit the running application!': 'ATENCIO: no pot modificar la aplicació que està ejecutant-se!',
'Authentication': 'Autenticació', 'Authentication': 'Autenticació',
'Authentication code': 'Authentication code',
'Authentication failed at client DB!': '¡La autenticació ha fallat en la BDD client!', 'Authentication failed at client DB!': '¡La autenticació ha fallat en la BDD client!',
'Authentication failed at main DB!': '¡La autenticació ha fallat en la BDD principal!', 'Authentication failed at main DB!': '¡La autenticació ha fallat en la BDD principal!',
'Available Databases and Tables': 'Bases de dades i taules disponibles', 'Available Databases and Tables': 'Bases de dades i taules disponibles',
@@ -170,6 +182,8 @@
'Email': 'Email', 'Email': 'Email',
'Email and SMS': 'Correu electrònic i SMS', 'Email and SMS': 'Correu electrònic i SMS',
'Email sent': 'Correu electrònic enviat', 'Email sent': 'Correu electrònic enviat',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'End of impersonation': 'Fi de suplantació', 'End of impersonation': 'Fi de suplantació',
'enter a number between %(min)g and %(max)g': 'introdueixi un número entre %(min)g i %(max)g', 'enter a number between %(min)g and %(max)g': 'introdueixi un número entre %(min)g i %(max)g',
'Enter a valid email address': 'Entri una adreça email vàlida', 'Enter a valid email address': 'Entri una adreça email vàlida',
@@ -205,9 +219,12 @@
'Forgot username?': 'Ha oblidat el nom de usuari?', 'Forgot username?': 'Ha oblidat el nom de usuari?',
'Forms and Validators': 'Formularis i validadors', 'Forms and Validators': 'Formularis i validadors',
'Free Applications': 'Aplicacions Lliures', 'Free Applications': 'Aplicacions Lliures',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Funcions sense doctests equivalen a pruebas [aceptades].', 'Functions with no doctests will result in [passed] tests.': 'Funcions sense doctests equivalen a pruebas [aceptades].',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Grid Example': 'Grid Example',
'Group %(group_id)s created': 'Grupo %(group_id)s creat', 'Group %(group_id)s created': 'Grupo %(group_id)s creat',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID de Grup', 'Group ID': 'ID de Grup',
'Group uniquely assigned to user %(id)s': 'Grup assignat únicament al usuari %(id)s', 'Group uniquely assigned to user %(id)s': 'Grup assignat únicament al usuari %(id)s',
'Groups': 'Grups', 'Groups': 'Grups',
@@ -227,6 +244,7 @@
'Import/Export': 'Importar/Exportar', 'Import/Export': 'Importar/Exportar',
'in': 'a', 'in': 'a',
'includes': 'inclou', 'includes': 'inclou',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Index': 'Índex', 'Index': 'Índex',
'insert new': 'inserti nou', 'insert new': 'inserti nou',
'insert new %s': 'inserti nou %s', 'insert new %s': 'inserti nou %s',
@@ -238,14 +256,20 @@
'Invalid action': 'Acció invàlida', 'Invalid action': 'Acció invàlida',
'Invalid email': 'Correo electrónico invàlid', 'Invalid email': 'Correo electrónico invàlid',
'invalid expression': 'expressió invàlida', 'invalid expression': 'expressió invàlida',
'Invalid key': 'Invalid key',
'Invalid login': 'Inici de sessió invàlida', 'Invalid login': 'Inici de sessió invàlida',
'invalid password': 'contrasenya invàlida', 'invalid password': 'contrasenya invàlida',
'Invalid password': 'Invalid password',
'Invalid Query': 'Consulta invàlida', 'Invalid Query': 'Consulta invàlida',
'invalid request': 'sol·licitud invàlida', 'invalid request': 'sol·licitud invàlida',
'Invalid reset password': 'Reinici de contrasenya invàlid', 'Invalid reset password': 'Reinici de contrasenya invàlid',
'invalid ticket': 'tiquet invàlid', 'invalid ticket': 'tiquet invàlid',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Is Active': 'Està Actiu', 'Is Active': 'Està Actiu',
'Key': 'Clau', 'Key': 'Clau',
'Key verified': 'Key verified',
'language file "%(filename)s" created/updated': 'fitxer de llenguatge "%(filename)s" creat/actualitzat', 'language file "%(filename)s" created/updated': 'fitxer de llenguatge "%(filename)s" creat/actualitzat',
'Language files (static strings) updated': 'Fitxers de llenguatge (cadenes estàtiques) actualitzats', 'Language files (static strings) updated': 'Fitxers de llenguatge (cadenes estàtiques) actualitzats',
'languages': 'llenguatges', 'languages': 'llenguatges',
@@ -272,6 +296,7 @@
'Lost Password': 'Contrasenya perdida', 'Lost Password': 'Contrasenya perdida',
'Lost password?': 'Ha oblidat la contrasenya?', 'Lost password?': 'Ha oblidat la contrasenya?',
'lost password?': '¿ha oblidat la contrasenya?', 'lost password?': '¿ha oblidat la contrasenya?',
'Lost your password?': 'Lost your password?',
'Main Menu': 'Menú principal', 'Main Menu': 'Menú principal',
'Manage %(action)s': 'Manage %(action)s', 'Manage %(action)s': 'Manage %(action)s',
'Manage Access Control': 'Manage Access Control', 'Manage Access Control': 'Manage Access Control',
@@ -322,6 +347,7 @@
'Password changed': 'Contrasenya cambiada', 'Password changed': 'Contrasenya cambiada',
"Password fields don't match": 'Els camps de contrasenya no coincideixen', "Password fields don't match": 'Els camps de contrasenya no coincideixen',
'Password reset': 'Reinici de contrasenya', 'Password reset': 'Reinici de contrasenya',
'Password retrieve': 'Password retrieve',
'Peeking at file': 'Visualitzant fitxer', 'Peeking at file': 'Visualitzant fitxer',
'Permission': 'Permís', 'Permission': 'Permís',
'Permissions': 'Permisos', 'Permissions': 'Permisos',
@@ -348,15 +374,22 @@
'Recipes': 'Receptes', 'Recipes': 'Receptes',
'Record': 'Registre', 'Record': 'Registre',
'Record %(id)s created': 'Registre %(id)s creat', 'Record %(id)s created': 'Registre %(id)s creat',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Registre Creat', 'Record Created': 'Registre Creat',
'Record Deleted': 'Record Deleted',
'record does not exist': 'el registre no existe', 'record does not exist': 'el registre no existe',
'Record ID': 'ID de Registre', 'Record ID': 'ID de Registre',
'Record id': 'Id de registre', 'Record id': 'Id de registre',
'Record Updated': 'Record Updated',
'Ref APB': 'Ref APB', 'Ref APB': 'Ref APB',
'register': "registri's", 'register': "registri's",
'Register': "Registri's", 'Register': "Registri's",
'Registration identifier': 'Identificador de Registre', 'Registration identifier': 'Identificador de Registre',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Clau de registre', 'Registration key': 'Clau de registre',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registre amb èxit', 'Registration successful': 'Registre amb èxit',
'reload': 'recarregar', 'reload': 'recarregar',
'Remember me (for 30 days)': "Recordi'm (durant 30 dies)", 'Remember me (for 30 days)': "Recordi'm (durant 30 dies)",
@@ -382,6 +415,7 @@
'session expired': 'sessió expirada', 'session expired': 'sessió expirada',
'shell': 'terminal', 'shell': 'terminal',
'Sign Up': 'Sign Up', 'Sign Up': 'Sign Up',
'Sign up': 'Sign up',
'site': 'lloc', 'site': 'lloc',
'Size of cache:': 'Mida de la Caché:', 'Size of cache:': 'Mida de la Caché:',
'Slug': 'Slug', 'Slug': 'Slug',
@@ -420,6 +454,7 @@
'There are no views': 'No hi ha vistes', 'There are no views': 'No hi ha vistes',
'these files are served without processing, your images go here': 'aquests fitxers són servits sense processar, les seves imatges van aquí', 'these files are served without processing, your images go here': 'aquests fitxers són servits sense processar, les seves imatges van aquí',
'This App': 'Aquesta Aplicació', 'This App': 'Aquesta Aplicació',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
'This email already has an account': 'Aquest correu electrònic ja té un compte', 'This email already has an account': 'Aquest correu electrònic ja té un compte',
'This is a copy of the scaffolding application': 'Aquesta és una còpia de la aplicació de bastiment', 'This is a copy of the scaffolding application': 'Aquesta és una còpia de la aplicació de bastiment',
'This is the %(filename)s template': 'Aquesta és la plantilla %(filename)s', 'This is the %(filename)s template': 'Aquesta és la plantilla %(filename)s',
@@ -443,12 +478,14 @@
'TSV (Spreadsheets)': 'TSV (Fulls de càlcul)', 'TSV (Spreadsheets)': 'TSV (Fulls de càlcul)',
'TSV (Spreadsheets, hidden cols)': 'TSV (Fulls de càlcul, columnes amagades)', 'TSV (Spreadsheets, hidden cols)': 'TSV (Fulls de càlcul, columnes amagades)',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Unable to check for upgrades': 'No és possible verificar la existencia de actualitzacions', 'Unable to check for upgrades': 'No és possible verificar la existencia de actualitzacions',
'unable to create application "%s"': 'no és possible crear la aplicació "%s"', 'unable to create application "%s"': 'no és possible crear la aplicació "%s"',
'unable to delete file "%(filename)s"': 'no és possible eliminar el fitxer "%(filename)s"', 'unable to delete file "%(filename)s"': 'no és possible eliminar el fitxer "%(filename)s"',
'Unable to download': 'No és possible la descàrrega', 'Unable to download': 'No és possible la descàrrega',
'Unable to download app': 'No és possible descarregar la aplicació', 'Unable to download app': 'No és possible descarregar la aplicació',
'unable to parse csv file': 'no és possible analitzar el fitxer CSV', 'unable to parse csv file': 'no és possible analitzar el fitxer CSV',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'no és possible instalar "%s"', 'unable to uninstall "%s"': 'no és possible instalar "%s"',
'uncheck all': 'desmarcar tots', 'uncheck all': 'desmarcar tots',
'uninstall': 'desinstalar', 'uninstall': 'desinstalar',
@@ -466,9 +503,12 @@
'User %(id)s Logged-out': 'El usuari %(id)s finalitzà la sessió', 'User %(id)s Logged-out': 'El usuari %(id)s finalitzà la sessió',
'User %(id)s Password changed': 'Contrasenya del usuari %(id)s canviada', 'User %(id)s Password changed': 'Contrasenya del usuari %(id)s canviada',
'User %(id)s Password reset': 'Contrasenya del usuari %(id)s reiniciada', 'User %(id)s Password reset': 'Contrasenya del usuari %(id)s reiniciada',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'Actualitzat el perfil del usuari %(id)s', 'User %(id)s Profile updated': 'Actualitzat el perfil del usuari %(id)s',
'User %(id)s Registered': 'Usuari %(id)s Registrat', 'User %(id)s Registered': 'Usuari %(id)s Registrat',
'User %(id)s Username retrieved': 'Se ha recuperat el nom de usuari del usuari %(id)s', 'User %(id)s Username retrieved': 'Se ha recuperat el nom de usuari del usuari %(id)s',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User %(username)s Logged-in': 'El usuari %(username)s inicià la sessió', 'User %(username)s Logged-in': 'El usuari %(username)s inicià la sessió',
"User '%(username)s' Logged-in": "El usuari '%(username)s' inicià la sessió", "User '%(username)s' Logged-in": "El usuari '%(username)s' inicià la sessió",
"User '%(username)s' Logged-out": "El usuari '%(username)s' finalitzà la sessió", "User '%(username)s' Logged-out": "El usuari '%(username)s' finalitzà la sessió",
@@ -476,6 +516,7 @@
'User ID': 'ID de Usuari', 'User ID': 'ID de Usuari',
'User Logged-out': 'El usuari finalitzà la sessió', 'User Logged-out': 'El usuari finalitzà la sessió',
'Username': 'Nom de usuari', 'Username': 'Nom de usuari',
'Username already taken': 'Username already taken',
'Username retrieve': 'Recuperar nom de usuari', 'Username retrieve': 'Recuperar nom de usuari',
'Users': 'Usuaris', 'Users': 'Usuaris',
'Value already in database or empty': 'El valor ya existeix en la base de dades o està buit', 'Value already in database or empty': 'El valor ya existeix en la base de dades o està buit',
@@ -496,10 +537,12 @@
'web2py is up to date': 'web2py està actualitzat', 'web2py is up to date': 'web2py està actualitzat',
'web2py Recent Tweets': 'Tweets Recents de web2py', 'web2py Recent Tweets': 'Tweets Recents de web2py',
'Welcome': 'Benvingut', 'Welcome': 'Benvingut',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': 'Benvingut %s', 'Welcome %s': 'Benvingut %s',
'Welcome to web2py': 'Benvingut a web2py', 'Welcome to web2py': 'Benvingut a web2py',
'Welcome to web2py!': '¡Benvingut a web2py!', 'Welcome to web2py!': '¡Benvingut a web2py!',
'Which called the function %s located in the file %s': 'La qual va cridar la funció %s localitzada en el fitxer %s', 'Which called the function %s located in the file %s': 'La qual va cridar la funció %s localitzada en el fitxer %s',
'Wiki Example': 'Wiki Example',
'Wiki Page': 'Wiki Page', 'Wiki Page': 'Wiki Page',
'Working...': 'Treballant ...', 'Working...': 'Treballant ...',
'XML': 'XML', 'XML': 'XML',
@@ -507,6 +550,10 @@
'YES': '', 'YES': '',
'You are successfully running web2py': 'Vostè està executant web2py amb èxit', 'You are successfully running web2py': 'Vostè està executant web2py amb èxit',
'You can modify this application and adapt it to your needs': 'Vostè pot modificar aquesta aplicació i adaptar-la a les seves necessitats', 'You can modify this application and adapt it to your needs': 'Vostè pot modificar aquesta aplicació i adaptar-la a les seves necessitats',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You visited the url %s': 'Vostè va visitar la url %s', 'You visited the url %s': 'Vostè va visitar la url %s',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'El seu nom de usuari és: %(username)s', 'Your username is: %(username)s': 'El seu nom de usuari és: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+71
View File
@@ -19,9 +19,21 @@
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(soubor **gluon/contrib/plural_rules/%s.py** nenalezen)', '@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(soubor **gluon/contrib/plural_rules/%s.py** nenalezen)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Searching: **%s** %%{file}': 'Hledání: **%s** %%{soubor}', '@markmin\x01Searching: **%s** %%{file}': 'Hledání: **%s** %%{soubor}',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'A new password was emailed to you': 'A new password was emailed to you',
'About': 'O programu', 'About': 'O programu',
'About application': 'O aplikaci', 'About application': 'O aplikaci',
'Access Control': 'Řízení přístupu', 'Access Control': 'Řízení přístupu',
@@ -38,12 +50,14 @@
'An error occured, please %s the page': 'An error occured, please %s the page', 'An error occured, please %s the page': 'An error occured, please %s the page',
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', 'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'and rename it:': 'a přejmenovat na:', 'and rename it:': 'a přejmenovat na:',
'API Example': 'API Example',
'appadmin': 'appadmin', 'appadmin': 'appadmin',
'appadmin is disabled because insecure channel': 'appadmin je zakázaná bez zabezpečeného spojení', 'appadmin is disabled because insecure channel': 'appadmin je zakázaná bez zabezpečeného spojení',
'Application': 'Application', 'Application': 'Application',
'application "%s" uninstalled': 'application "%s" odinstalována', 'application "%s" uninstalled': 'application "%s" odinstalována',
'application compiled': 'aplikace zkompilována', 'application compiled': 'aplikace zkompilována',
'Application name:': 'Název aplikace:', 'Application name:': 'Název aplikace:',
'Apply changes': 'Apply changes',
'are not used': 'nepoužita', 'are not used': 'nepoužita',
'are not used yet': 'ještě nepoužita', 'are not used yet': 'ještě nepoužita',
'Are you sure you want to delete this object?': 'Opravdu chcete odstranit tento objekt?', 'Are you sure you want to delete this object?': 'Opravdu chcete odstranit tento objekt?',
@@ -53,6 +67,7 @@
'at line %s': 'at line %s', 'at line %s': 'at line %s',
'ATTENTION:': 'ATTENTION:', 'ATTENTION:': 'ATTENTION:',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'Authentication code': 'Authentication code',
'Available Databases and Tables': 'Dostupné databáze a tabulky', 'Available Databases and Tables': 'Dostupné databáze a tabulky',
'back': 'zpět', 'back': 'zpět',
'Back to wizard': 'Back to wizard', 'Back to wizard': 'Back to wizard',
@@ -75,6 +90,7 @@
'Change Admin Password': 'Změnit heslo pro správu', 'Change Admin Password': 'Změnit heslo pro správu',
'Change admin password': 'Změnit heslo pro správu aplikací', 'Change admin password': 'Změnit heslo pro správu aplikací',
'Change password': 'Změna hesla', 'Change password': 'Změna hesla',
'Change Password': 'Change Password',
'check all': 'vše označit', 'check all': 'vše označit',
'Check for upgrades': 'Zkusit aktualizovat', 'Check for upgrades': 'Zkusit aktualizovat',
'Check to delete': 'Označit ke smazání', 'Check to delete': 'Označit ke smazání',
@@ -84,6 +100,7 @@
'Clear CACHE?': 'Vymazat CACHE?', 'Clear CACHE?': 'Vymazat CACHE?',
'Clear DISK': 'Vymazat DISK', 'Clear DISK': 'Vymazat DISK',
'Clear RAM': 'Vymazat RAM', 'Clear RAM': 'Vymazat RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Click row to expand traceback': 'Pro rozbalení stopy, klikněte na řádek', 'Click row to expand traceback': 'Pro rozbalení stopy, klikněte na řádek',
'Click row to view a ticket': 'Pro zobrazení chyby (ticketu), klikněte na řádku...', 'Click row to view a ticket': 'Pro zobrazení chyby (ticketu), klikněte na řádku...',
'Client IP': 'IP adresa klienta', 'Client IP': 'IP adresa klienta',
@@ -168,6 +185,9 @@
'Editing Language file': 'Úprava jazykového souboru', 'Editing Language file': 'Úprava jazykového souboru',
'Editing Plural Forms File': 'Editing Plural Forms File', 'Editing Plural Forms File': 'Editing Plural Forms File',
'Email and SMS': 'Email a SMS', 'Email and SMS': 'Email a SMS',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enable': 'Odblokovat', 'Enable': 'Odblokovat',
'enter a number between %(min)g and %(max)g': 'zadejte číslo mezi %(min)g a %(max)g', 'enter a number between %(min)g and %(max)g': 'zadejte číslo mezi %(min)g a %(max)g',
'enter an integer between %(min)g and %(max)g': 'zadejte celé číslo mezi %(min)g a %(max)g', 'enter an integer between %(min)g and %(max)g': 'zadejte celé číslo mezi %(min)g a %(max)g',
@@ -201,6 +221,7 @@
'Forms and Validators': 'Formuláře a validátory', 'Forms and Validators': 'Formuláře a validátory',
'Frames': 'Frames', 'Frames': 'Frames',
'Free Applications': 'Aplikace zdarma', 'Free Applications': 'Aplikace zdarma',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.', 'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'Generate': 'Vytvořit', 'Generate': 'Vytvořit',
'Get from URL:': 'Stáhnout z internetu:', 'Get from URL:': 'Stáhnout z internetu:',
@@ -211,8 +232,11 @@
'Goto': 'Goto', 'Goto': 'Goto',
'graph model': 'graph model', 'graph model': 'graph model',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Grid Example': 'Grid Example',
'Group %(group_id)s created': 'Skupina %(group_id)s vytvořena', 'Group %(group_id)s created': 'Skupina %(group_id)s vytvořena',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID skupiny', 'Group ID': 'ID skupiny',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Groups': 'Skupiny', 'Groups': 'Skupiny',
'Hello World': 'Ahoj světe', 'Hello World': 'Ahoj světe',
'Help': 'Nápověda', 'Help': 'Nápověda',
@@ -228,26 +252,35 @@
'import': 'import', 'import': 'import',
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'includes': 'zahrnuje', 'includes': 'zahrnuje',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Index': 'Index', 'Index': 'Index',
'insert new': 'vložit nový záznam ', 'insert new': 'vložit nový záznam ',
'insert new %s': 'vložit nový záznam %s', 'insert new %s': 'vložit nový záznam %s',
'inspect attributes': 'inspect attributes', 'inspect attributes': 'inspect attributes',
'Install': 'Instalovat', 'Install': 'Instalovat',
'Installed applications': 'Nainstalované aplikace', 'Installed applications': 'Nainstalované aplikace',
'Insufficient privileges': 'Insufficient privileges',
'Interaction at %s line %s': 'Interakce v %s, na řádce %s', 'Interaction at %s line %s': 'Interakce v %s, na řádce %s',
'Interactive console': 'Interaktivní příkazová řádka', 'Interactive console': 'Interaktivní příkazová řádka',
'Internal State': 'Vnitřní stav', 'Internal State': 'Vnitřní stav',
'Introduction': 'Úvod', 'Introduction': 'Úvod',
'Invalid email': 'Neplatný email', 'Invalid email': 'Neplatný email',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'Invalid password': 'Nesprávné heslo', 'Invalid password': 'Nesprávné heslo',
'invalid password.': 'neplatné heslo', 'invalid password.': 'neplatné heslo',
'Invalid Query': 'Neplatný dotaz', 'Invalid Query': 'Neplatný dotaz',
'invalid request': 'Neplatný požadavek', 'invalid request': 'Neplatný požadavek',
'Invalid reset password': 'Invalid reset password',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Is Active': 'Je aktivní', 'Is Active': 'Je aktivní',
'It is %s %%{day} today.': 'Dnes je to %s %%{den}.', 'It is %s %%{day} today.': 'Dnes je to %s %%{den}.',
'Key': 'Klíč', 'Key': 'Klíč',
'Key bindings': 'Vazby klíčů', 'Key bindings': 'Vazby klíčů',
'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin', 'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin',
'Key verified': 'Key verified',
'languages': 'jazyky', 'languages': 'jazyky',
'Languages': 'Jazyky', 'Languages': 'Jazyky',
'Last name': 'Příjmení', 'Last name': 'Příjmení',
@@ -267,12 +300,14 @@
'Logged out': 'Odhlášení proběhlo úspěšně', 'Logged out': 'Odhlášení proběhlo úspěšně',
'Login': 'Přihlásit se', 'Login': 'Přihlásit se',
'login': 'přihlásit se', 'login': 'přihlásit se',
'Login disabled by administrator': 'Login disabled by administrator',
'Login to the Administrative Interface': 'Přihlásit se do Správce aplikací', 'Login to the Administrative Interface': 'Přihlásit se do Správce aplikací',
'logout': 'odhlásit se', 'logout': 'odhlásit se',
'Logout': 'Odhlásit se', 'Logout': 'Odhlásit se',
'Lost Password': 'Zapomněl jste heslo', 'Lost Password': 'Zapomněl jste heslo',
'Lost password?': 'Zapomněl jste heslo?', 'Lost password?': 'Zapomněl jste heslo?',
'lost password?': 'zapomněl jste heslo?', 'lost password?': 'zapomněl jste heslo?',
'Lost your password?': 'Lost your password?',
'Manage': 'Manage', 'Manage': 'Manage',
'Manage %(action)s': 'Manage %(action)s', 'Manage %(action)s': 'Manage %(action)s',
'Manage Access Control': 'Manage Access Control', 'Manage Access Control': 'Manage Access Control',
@@ -321,11 +356,15 @@
'pack plugin': 'pack plugin', 'pack plugin': 'pack plugin',
'password': 'heslo', 'password': 'heslo',
'Password': 'Heslo', 'Password': 'Heslo',
'Password changed': 'Password changed',
"Password fields don't match": 'Hesla se neshodují', "Password fields don't match": 'Hesla se neshodují',
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Peeking at file': 'Peeking at file', 'Peeking at file': 'Peeking at file',
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Please': 'Prosím', 'Please': 'Prosím',
'please input your password again': 'please input your password again',
'Plugin "%s" in application': 'Plugin "%s" in application', 'Plugin "%s" in application': 'Plugin "%s" in application',
'plugins': 'zásuvné moduly', 'plugins': 'zásuvné moduly',
'Plugins': 'Zásuvné moduly', 'Plugins': 'Zásuvné moduly',
@@ -338,6 +377,8 @@
'Private files': 'Soukromé soubory', 'Private files': 'Soukromé soubory',
'private files': 'soukromé soubory', 'private files': 'soukromé soubory',
'profile': 'profil', 'profile': 'profil',
'Profile': 'Profile',
'Profile updated': 'Profile updated',
'Project Progress': 'Vývoj projektu', 'Project Progress': 'Vývoj projektu',
'pygraphviz library not found': 'pygraphviz library not found', 'pygraphviz library not found': 'pygraphviz library not found',
'Python': 'Python', 'Python': 'Python',
@@ -350,14 +391,24 @@
'Readme': 'Nápověda', 'Readme': 'Nápověda',
'Recipes': 'Postupy jak na to', 'Recipes': 'Postupy jak na to',
'Record': 'Záznam', 'Record': 'Záznam',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'záznam neexistuje', 'record does not exist': 'záznam neexistuje',
'Record ID': 'ID záznamu', 'Record ID': 'ID záznamu',
'Record id': 'id záznamu', 'Record id': 'id záznamu',
'Record Updated': 'Record Updated',
'refresh': 'obnovte', 'refresh': 'obnovte',
'register': 'registrovat', 'register': 'registrovat',
'Register': 'Zaregistrovat se', 'Register': 'Zaregistrovat se',
'Registration identifier': 'Registrační identifikátor', 'Registration identifier': 'Registrační identifikátor',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registrační klíč', 'Registration key': 'Registrační klíč',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'reload': 'reload', 'reload': 'reload',
'Reload routes': 'Znovu nahrát cesty', 'Reload routes': 'Znovu nahrát cesty',
'Remember me (for 30 days)': 'Zapamatovat na 30 dní', 'Remember me (for 30 days)': 'Zapamatovat na 30 dní',
@@ -366,6 +417,7 @@
'Replace': 'Zaměnit', 'Replace': 'Zaměnit',
'Replace All': 'Zaměnit vše', 'Replace All': 'Zaměnit vše',
'request': 'request', 'request': 'request',
'Request reset password': 'Request reset password',
'Reset Password key': 'Reset registračního klíče', 'Reset Password key': 'Reset registračního klíče',
'response': 'response', 'response': 'response',
'restart': 'restart', 'restart': 'restart',
@@ -392,6 +444,7 @@
'Set Breakpoint on %s at line %s: %s': 'Bod přerušení nastaven v souboru %s na řádce %s: %s', 'Set Breakpoint on %s at line %s: %s': 'Bod přerušení nastaven v souboru %s na řádce %s: %s',
'shell': 'příkazová řádka', 'shell': 'příkazová řádka',
'Sign Up': 'Sign Up', 'Sign Up': 'Sign Up',
'Sign up': 'Sign up',
'Singular Form': 'Singular Form', 'Singular Form': 'Singular Form',
'Site': 'Správa aplikací', 'Site': 'Správa aplikací',
'Size of cache:': 'Velikost cache:', 'Size of cache:': 'Velikost cache:',
@@ -436,6 +489,8 @@
'These files are not served, they are only available from within your app': 'Tyto soubory jsou klientům nepřístupné. K dispozici jsou pouze v rámci aplikace.', 'These files are not served, they are only available from within your app': 'Tyto soubory jsou klientům nepřístupné. K dispozici jsou pouze v rámci aplikace.',
'These files are served without processing, your images go here': 'Tyto soubory jsou servírovány bez přídavné logiky, sem patří např. obrázky.', 'These files are served without processing, your images go here': 'Tyto soubory jsou servírovány bez přídavné logiky, sem patří např. obrázky.',
'This App': 'Tato aplikace', 'This App': 'Tato aplikace',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
'This email already has an account': 'This email already has an account',
'This is a copy of the scaffolding application': 'Toto je kopie aplikace skelet.', 'This is a copy of the scaffolding application': 'Toto je kopie aplikace skelet.',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk', 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'This is the %(filename)s template', 'This is the %(filename)s template': 'This is the %(filename)s template',
@@ -457,10 +512,12 @@
'Try the mobile interface': 'Zkuste rozhraní pro mobilní zařízení', 'Try the mobile interface': 'Zkuste rozhraní pro mobilní zařízení',
'try view': 'try view', 'try view': 'try view',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Type python statement in here and hit Return (Enter) to execute it.': 'Type python statement in here and hit Return (Enter) to execute it.', 'Type python statement in here and hit Return (Enter) to execute it.': 'Type python statement in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.', 'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Unable to check for upgrades', 'Unable to check for upgrades': 'Unable to check for upgrades',
'unable to parse csv file': 'csv soubor nedá sa zpracovat', 'unable to parse csv file': 'csv soubor nedá sa zpracovat',
'Unable to send email': 'Unable to send email',
'uncheck all': 'vše odznačit', 'uncheck all': 'vše odznačit',
'Uninstall': 'Odinstalovat', 'Uninstall': 'Odinstalovat',
'update': 'aktualizovat', 'update': 'aktualizovat',
@@ -477,14 +534,21 @@
'upload plugin file:': 'nahrát soubor modulu:', 'upload plugin file:': 'nahrát soubor modulu:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použijte (...)&(...) pro AND, (...)|(...) pro OR a ~(...) pro NOT pro sestavení složitějších dotazů.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použijte (...)&(...) pro AND, (...)|(...) pro OR a ~(...) pro NOT pro sestavení složitějších dotazů.',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'Uživatel %(id)s přihlášen', 'User %(id)s Logged-in': 'Uživatel %(id)s přihlášen',
'User %(id)s Logged-out': 'Uživatel %(id)s odhlášen', 'User %(id)s Logged-out': 'Uživatel %(id)s odhlášen',
'User %(id)s Password changed': 'Uživatel %(id)s změnil heslo', 'User %(id)s Password changed': 'Uživatel %(id)s změnil heslo',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'Uživatel %(id)s upravil profil', 'User %(id)s Profile updated': 'Uživatel %(id)s upravil profil',
'User %(id)s Registered': 'Uživatel %(id)s se zaregistroval', 'User %(id)s Registered': 'Uživatel %(id)s se zaregistroval',
'User %(id)s Username retrieved': 'Uživatel %(id)s si nachal zaslat přihlašovací jméno', 'User %(id)s Username retrieved': 'Uživatel %(id)s si nachal zaslat přihlašovací jméno',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID uživatele', 'User ID': 'ID uživatele',
'Username': 'Přihlašovací jméno', 'Username': 'Přihlašovací jméno',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'variables': 'variables', 'variables': 'variables',
'Verify Password': 'Zopakujte heslo', 'Verify Password': 'Zopakujte heslo',
@@ -502,15 +566,22 @@
'web2py upgrade': 'web2py upgrade', 'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it', 'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome': 'Vítejte', 'Welcome': 'Vítejte',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py': 'Vitejte ve web2py', 'Welcome to web2py': 'Vitejte ve web2py',
'Welcome to web2py!': 'Vítejte ve web2py!', 'Welcome to web2py!': 'Vítejte ve web2py!',
'Which called the function %s located in the file %s': 'která zavolala funkci %s v souboru (kontroléru) %s.', 'Which called the function %s located in the file %s': 'která zavolala funkci %s v souboru (kontroléru) %s.',
'Wiki Example': 'Wiki Example',
'Working...': 'Working...', 'Working...': 'Working...',
'You are successfully running web2py': 'Úspěšně jste spustili web2py.', 'You are successfully running web2py': 'Úspěšně jste spustili web2py.',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'Nastavovat a mazat body přerušení je též možno v rámci editování zdrojového souboru přes tlačítko Vyp./Zap. bod přerušení', 'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'Nastavovat a mazat body přerušení je též možno v rámci editování zdrojového souboru přes tlačítko Vyp./Zap. bod přerušení',
'You can inspect variables using the console bellow': 'Níže pomocí příkazové řádky si můžete prohlédnout proměnné', 'You can inspect variables using the console bellow': 'Níže pomocí příkazové řádky si můžete prohlédnout proměnné',
'You can modify this application and adapt it to your needs': 'Tuto aplikaci si můžete upravit a přizpůsobit ji svým potřebám.', 'You can modify this application and adapt it to your needs': 'Tuto aplikaci si můžete upravit a přizpůsobit ji svým potřebám.',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You need to set up and reach a': 'Je třeba nejprve nastavit a dojít až na', 'You need to set up and reach a': 'Je třeba nejprve nastavit a dojít až na',
'You visited the url %s': 'Navštívili jste stránku %s,', 'You visited the url %s': 'Navštívili jste stránku %s,',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Aplikace bude blokována než se klikne na jedno z tlačítek (další, krok, pokračovat, atd.)', 'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Aplikace bude blokována než se klikne na jedno z tlačítek (další, krok, pokračovat, atd.)',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+34 -95
View File
@@ -3,216 +3,155 @@
'!langcode!': 'de', '!langcode!': 'de',
'!langname!': 'Deutsch (DE)', '!langname!': 'Deutsch (DE)',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Update" ist ein optionaler Ausdruck wie "feld1=\'newvalue\'". JOIN Ergebnisse können nicht aktualisiert oder gelöscht werden', '"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Update" ist ein optionaler Ausdruck wie "feld1=\'newvalue\'". JOIN Ergebnisse können nicht aktualisiert oder gelöscht werden',
'%s %%(shop)': '%s %%(shop)',
'%s %%(shop[0])': '%s %%(shop[0])',
'%s %%{quark[0]}': '%s %%{quark[0]}',
'%s %%{row} deleted': '%s %%{row} gelöscht',
'%s %%{row} updated': '%s %%{row} aktualisiert',
'%s %%{shop[0]}': '%s %%{shop[0]}',
'%s %%{shop}': '%s %%{shop}',
'%s selected': '%s ausgewählt',
'%Y-%m-%d': '%Y-%m-%d', '%Y-%m-%d': '%Y-%m-%d',
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
'%s %%{row} deleted': '%s %%{row} gelöscht',
'%s %%{row} updated': '%s %%{row} aktualisiert',
'%s selected': '%s ausgewählt',
'(**%.0d MB**)': '(**%.0d MB**)', '(**%.0d MB**)': '(**%.0d MB**)',
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{Item(Items)}, **%(bytes)s** %%{Byte(Bytes)}',
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** Items, **%(bytes)s** %%{Byte(Bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**nicht verfügbar** (benötigt die Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] Bibliothek)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**nicht verfügbar** (benötigt die Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] Bibliothek)',
'?': '?', '?': '?',
'@markmin\x01**Hello World**': '**Hallo Welt**',
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ein Fehler ist aufgetreten, bitte [[laden %s]] Sie die Seite neu',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**nicht verfügbar**``:rot (benötigt die Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] Bibliothek)',
'About': 'Über', 'About': 'Über',
'Access Control': 'Zugangskontrolle', 'Access Control': 'Zugangskontrolle',
'admin': 'admin',
'Administrative Interface': 'Administrationsoberfläche',
'Ajax Recipes': 'Ajax Rezepte', 'Ajax Recipes': 'Ajax Rezepte',
'An error occured, please [[reload %s]] the page': 'Ein Fehler ist aufgetreten, bitte [[laden %s]] Sie die Seite neu', 'An error occured, please [[reload %s]] the page': 'Ein Fehler ist aufgetreten, bitte [[laden %s]] Sie die Seite neu',
'appadmin is disabled because insecure channel': 'Appadmin ist deaktiviert, wegen der Benutzung eines unsicheren Kanals',
'Are you sure you want to delete this object?': 'Sind Sie sich sicher, dass Sie dieses Objekt löschen wollen?', 'Are you sure you want to delete this object?': 'Sind Sie sich sicher, dass Sie dieses Objekt löschen wollen?',
'Available Databases and Tables': 'Verfügbare Datenbanken und Tabellen', 'Available Databases and Tables': 'Verfügbare Datenbanken und Tabellen',
'Buy this book': 'Dieses Buch kaufen',
"Buy web2py's book": "web2py's Buch kaufen", "Buy web2py's book": "web2py's Buch kaufen",
'cache': 'cache',
'Cache': 'Cache', 'Cache': 'Cache',
'Cache Cleared': 'Cache geleert', 'Cache Cleared': 'Cache geleert',
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache enthält items die bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} alt sind.',
'Cache Keys': 'Cache Schlüssel', 'Cache Keys': 'Cache Schlüssel',
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache enthält items die bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} alt sind.',
'Cannot be empty': 'Darf nicht leer sein', 'Cannot be empty': 'Darf nicht leer sein',
'Check to delete': 'Auswählen um zu löschen', 'Check to delete': 'Auswählen um zu löschen',
'Clear CACHE?': 'CACHE löschen?', 'Clear CACHE?': 'CACHE löschen?',
'Clear DISK': 'DISK löschen', 'Clear DISK': 'DISK löschen',
'Clear RAM': 'RAM löschen', 'Clear RAM': 'RAM löschen',
'Client IP': 'Client IP',
'Community': 'Community', 'Community': 'Community',
'Components and Plugins': 'Komponenten und Plugins', 'Components and Plugins': 'Komponenten und Plugins',
'Config.ini': 'Config.ini', 'Config.ini': 'Config.ini',
'Controller': 'Controller', 'Controller': 'Controller',
'Copyright': 'Copyright', 'Copyright': 'Copyright',
'Created By': 'Erstellt von',
'Created On': 'Erstellt am',
'Current request': 'Derzeitiger Request', 'Current request': 'Derzeitiger Request',
'Current response': 'Derzeitige Response', 'Current response': 'Derzeitige Response',
'Current session': 'Derzeitige Session', 'Current session': 'Derzeitige Session',
'customize me!': 'Pass mich an!', 'DB Model': 'Muster-DB',
'data uploaded': 'Datei hochgeladen', 'DISK': 'DISK',
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK enthält items die bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} alt sind.',
'Database': 'Datenbank', 'Database': 'Datenbank',
'Database %s select': 'Datenbank %s ausgewählt', 'Database %s select': 'Datenbank %s ausgewählt',
'Database Administration (appadmin)': 'Datenbankadministration (appadmin)', 'Database Administration (appadmin)': 'Datenbankadministration (appadmin)',
'db': 'db',
'DB Model': 'Muster-DB',
'Delete:': 'Lösche:', 'Delete:': 'Lösche:',
'Demo': 'Demo', 'Demo': 'Demo',
'Deployment Recipes': 'Entwicklungsrezepte', 'Deployment Recipes': 'Entwicklungsrezepte',
'Description': 'Beschreibung',
'design': 'Design',
'Design': 'Design', 'Design': 'Design',
'DISK': 'DISK', 'Disk Cache Keys': 'Festplatten-Cache-Schlüssel',
'Disk Cache Keys': 'Disk Cache Keys',
'Disk Cleared': 'Disk gelöscht', 'Disk Cleared': 'Disk gelöscht',
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK enthält items die bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} alt sind.',
'Documentation': 'Dokumentation', 'Documentation': 'Dokumentation',
"Don't know what to do?": 'Wissen Sie nicht weiter?', "Don't know what to do?": 'Wissen Sie nicht weiter?',
'done!': 'Fertig!',
'Download': 'Download', 'Download': 'Download',
'E-mail': 'E-mail',
'Edit current record': 'Diesen Eintrag editieren', 'Edit current record': 'Diesen Eintrag editieren',
'Email and SMS': 'Email und SMS', 'Email and SMS': 'Email und SMS',
'Enter an integer between %(min)g and %(max)g': 'Eine Zahl zwischen %(min)g und %(max)g eingeben',
'enter an integer between %(min)g and %(max)g': 'eine Zahl zwischen %(min)g und %(max)g eingeben',
'enter date and time as %(format)s': 'ein Datum und eine Uhrzeit als %(format)s eingeben',
'Errors': 'Fehlermeldungen', 'Errors': 'Fehlermeldungen',
'export as csv file': 'als csv Datei exportieren',
'FAQ': 'FAQ', 'FAQ': 'FAQ',
'First name': 'Vorname',
'Forms and Validators': 'Forms und Validators', 'Forms and Validators': 'Forms und Validators',
'Free Applications': 'Kostenlose Anwendungen', 'Free Applications': 'Kostenlose Anwendungen',
'Graph Model': 'Muster-Graph', 'Graph Model': 'Muster-Graph',
'Group %(group_id)s created': 'Gruppe %(group_id)s erstellt',
'Group ID': 'Gruppen ID',
'Group uniquely assigned to user %(id)s': 'Gruppe eindeutigem Benutzer %(id)s zugewiesen',
'Groups': 'Gruppen', 'Groups': 'Gruppen',
'Hello World': 'Hallo Welt', 'Hello World': 'Hallo Welt',
'Hello World ## Kommentar': 'Hallo Welt ', 'Helping web2py': 'web 2py helfen',
'Hello World## Kommentar': 'Hallo Welt',
'Helping web2py': 'Helping web2py',
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Trefferquote: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} und **%(misses)s** %%{miss(misses)})', 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Trefferquote: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} und **%(misses)s** %%{miss(misses)})',
'Home': 'Startseite', 'Home': 'Startseite',
'How did you get here?': 'Wie sind Sie hier her gelangt?', 'How did you get here?': 'Wie sind Sie hier her gelangt?',
'import': 'Importieren',
'Import/Export': 'Importieren/Exportieren', 'Import/Export': 'Importieren/Exportieren',
'Internal State': 'Innerer Zustand', 'Internal State': 'Innerer Zustand',
'Introduction': 'Einführung', 'Introduction': 'Einführung',
'Invalid email': 'Ungültige Email',
'Invalid Query': 'Ungültige Query', 'Invalid Query': 'Ungültige Query',
'invalid request': 'Ungültiger Request',
'Is Active': 'Ist aktiv',
'Key': 'Schlüssel', 'Key': 'Schlüssel',
'Last name': 'Nachname',
'Layout': 'Layout', 'Layout': 'Layout',
'Layout Plugins': 'Layout Plugins',
'Layouts': 'Layouts',
'Live Chat': 'Live Chat', 'Live Chat': 'Live Chat',
'Log In': 'Log In', 'Log In': 'Log In',
'Logged in': 'Eingeloggt',
'Logged out': 'Ausgeloggt',
'Login': 'Einloggen',
'Logout': 'Ausloggen',
'Lost Password': 'Passwort vergessen', 'Lost Password': 'Passwort vergessen',
'Lost password?': 'Passwort vergessen?',
'Manage %(action)s': '%(action)s verwalten', 'Manage %(action)s': '%(action)s verwalten',
'Manage Access Control': 'Zugangskontrolle verwalten', 'Manage Access Control': 'Zugangskontrolle verwalten',
'Manage Cache': 'Cache verwalten', 'Manage Cache': 'Cache verwalten',
'Memberships': 'Mitgliedschaften', 'Memberships': 'Mitgliedschaften',
'Menu Model': 'Menü-Muster', 'Menu Model': 'Menü-Muster',
'Modified By': 'Verändert von',
'Modified On': 'Verändert am',
'My Sites': 'Meine Seiten', 'My Sites': 'Meine Seiten',
'Name': 'Name',
'New Record': 'Neuer Eintrag', 'New Record': 'Neuer Eintrag',
'new record inserted': 'neuer Eintrag hinzugefügt',
'next %s rows': 'nächste %s Reihen',
'No databases in this application': 'Keine Datenbank in dieser Anwendung', 'No databases in this application': 'Keine Datenbank in dieser Anwendung',
'Number of entries: **%s**': 'Nummer der Einträge: **%s**', 'Number of entries: **%s**': 'Nummer der Einträge: **%s**',
'Object or table name': 'Objekt- oder Tabellenname',
'Online book': 'Online Buch', 'Online book': 'Online Buch',
'Online examples': 'Online Beispiele', 'Online examples': 'Online Beispiele',
'or import from csv file': 'oder von csv Datei importieren',
'Origin': 'Ursprung',
'Other Plugins': 'Andere Plugins',
'Other Recipes': 'Andere Rezepte', 'Other Recipes': 'Andere Rezepte',
'Overview': 'Überblick', 'Overview': 'Überblick',
'Password': 'Passwort',
"Password fields don't match": 'Passwortfelder sind nicht gleich',
'Permission': 'Erlaubnis', 'Permission': 'Erlaubnis',
'Permissions': 'Erlaubnisse', 'Permissions': 'Erlaubnisse',
'please input your password again': 'Bitte geben Sie ihr Passwort erneut ein',
'Plugins': 'Plugins', 'Plugins': 'Plugins',
'Powered by': 'Unterstützt von', 'Powered by': 'Unterstützt von',
'Preface': 'Allgemeines', 'Preface': 'Allgemeines',
'previous %s rows': 'vorherige %s Reihen',
'Profile': 'Profil',
'pygraphviz library not found': 'pygraphviz Bibliothek wurde nicht gefunden',
'Python': 'Python', 'Python': 'Python',
'Query:': 'Query:', 'Query:': 'Query:',
'Quick Examples': 'Kurze Beispiele', 'Quick Examples': 'Kurze Beispiele',
'RAM': 'RAM', 'RAM': 'RAM',
'RAM Cache Keys': 'RAM Cache Keys', 'RAM Cache Keys': 'RAM Cache-Schlüssel',
'Ram Cleared': 'Ram gelöscht',
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM enthält items die bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} alt sind.', 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM enthält items die bis zu **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} alt sind.',
'Ram Cleared': 'Ram gelöscht',
'Recipes': 'Rezepte', 'Recipes': 'Rezepte',
'Record': 'Eintrag', 'Record': 'Eintrag',
'record does not exist': 'Eintrag existiert nicht',
'Record ID': 'ID des Eintrags',
'Record id': 'id des Eintrags', 'Record id': 'id des Eintrags',
'Register': 'Register',
'Registration identifier': 'Registrierungsbezeichnung',
'Registration key': 'Registierungsschlüssel',
'Registration successful': 'Registrierung erfolgreich',
'Remember me (for 30 days)': 'Eingeloggt bleiben (30 Tage lang)',
'Reset Password key': 'Passwortschlüssel zurücksetzen',
'Role': 'Rolle', 'Role': 'Rolle',
'Roles': 'Rollen', 'Roles': 'Rollen',
'Rows in Table': 'Tabellenreihen', 'Rows in Table': 'Tabellenreihen',
'Rows selected': 'Reihen ausgewählt', 'Rows selected': 'Reihen ausgewählt',
'Save model as...': 'Speichere Vorlage als...', 'Save model as...': 'Speichere Vorlage als...',
'Semantic': 'Semantik',
'Services': 'Dienste', 'Services': 'Dienste',
'Sign Up': 'Registrieren', 'Sign Up': 'Registrieren',
'Size of cache:': 'Cachegröße:', 'Size of cache:': 'Cachegröße:',
'state': 'Status',
'Statistics': 'Statistik', 'Statistics': 'Statistik',
'Stylesheet': 'Stylesheet', 'Stylesheet': 'Stylesheet',
'submit': 'Submit',
'Support': 'Support', 'Support': 'Support',
'Table': 'Tabelle', 'Table': 'Tabelle',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'Die "query" ist eine Bedingung wie "db.tabelle1.feld1==\'wert\'". So etwas wie "db.tabelle1.feld1==db.tabelle2.feld2" resultiert in einem SQL JOIN.', 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'Die "query" ist eine Bedingung wie "db.tabelle1.feld1==\'wert\'". So etwas wie "db.tabelle1.feld1==db.tabelle2.feld2" resultiert in einem SQL JOIN.',
'The Core': 'Der Core', 'The Core': 'Der Core',
'The output of the file is a dictionary that was rendered by the view %s': 'Die Ausgabe der Datei ist ein "dictionary", welches vom "view" %s gerendert wurde',
'The Views': 'Die Views', 'The Views': 'Die Views',
'The output of the file is a dictionary that was rendered by the view %s': 'Die Ausgabe der Datei ist ein "dictionary", welches vom "view" %s gerendert wurde',
'This App': 'Diese App', 'This App': 'Diese App',
'This email already has an account': 'Diese email besitzt bereits ein Konto',
'Time in Cache (h:m:s)': 'Zeit im Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Zeit im Cache (h:m:s)',
'Timestamp': 'Zeitstempel',
'Traceback': 'Zurückverfolgen', 'Traceback': 'Zurückverfolgen',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'unable to parse csv file': 'csv Datei konnte nicht geparst werden',
'Update:': 'Update:', 'Update:': 'Update:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Benutze (...)&(...) für AND, (...)|(...) für OR, und ~(...) für NOT um komplexere Queries zu erstellen.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Benutze (...)&(...) für AND, (...)|(...) für OR, und ~(...) für NOT um komplexere Queries zu erstellen.',
'User': 'Benutzer', 'User': 'Benutzer',
'User %(id)s Logged-in': 'Benutzer %(id)s hat sich eingeloggt',
'User %(id)s Logged-out': 'Benutzer %(id)s hat sich ausgeloggt',
'User %(id)s Registered': 'Benutzer %(id)s hat sich registriert',
'User ID': 'Benutzer ID',
'Users': 'Benutzer', 'Users': 'Benutzer',
'value already in database or empty': 'Wert ist bereits in der Datenbank oder leer',
'Verify Password': 'Passwort überprüfen',
'Videos': 'Videos', 'Videos': 'Videos',
'View': 'Ansicht', 'View': 'Ansicht',
'Welcome': 'Willkommen',
'Welcome to web2py!': 'Willkommen bei web2py!', 'Welcome to web2py!': 'Willkommen bei web2py!',
'Which called the function %s located in the file %s': 'Welche die Funktion %s in der Datei %s aufrief', 'Which called the function %s located in the file %s': 'Welche die Funktion %s in der Datei %s aufrief',
'Working...': 'Arbeite...', 'Working...': 'Arbeite...',
'You are successfully running web2py': 'web2py wird erfolgreich ausgeführt', 'You are successfully running web2py': 'web2py wird erfolgreich ausgeführt',
'You can modify this application and adapt it to your needs': 'Sie können diese Anwendung verändern und Ihren Bedürfnissen anpassen', 'You can modify this application and adapt it to your needs': 'Sie können diese Anwendung verändern und Ihren Bedürfnissen anpassen',
'You visited the url %s': 'Sie haben die URL %s besucht', 'You visited the url %s': 'Sie haben die URL %s besucht',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**nicht verfügbar**``:rot (benötigt die Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] Bibliothek)',
'admin': 'admin',
'appadmin is disabled because insecure channel': 'Appadmin ist deaktiviert, wegen der Benutzung eines unsicheren Kanals',
'cache': 'cache',
'data uploaded': 'Datei hochgeladen',
'db': 'db',
'design': 'Design',
'done!': 'Fertig!',
'export as csv file': 'als csv Datei exportieren',
'import': 'Importieren',
'invalid request': 'Ungültiger Request',
'new record inserted': 'neuer Eintrag hinzugefügt',
'next %s rows': 'nächste %s Reihen',
'or import from csv file': 'oder von csv Datei importieren',
'previous %s rows': 'vorherige %s Reihen',
'pygraphviz library not found': 'pygraphviz Bibliothek wurde nicht gefunden',
'record does not exist': 'Eintrag existiert nicht',
'state': 'Status',
'submit': 'Submit',
'unable to parse csv file': 'csv Datei konnte nicht geparst werden',
} }
+109
View File
@@ -13,14 +13,29 @@
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'A new password was emailed to you': 'A new password was emailed to you',
'About': 'About', 'About': 'About',
'Access Control': 'Access Control', 'Access Control': 'Access Control',
'admin': 'admin', 'admin': 'admin',
'Ajax Recipes': 'Ajax Recipes', 'Ajax Recipes': 'Ajax Recipes',
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', 'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'API Example': 'API Example',
'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel', 'appadmin is disabled because insecure channel': 'appadmin is disabled because insecure channel',
'Apply changes': 'Apply changes',
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', 'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
'Authentication code': 'Authentication code',
'Available Databases and Tables': 'Available Databases and Tables', 'Available Databases and Tables': 'Available Databases and Tables',
"Buy web2py's book": "Buy web2py's book", "Buy web2py's book": "Buy web2py's book",
'cache': 'cache', 'cache': 'cache',
@@ -29,10 +44,14 @@
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Cache Keys': 'Cache Keys', 'Cache Keys': 'Cache Keys',
'Cannot be empty': 'Cannot be empty', 'Cannot be empty': 'Cannot be empty',
'Change Password': 'Change Password',
'Change password': 'Change password',
'Check to delete': 'Check to delete', 'Check to delete': 'Check to delete',
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Clear CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Clear DISK',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Client IP': 'Client IP',
'Community': 'Community', 'Community': 'Community',
'Components and Plugins': 'Components and Plugins', 'Components and Plugins': 'Components and Plugins',
'Config.ini': 'Config.ini', 'Config.ini': 'Config.ini',
@@ -50,6 +69,7 @@
'Delete:': 'Delete:', 'Delete:': 'Delete:',
'Demo': 'Demo', 'Demo': 'Demo',
'Deployment Recipes': 'Deployment Recipes', 'Deployment Recipes': 'Deployment Recipes',
'Description': 'Description',
'design': 'design', 'design': 'design',
'Design': 'Design', 'Design': 'Design',
'DISK': 'DISK', 'DISK': 'DISK',
@@ -60,14 +80,25 @@
"Don't know what to do?": "Don't know what to do?", "Don't know what to do?": "Don't know what to do?",
'done!': 'done!', 'done!': 'done!',
'Download': 'Download', 'Download': 'Download',
'E-mail': 'E-mail',
'Edit current record': 'Edit current record', 'Edit current record': 'Edit current record',
'Email and SMS': 'Email and SMS', 'Email and SMS': 'Email and SMS',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Errors': 'Errors', 'Errors': 'Errors',
'export as csv file': 'export as csv file', 'export as csv file': 'export as csv file',
'FAQ': 'FAQ', 'FAQ': 'FAQ',
'First name': 'First name',
'Forms and Validators': 'Forms and Validators', 'Forms and Validators': 'Forms and Validators',
'Free Applications': 'Free Applications', 'Free Applications': 'Free Applications',
'Function disabled': 'Function disabled',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Grid Example': 'Grid Example',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Groups': 'Groups', 'Groups': 'Groups',
'Hello World': 'Hello World', 'Hello World': 'Hello World',
'Helping web2py': 'Helping web2py', 'Helping web2py': 'Helping web2py',
@@ -76,37 +107,68 @@
'How did you get here?': 'How did you get here?', 'How did you get here?': 'How did you get here?',
'import': 'import', 'import': 'import',
'Import/Export': 'Import/Export', 'Import/Export': 'Import/Export',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Insufficient privileges': 'Insufficient privileges',
'Internal State': 'Internal State', 'Internal State': 'Internal State',
'Introduction': 'Introduction', 'Introduction': 'Introduction',
'Invalid email': 'Invalid email',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'Invalid password': 'Invalid password',
'Invalid Query': 'Invalid Query', 'Invalid Query': 'Invalid Query',
'invalid request': 'invalid request', 'invalid request': 'invalid request',
'Invalid reset password': 'Invalid reset password',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Last name': 'Last name',
'Layout': 'Layout', 'Layout': 'Layout',
'Live Chat': 'Live Chat', 'Live Chat': 'Live Chat',
'Log In': 'Log In', 'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'Login': 'Login',
'Login disabled by administrator': 'Login disabled by administrator',
'Logout': 'Logout',
'Lost Password': 'Lost Password', 'Lost Password': 'Lost Password',
'Lost your password?': 'Lost your password?',
'Manage %(action)s': 'Manage %(action)s', 'Manage %(action)s': 'Manage %(action)s',
'Manage Access Control': 'Manage Access Control', 'Manage Access Control': 'Manage Access Control',
'Manage Cache': 'Manage Cache', 'Manage Cache': 'Manage Cache',
'Memberships': 'Memberships', 'Memberships': 'Memberships',
'Menu Model': 'Menu Model', 'Menu Model': 'Menu Model',
'My Sites': 'My Sites', 'My Sites': 'My Sites',
'Name': 'Name',
'New password': 'New password',
'New Record': 'New Record', 'New Record': 'New Record',
'new record inserted': 'new record inserted', 'new record inserted': 'new record inserted',
'next %s rows': 'next %s rows', 'next %s rows': 'next %s rows',
'No databases in this application': 'No databases in this application', 'No databases in this application': 'No databases in this application',
'Number of entries: **%s**': 'Number of entries: **%s**', 'Number of entries: **%s**': 'Number of entries: **%s**',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
'Online book': 'Online book', 'Online book': 'Online book',
'Online examples': 'Online examples', 'Online examples': 'Online examples',
'or import from csv file': 'or import from csv file', 'or import from csv file': 'or import from csv file',
'Origin': 'Origin',
'Other Recipes': 'Other Recipes', 'Other Recipes': 'Other Recipes',
'Overview': 'Overview', 'Overview': 'Overview',
'Password': 'Password',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'please input your password again': 'please input your password again',
'Plugins': 'Plugins', 'Plugins': 'Plugins',
'Powered by': 'Powered by', 'Powered by': 'Powered by',
'Preface': 'Preface', 'Preface': 'Preface',
'previous %s rows': 'previous %s rows', 'previous %s rows': 'previous %s rows',
'Profile': 'Profile',
'Profile updated': 'Profile updated',
'pygraphviz library not found': 'pygraphviz library not found', 'pygraphviz library not found': 'pygraphviz library not found',
'Python': 'Python', 'Python': 'Python',
'Query:': 'Query:', 'Query:': 'Query:',
@@ -117,8 +179,25 @@
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Recipes': 'Recipes', 'Recipes': 'Recipes',
'Record': 'Record', 'Record': 'Record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'record does not exist', 'record does not exist': 'record does not exist',
'Record id': 'Record id', 'Record id': 'Record id',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'Register': 'Register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Request reset password': 'Request reset password',
'Reset Password key': 'Reset Password key',
'Role': 'Role', 'Role': 'Role',
'Roles': 'Roles', 'Roles': 'Roles',
'Rows in Table': 'Rows in Table', 'Rows in Table': 'Rows in Table',
@@ -126,11 +205,13 @@
'Save model as...': 'Save model as...', 'Save model as...': 'Save model as...',
'Services': 'Services', 'Services': 'Services',
'Sign Up': 'Sign Up', 'Sign Up': 'Sign Up',
'Sign up': 'Sign up',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
'state': 'state', 'state': 'state',
'Statistics': 'Statistics', 'Statistics': 'Statistics',
'Stylesheet': 'Stylesheet', 'Stylesheet': 'Stylesheet',
'submit': 'submit', 'submit': 'submit',
'Submit': 'Submit',
'Support': 'Support', 'Support': 'Support',
'Table': 'Table', 'Table': 'Table',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.', 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.',
@@ -138,20 +219,48 @@
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', 'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
'The Views': 'The Views', 'The Views': 'The Views',
'This App': 'This App', 'This App': 'This App',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
'This email already has an account': 'This email already has an account',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'Traceback': 'Traceback', 'Traceback': 'Traceback',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'unable to parse csv file': 'unable to parse csv file', 'unable to parse csv file': 'unable to parse csv file',
'Unable to send email': 'Unable to send email',
'Update:': 'Update:', 'Update:': 'Update:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Verify Password': 'Verify Password',
'Videos': 'Videos', 'Videos': 'Videos',
'View': 'View', 'View': 'View',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome to web2py!': 'Welcome to web2py!', 'Welcome to web2py!': 'Welcome to web2py!',
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', 'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
'Wiki Example': 'Wiki Example',
'Working...': 'Working...', 'Working...': 'Working...',
'You are successfully running web2py': 'You are successfully running web2py', 'You are successfully running web2py': 'You are successfully running web2py',
'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', 'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You visited the url %s': 'You visited the url %s', 'You visited the url %s': 'You visited the url %s',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+49 -2
View File
@@ -8,17 +8,27 @@
'%s %%{row} deleted': '%s %%{fila} %%{eliminada}', '%s %%{row} deleted': '%s %%{fila} %%{eliminada}',
'%s %%{row} updated': '%s %%{fila} %%{actualizada}', '%s %%{row} updated': '%s %%{fila} %%{actualizada}',
'%s selected': '%s %%{seleccionado}', '%s selected': '%s %%{seleccionado}',
'%Y-%m-%d': '%d/%m/%A', '%Y-%m-%d': '%d/%m/%Y',
'%Y-%m-%d %H:%M:%S': '%d/%m/%A %H:%M:%S', '%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
'(**%.0d MB**)': '(**%.0d MB**)', '(**%.0d MB**)': '(**%.0d MB**)',
'(something like "it-it")': '(algo como "it-it")', '(something like "it-it")': '(algo como "it-it")',
'**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**no disponible** (requiere la libreria [[guppy http://pypi.python.org/pypi/guppy/ popup]] de Python)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**no disponible** (requiere la libreria [[guppy http://pypi.python.org/pypi/guppy/ popup]] de Python)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ha ocurrido un error, por favor [[recargar %s]] la página', '@markmin\x01An error occured, please [[reload %s]] the page': 'Ha ocurrido un error, por favor [[recargar %s]] la página',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'@markmin\x01Number of entries: **%s**': 'Número de entradas: **%s**', '@markmin\x01Number of entries: **%s**': 'Número de entradas: **%s**',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**no disponible**``:red (Necesita libreria de Python: [[guppy http://pypi.python.org/pypi/guppy/ popup]])', '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**no disponible**``:red (Necesita libreria de Python: [[guppy http://pypi.python.org/pypi/guppy/ popup]])',
'A new password was emailed to you': 'A new password was emailed to you',
'A new version of web2py is available': 'Hay una nueva versión de web2py disponible', 'A new version of web2py is available': 'Hay una nueva versión de web2py disponible',
'A new version of web2py is available: %s': 'Hay una nueva versión de web2py disponible: %s', 'A new version of web2py is available: %s': 'Hay una nueva versión de web2py disponible: %s',
'About': 'Acerca de', 'About': 'Acerca de',
@@ -42,6 +52,7 @@
'And': 'Y', 'And': 'Y',
'and rename it (required):': 'y renómbrela (requerido):', 'and rename it (required):': 'y renómbrela (requerido):',
'and rename it:': ' y renómbrelo:', 'and rename it:': ' y renómbrelo:',
'API Example': 'API Example',
'appadmin': 'appadmin', 'appadmin': 'appadmin',
'appadmin is disabled because insecure channel': 'appadmin deshabilitado, el canal no es seguro', 'appadmin is disabled because insecure channel': 'appadmin deshabilitado, el canal no es seguro',
'application "%s" uninstalled': 'aplicación "%s" desinstalada', 'application "%s" uninstalled': 'aplicación "%s" desinstalada',
@@ -58,6 +69,7 @@
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCION: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.', 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCION: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.',
'ATTENTION: you cannot edit the running application!': 'ATENCION: no puede modificar la aplicación que está ejecutandose!', 'ATTENTION: you cannot edit the running application!': 'ATENCION: no puede modificar la aplicación que está ejecutandose!',
'Authentication': 'Autenticación', 'Authentication': 'Autenticación',
'Authentication code': 'Authentication code',
'Authentication failed at client DB!': '¡La autenticación ha fallado en la BDD cliente!', 'Authentication failed at client DB!': '¡La autenticación ha fallado en la BDD cliente!',
'Authentication failed at main DB!': '¡La autenticación ha fallado en la BDD principal!', 'Authentication failed at main DB!': '¡La autenticación ha fallado en la BDD principal!',
'Available Databases and Tables': 'Bases de datos y tablas disponibles', 'Available Databases and Tables': 'Bases de datos y tablas disponibles',
@@ -156,6 +168,8 @@
'Editing file "%s"': 'Editando archivo "%s"', 'Editing file "%s"': 'Editando archivo "%s"',
'Email and SMS': 'Correo electrónico y SMS', 'Email and SMS': 'Correo electrónico y SMS',
'Email sent': 'Correo electrónico enviado', 'Email sent': 'Correo electrónico enviado',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'End of impersonation': 'Fin de suplantación', 'End of impersonation': 'Fin de suplantación',
'enter a number between %(min)g and %(max)g': 'introduzca un numero entre %(min)g y %(max)g', 'enter a number between %(min)g and %(max)g': 'introduzca un numero entre %(min)g y %(max)g',
'enter a value': 'introduzca un valor', 'enter a value': 'introduzca un valor',
@@ -184,9 +198,12 @@
'Forgot username?': '¿Olvidó el nombre de usuario?', 'Forgot username?': '¿Olvidó el nombre de usuario?',
'Forms and Validators': 'Formularios y validadores', 'Forms and Validators': 'Formularios y validadores',
'Free Applications': 'Aplicaciones Libres', 'Free Applications': 'Aplicaciones Libres',
'Function disabled': 'Function disabled',
'Functions with no doctests will result in [passed] tests.': 'Funciones sin doctests equivalen a pruebas [aceptadas].', 'Functions with no doctests will result in [passed] tests.': 'Funciones sin doctests equivalen a pruebas [aceptadas].',
'Graph Model': 'Modelo en Grafo', 'Graph Model': 'Modelo en Grafo',
'Grid Example': 'Grid Example',
'Group %(group_id)s created': 'Grupo %(group_id)s creado', 'Group %(group_id)s created': 'Grupo %(group_id)s creado',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID de Grupo', 'Group ID': 'ID de Grupo',
'Group uniquely assigned to user %(id)s': 'Grupo asignado únicamente al usuario %(id)s', 'Group uniquely assigned to user %(id)s': 'Grupo asignado únicamente al usuario %(id)s',
'Groups': 'Grupos', 'Groups': 'Grupos',
@@ -202,6 +219,7 @@
'Import/Export': 'Importar/Exportar', 'Import/Export': 'Importar/Exportar',
'in': 'en', 'in': 'en',
'includes': 'incluye', 'includes': 'incluye',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Index': 'Índice', 'Index': 'Índice',
'insert new': 'inserte nuevo', 'insert new': 'inserte nuevo',
'insert new %s': 'inserte nuevo %s', 'insert new %s': 'inserte nuevo %s',
@@ -213,14 +231,20 @@
'Invalid action': 'Acción inválida', 'Invalid action': 'Acción inválida',
'Invalid email': 'Correo electrónico inválido', 'Invalid email': 'Correo electrónico inválido',
'invalid expression': 'expresión inválida', 'invalid expression': 'expresión inválida',
'Invalid key': 'Invalid key',
'Invalid login': 'Inicio de sesión inválido', 'Invalid login': 'Inicio de sesión inválido',
'invalid password': 'contraseña inválida', 'invalid password': 'contraseña inválida',
'Invalid password': 'Invalid password',
'Invalid Query': 'Consulta inválida', 'Invalid Query': 'Consulta inválida',
'invalid request': 'Solicitud inválida', 'invalid request': 'Solicitud inválida',
'Invalid reset password': 'Reinicio de contraseña inválido', 'Invalid reset password': 'Reinicio de contraseña inválido',
'invalid ticket': 'Tiquete inválido', 'invalid ticket': 'Tiquete inválido',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Is Active': 'Está Activo', 'Is Active': 'Está Activo',
'Key': 'Llave', 'Key': 'Llave',
'Key verified': 'Key verified',
'language file "%(filename)s" created/updated': 'archivo de lenguaje "%(filename)s" creado/actualizado', 'language file "%(filename)s" created/updated': 'archivo de lenguaje "%(filename)s" creado/actualizado',
'Language files (static strings) updated': 'Archivos de lenguaje (cadenas estáticas) actualizados', 'Language files (static strings) updated': 'Archivos de lenguaje (cadenas estáticas) actualizados',
'languages': 'lenguajes', 'languages': 'lenguajes',
@@ -246,6 +270,7 @@
'Lost Password': 'Contraseña perdida', 'Lost Password': 'Contraseña perdida',
'Lost password?': '¿Olvidó la contraseña?', 'Lost password?': '¿Olvidó la contraseña?',
'lost password?': '¿olvidó la contraseña?', 'lost password?': '¿olvidó la contraseña?',
'Lost your password?': 'Lost your password?',
'Main Menu': 'Menú principal', 'Main Menu': 'Menú principal',
'Manage %(action)s': 'Gestionar %(action)s', 'Manage %(action)s': 'Gestionar %(action)s',
'Manage Access Control': 'Gestionar control de acceso', 'Manage Access Control': 'Gestionar control de acceso',
@@ -295,6 +320,7 @@
'Password changed': 'Contraseña cambiada', 'Password changed': 'Contraseña cambiada',
"Password fields don't match": 'Los campos de contraseña no coinciden', "Password fields don't match": 'Los campos de contraseña no coinciden',
'Password reset': 'Reinicio de contraseña', 'Password reset': 'Reinicio de contraseña',
'Password retrieve': 'Password retrieve',
'Peeking at file': 'Visualizando archivo', 'Peeking at file': 'Visualizando archivo',
'Permission': 'Permiso', 'Permission': 'Permiso',
'Permissions': 'Permisos', 'Permissions': 'Permisos',
@@ -319,14 +345,21 @@
'Recipes': 'Recetas', 'Recipes': 'Recetas',
'Record': 'Registro', 'Record': 'Registro',
'Record %(id)s created': 'Registro %(id)s creado', 'Record %(id)s created': 'Registro %(id)s creado',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Registro Creado', 'Record Created': 'Registro Creado',
'Record Deleted': 'Record Deleted',
'record does not exist': 'el registro no existe', 'record does not exist': 'el registro no existe',
'Record ID': 'ID de Registro', 'Record ID': 'ID de Registro',
'Record id': 'Id de registro', 'Record id': 'Id de registro',
'Record Updated': 'Record Updated',
'register': 'regístrese', 'register': 'regístrese',
'Register': 'Regístrese', 'Register': 'Regístrese',
'Registration identifier': 'Identificador de Registro', 'Registration identifier': 'Identificador de Registro',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Llave de registro', 'Registration key': 'Llave de registro',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registro con éxito', 'Registration successful': 'Registro con éxito',
'reload': 'recargar', 'reload': 'recargar',
'Remember me (for 30 days)': 'Recuérdame (durante 30 días)', 'Remember me (for 30 days)': 'Recuérdame (durante 30 días)',
@@ -351,6 +384,7 @@
'session expired': 'sesión expirada', 'session expired': 'sesión expirada',
'shell': 'terminal', 'shell': 'terminal',
'Sign Up': 'Registrarse', 'Sign Up': 'Registrarse',
'Sign up': 'Sign up',
'site': 'sitio', 'site': 'sitio',
'Size of cache:': 'Tamaño de la Caché:', 'Size of cache:': 'Tamaño de la Caché:',
'some files could not be removed': 'algunos archivos no pudieron ser removidos', 'some files could not be removed': 'algunos archivos no pudieron ser removidos',
@@ -385,6 +419,7 @@
'There are no views': 'No hay vistas', 'There are no views': 'No hay vistas',
'these files are served without processing, your images go here': 'estos archivos son servidos sin procesar, sus imágenes van aquí', 'these files are served without processing, your images go here': 'estos archivos son servidos sin procesar, sus imágenes van aquí',
'This App': 'Esta Aplicación', 'This App': 'Esta Aplicación',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
'This email already has an account': 'Este correo electrónico ya tiene una cuenta', 'This email already has an account': 'Este correo electrónico ya tiene una cuenta',
'This is a copy of the scaffolding application': 'Esta es una copia de la aplicación de andamiaje', 'This is a copy of the scaffolding application': 'Esta es una copia de la aplicación de andamiaje',
'This is the %(filename)s template': 'Esta es la plantilla %(filename)s', 'This is the %(filename)s template': 'Esta es la plantilla %(filename)s',
@@ -405,12 +440,14 @@
'TSV (Excel compatible)': 'TSV (compatible con Excel)', 'TSV (Excel compatible)': 'TSV (compatible con Excel)',
'TSV (Excel compatible, hidden cols)': 'TSV (compatible con Excel, columnas ocultas)', 'TSV (Excel compatible, hidden cols)': 'TSV (compatible con Excel, columnas ocultas)',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'Unable to check for upgrades': 'No es posible verificar la existencia de actualizaciones', 'Unable to check for upgrades': 'No es posible verificar la existencia de actualizaciones',
'unable to create application "%s"': 'no es posible crear la aplicación "%s"', 'unable to create application "%s"': 'no es posible crear la aplicación "%s"',
'unable to delete file "%(filename)s"': 'no es posible eliminar el archivo "%(filename)s"', 'unable to delete file "%(filename)s"': 'no es posible eliminar el archivo "%(filename)s"',
'Unable to download': 'No es posible la descarga', 'Unable to download': 'No es posible la descarga',
'Unable to download app': 'No es posible descargar la aplicación', 'Unable to download app': 'No es posible descargar la aplicación',
'unable to parse csv file': 'no es posible analizar el archivo CSV', 'unable to parse csv file': 'no es posible analizar el archivo CSV',
'Unable to send email': 'Unable to send email',
'unable to uninstall "%s"': 'no es posible instalar "%s"', 'unable to uninstall "%s"': 'no es posible instalar "%s"',
'uncheck all': 'desmarcar todos', 'uncheck all': 'desmarcar todos',
'uninstall': 'desinstalar', 'uninstall': 'desinstalar',
@@ -428,9 +465,12 @@
'User %(id)s Logged-out': 'El usuario %(id)s finalizó la sesión', 'User %(id)s Logged-out': 'El usuario %(id)s finalizó la sesión',
'User %(id)s Password changed': 'Contraseña del usuario %(id)s cambiada', 'User %(id)s Password changed': 'Contraseña del usuario %(id)s cambiada',
'User %(id)s Password reset': 'Contraseña del usuario %(id)s reiniciada', 'User %(id)s Password reset': 'Contraseña del usuario %(id)s reiniciada',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'Actualizado el perfil del usuario %(id)s', 'User %(id)s Profile updated': 'Actualizado el perfil del usuario %(id)s',
'User %(id)s Registered': 'Usuario %(id)s Registrado', 'User %(id)s Registered': 'Usuario %(id)s Registrado',
'User %(id)s Username retrieved': 'Se ha recuperado el nombre de usuario del usuario %(id)s', 'User %(id)s Username retrieved': 'Se ha recuperado el nombre de usuario del usuario %(id)s',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User %(username)s Logged-in': 'El usuario %(username)s inició la sesión', 'User %(username)s Logged-in': 'El usuario %(username)s inició la sesión',
"User '%(username)s' Logged-in": "El usuario '%(username)s' inició la sesión", "User '%(username)s' Logged-in": "El usuario '%(username)s' inició la sesión",
"User '%(username)s' Logged-out": "El usuario '%(username)s' finalizó la sesión", "User '%(username)s' Logged-out": "El usuario '%(username)s' finalizó la sesión",
@@ -438,6 +478,7 @@
'User ID': 'ID de Usuario', 'User ID': 'ID de Usuario',
'User Logged-out': 'El usuario finalizó la sesión', 'User Logged-out': 'El usuario finalizó la sesión',
'Username': 'Nombre de usuario', 'Username': 'Nombre de usuario',
'Username already taken': 'Username already taken',
'Username retrieve': 'Recuperar nombre de usuario', 'Username retrieve': 'Recuperar nombre de usuario',
'Users': 'Usuarios', 'Users': 'Usuarios',
'value already in database or empty': 'el valor ya existe en la base de datos o está vacío', 'value already in database or empty': 'el valor ya existe en la base de datos o está vacío',
@@ -455,14 +496,20 @@
'web2py is up to date': 'web2py está actualizado', 'web2py is up to date': 'web2py está actualizado',
'web2py Recent Tweets': 'Tweets Recientes de web2py', 'web2py Recent Tweets': 'Tweets Recientes de web2py',
'Welcome': 'Bienvenido', 'Welcome': 'Bienvenido',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': 'Bienvenido %s', 'Welcome %s': 'Bienvenido %s',
'Welcome to web2py': 'Bienvenido a web2py', 'Welcome to web2py': 'Bienvenido a web2py',
'Welcome to web2py!': '¡Bienvenido a web2py!', 'Welcome to web2py!': '¡Bienvenido a web2py!',
'Which called the function %s located in the file %s': 'La cual llamó la función %s localizada en el archivo %s', 'Which called the function %s located in the file %s': 'La cual llamó la función %s localizada en el archivo %s',
'Wiki Example': 'Wiki Example',
'Working...': 'Trabajando...', 'Working...': 'Trabajando...',
'YES': '', 'YES': '',
'You are successfully running web2py': 'Usted está ejecutando web2py exitosamente', 'You are successfully running web2py': 'Usted está ejecutando web2py exitosamente',
'You can modify this application and adapt it to your needs': 'Usted puede modificar esta aplicación y adaptarla a sus necesidades', 'You can modify this application and adapt it to your needs': 'Usted puede modificar esta aplicación y adaptarla a sus necesidades',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You visited the url %s': 'Usted visitó la url %s', 'You visited the url %s': 'Usted visitó la url %s',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Su nombre de usuario es: %(username)s', 'Your username is: %(username)s': 'Su nombre de usuario es: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+145 -61
View File
@@ -3,8 +3,8 @@
'!langcode!': 'fr-ca', '!langcode!': 'fr-ca',
'!langname!': 'Français (Canadien)', '!langname!': 'Français (Canadien)',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" est une expression optionnelle comme "champ1=\'nouvellevaleur\'". Vous ne pouvez mettre à jour ou supprimer les résultats d\'un JOIN', '"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" est une expression optionnelle comme "champ1=\'nouvellevaleur\'". Vous ne pouvez mettre à jour ou supprimer les résultats d\'un JOIN',
'%s %%{row} deleted': '%s rangées supprimées', '%s %%{row} deleted': '%s lignes supprimées',
'%s %%{row} updated': '%s rangées mises à jour', '%s %%{row} updated': '%s lignes mises à jour',
'%s selected': '%s sélectionné', '%s selected': '%s sélectionné',
'%Y-%m-%d': '%Y-%m-%d', '%Y-%m-%d': '%Y-%m-%d',
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
@@ -13,18 +13,33 @@
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'A new password was emailed to you': 'A new password was emailed to you',
'about': 'à propos', 'about': 'à propos',
'About': 'À propos', 'About': 'À propos',
'Access Control': "Contrôle d'accès", 'Access Control': "Contrôle d'accès",
'admin': 'admin', 'admin': 'admin',
'Administrative Interface': 'Administrative Interface', 'Administrative Interface': "Interface d'administration",
'Administrative interface': "Interface d'administration", 'Administrative interface': "Interface d'administration",
'Ajax Recipes': 'Recettes Ajax', 'Ajax Recipes': 'Recettes Ajax',
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', 'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'API Example': 'API Example',
'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé", 'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé",
'Apply changes': 'Apply changes',
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?', 'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
'Authentication': 'Authentification', 'Authentication': 'Authentification',
'Authentication code': 'Authentication code',
'Available Databases and Tables': 'Bases de données et tables disponibles', 'Available Databases and Tables': 'Bases de données et tables disponibles',
'Buy this book': 'Acheter ce livre', 'Buy this book': 'Acheter ce livre',
"Buy web2py's book": "Buy web2py's book", "Buy web2py's book": "Buy web2py's book",
@@ -35,39 +50,44 @@
'Cache Keys': 'Cache Keys', 'Cache Keys': 'Cache Keys',
'Cannot be empty': 'Ne peut pas être vide', 'Cannot be empty': 'Ne peut pas être vide',
'change password': 'changer le mot de passe', 'change password': 'changer le mot de passe',
'Change Password': 'Change Password',
'Change password': 'Change password',
'Check to delete': 'Cliquez pour supprimer', 'Check to delete': 'Cliquez pour supprimer',
'Check to delete:': 'Cliquez pour supprimer:', 'Check to delete:': 'Cliquez pour supprimer:',
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Vider le CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Vider le DISQUE',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Vider la RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Client IP': 'IP client', 'Client IP': 'IP client',
'Community': 'Communauté', 'Community': 'Communauté',
'Components and Plugins': 'Components and Plugins', 'Components and Plugins': 'Composants et Plugiciels',
'Config.ini': 'Config.ini', 'Config.ini': 'Config.ini',
'Controller': 'Contrôleur', 'Controller': 'Contrôleur',
'Copyright': "Droit d'auteur", 'Copyright': "Droit d'auteur",
'Created By': 'Créé par',
'Created On': 'Créé le',
'Current request': 'Demande actuelle', 'Current request': 'Demande actuelle',
'Current response': 'Réponse actuelle', 'Current response': 'Réponse actuelle',
'Current session': 'Session en cours', 'Current session': 'Session en cours',
'customize me!': 'personnalisez-moi!', 'customize me!': 'personnalisez-moi!',
'data uploaded': 'données téléchargées', 'data uploaded': 'données téléchargées',
'Database': 'base de données', 'Database': 'base de données',
'Database %s select': 'base de données %s select', 'Database %s select': 'base de données %s selectionnée',
'Database Administration (appadmin)': 'Database Administration (appadmin)', 'Database Administration (appadmin)': 'Database Administration (appadmin)',
'db': 'db', 'db': 'db',
'DB Model': 'Modèle DB', 'DB Model': 'Modèle BD',
'Delete:': 'Supprimer:', 'Delete:': 'Supprimer:',
'Demo': 'Démo', 'Demo': 'Démo',
'Deployment Recipes': 'Recettes de déploiement ', 'Deployment Recipes': 'Recettes de déploiement',
'Description': 'Descriptif', 'Description': 'Description',
'design': 'design', 'design': 'design',
'Design': 'Design', 'Design': 'Design',
'DISK': 'DISK', 'DISK': 'DISQUE',
'Disk Cache Keys': 'Disk Cache Keys', 'Disk Cache Keys': 'Disk Cache Keys',
'Disk Cleared': 'Disk Cleared', 'Disk Cleared': 'Disque vidé',
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Documentation': 'Documentation', 'Documentation': 'Documentation',
"Don't know what to do?": "Don't know what to do?", "Don't know what to do?": 'Vous ne savez pas quoi faire?',
'done!': 'fait!', 'done!': 'fait!',
'Download': 'Téléchargement', 'Download': 'Téléchargement',
'E-mail': 'Courriel', 'E-mail': 'Courriel',
@@ -75,122 +95,163 @@
'Edit current record': "Modifier l'enregistrement courant", 'Edit current record': "Modifier l'enregistrement courant",
'edit profile': 'modifier le profil', 'edit profile': 'modifier le profil',
'Edit This App': 'Modifier cette application', 'Edit This App': 'Modifier cette application',
'Email and SMS': 'Email and SMS', 'Email and SMS': 'Courriel et texto',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enter an integer between %(min)g and %(max)g': 'Enter an integer between %(min)g and %(max)g',
'enter an integer between %(min)g and %(max)g': 'entrer un entier compris entre %(min)g et %(max)g', 'enter an integer between %(min)g and %(max)g': 'entrer un entier compris entre %(min)g et %(max)g',
'Errors': 'Erreurs', 'Errors': 'Erreurs',
'export as csv file': 'exporter sous forme de fichier csv', 'export as csv file': 'exporter sous forme de fichier csv',
'FAQ': 'faq', 'FAQ': 'FAQ',
'First name': 'Prénom', 'First name': 'Prénom',
'Forms and Validators': 'Formulaires et Validateurs', 'Forms and Validators': 'Formulaires et Validateurs',
'Free Applications': 'Applications gratuites', 'Free Applications': 'Applications gratuites',
'Function disabled': 'Fonction désactivée', 'Function disabled': 'Fonction désactivée',
'Graph Model': 'Graph Model', 'Graph Model': 'Représentation graphique du modèle',
'Grid Example': 'Grid Example',
'Group %(group_id)s created': '%(group_id)s groupe créé', 'Group %(group_id)s created': '%(group_id)s groupe créé',
'Group ID': 'Groupe ID', 'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID du groupe',
'Group uniquely assigned to user %(id)s': "Groupe unique attribué à l'utilisateur %(id)s", 'Group uniquely assigned to user %(id)s': "Groupe unique attribué à l'utilisateur %(id)s",
'Groups': 'Groupes', 'Groups': 'Groupes',
'Hello World': 'Bonjour le monde', 'Hello World': 'Bonjour le monde',
'Helping web2py': 'Helping web2py', 'Helping web2py': 'Aider web2py',
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})', 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'Home': 'Accueil', 'Home': 'Accueil',
'How did you get here?': 'How did you get here?', 'How did you get here?': 'How did you get here?',
'import': 'import', 'import': 'importer',
'Import/Export': 'Importer/Exporter', 'Import/Export': 'Importer/Exporter',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Index': 'Index', 'Index': 'Index',
'insert new': 'insérer un nouveau', 'insert new': 'insérer un nouveau',
'insert new %s': 'insérer un nouveau %s', 'insert new %s': 'insérer un nouveau %s',
'Insufficient privileges': 'Insufficient privileges',
'Internal State': 'État interne', 'Internal State': 'État interne',
'Introduction': 'Présentation', 'Introduction': 'Présentation',
'Invalid email': 'Courriel invalide', 'Invalid email': 'Courriel invalide',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'Invalid password': 'Invalid password',
'Invalid Query': 'Requête Invalide', 'Invalid Query': 'Requête Invalide',
'invalid request': 'requête invalide', 'invalid request': 'requête invalide',
'Key': 'Key', 'Invalid reset password': 'Invalid reset password',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Is Active': 'Est actif',
'Key': 'Clé',
'Key verified': 'Key verified',
'Last name': 'Nom', 'Last name': 'Nom',
'Layout': 'Mise en page', 'Layout': 'Mise en page',
'Layout Plugins': 'Layout Plugins', 'Layout Plugins': 'Plugins de mise en page',
'Layouts': 'layouts', 'Layouts': 'Mises en page',
'Live chat': 'Clavardage en direct', 'Live chat': 'Clavardage en direct',
'Live Chat': 'Live Chat', 'Live Chat': 'Clavardage en direct',
'Log In': 'Log In', 'Loading...': 'Chargement...',
'loading...': 'chargement...',
'Log In': 'Connexion',
'Logged in': 'Connecté', 'Logged in': 'Connecté',
'login': 'connectez-vous', 'Logged out': 'Logged out',
'Login': 'Connectez-vous', 'login': 'connexion',
'logout': 'déconnectez-vous', 'Login': 'Connexion',
'Login disabled by administrator': 'Login disabled by administrator',
'logout': 'déconnexion',
'Logout': 'Logout',
'lost password': 'mot de passe perdu', 'lost password': 'mot de passe perdu',
'Lost Password': 'Mot de passe perdu', 'Lost Password': 'Mot de passe perdu',
'Lost password?': 'Mot de passe perdu?',
'lost password?': 'mot de passe perdu?', 'lost password?': 'mot de passe perdu?',
'Lost your password?': 'Lost your password?',
'Main Menu': 'Menu principal', 'Main Menu': 'Menu principal',
'Manage %(action)s': 'Manage %(action)s', 'Manage %(action)s': 'Manage %(action)s',
'Manage Access Control': 'Manage Access Control', 'Manage Access Control': 'Manage Access Control',
'Manage Cache': 'Manage Cache', 'Manage Cache': 'Gérer le Cache',
'Memberships': 'Memberships', 'Memberships': 'Memberships',
'Menu Model': 'Menu modèle', 'Menu Model': 'Menu modèle',
'My Sites': 'My Sites', 'Modified By': 'Modifié par',
'Modified On': 'Modifié le',
'My Sites': 'Mes sites',
'Name': 'Nom', 'Name': 'Nom',
'New password': 'New password',
'New Record': 'Nouvel enregistrement', 'New Record': 'Nouvel enregistrement',
'new record inserted': 'nouvel enregistrement inséré', 'new record inserted': 'nouvel enregistrement inséré',
'next %s rows': 'next %s rows', 'next %s rows': '%s prochaine lignes',
'next 100 rows': '100 prochaines lignes', 'next 100 rows': '100 prochaines lignes',
'No databases in this application': "Cette application n'a pas de bases de données", 'No databases in this application': "Cette application n'a pas de bases de données",
'Number of entries: **%s**': 'Number of entries: **%s**', 'Number of entries: **%s**': 'Number of entries: **%s**',
'Object or table name': 'Objet ou nom de table',
'Old password': 'Old password',
'Online book': 'Online book', 'Online book': 'Online book',
'Online examples': 'Exemples en ligne', 'Online examples': 'Exemples en ligne',
'or import from csv file': "ou importer d'un fichier CSV", 'or import from csv file': "ou importer d'un fichier CSV",
'Origin': 'Origine', 'Origin': 'Origine',
'Other Plugins': 'Other Plugins', 'Other Plugins': 'Autres Plugiciels',
'Other Recipes': 'Autres recettes', 'Other Recipes': 'Autres recettes',
'Overview': 'Présentation', 'Overview': 'Présentation',
'password': 'mot de passe', 'password': 'mot de passe',
'Password': 'Mot de passe', 'Password': 'Mot de passe',
'Password changed': 'Password changed',
"Password fields don't match": 'Les mots de passe ne correspondent pas', "Password fields don't match": 'Les mots de passe ne correspondent pas',
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'please input your password again': "S'il vous plaît entrer votre mot de passe", 'please input your password again': "S'il vous plaît entrer votre mot de passe à nouveau",
'Plugins': 'Plugiciels', 'Plugins': 'Plugiciels',
'Powered by': 'Alimenté par', 'Powered by': 'Alimenté par',
'Preface': 'Préface', 'Preface': 'Préface',
'previous %s rows': 'previous %s rows', 'previous %s rows': '%s lignes précédentes',
'previous 100 rows': '100 lignes précédentes', 'previous 100 rows': '100 lignes précédentes',
'profile': 'profile', 'profile': 'profil',
'pygraphviz library not found': 'pygraphviz library not found', 'Profile': 'Profile',
'Profile updated': 'Profile updated',
'pygraphviz library not found': 'Bibliothèque pygraphviz introuvable',
'Python': 'Python', 'Python': 'Python',
'Query:': 'Requête:', 'Query:': 'Requête:',
'Quick Examples': 'Examples Rapides', 'Quick Examples': 'Exemples Rapides',
'RAM': 'RAM', 'RAM': 'RAM',
'RAM Cache Keys': 'RAM Cache Keys', 'RAM Cache Keys': 'RAM Cache Keys',
'Ram Cleared': 'Ram Cleared', 'Ram Cleared': 'Ram vidée',
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Readme': 'Lisez-moi', 'Readme': 'Lisez-moi',
'Recipes': 'Recettes', 'Recipes': 'Recettes',
'Record': 'enregistrement', 'Record': 'enregistrement',
'Record %(id)s created': 'Record %(id)s created', 'Record %(id)s created': 'Enregistrement %(id)s créé',
'Record %(id)s updated': 'Record %(id)s updated', 'Record %(id)s deleted': 'Record %(id)s deleted',
'Record Created': 'Record Created', 'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Enregistrement %(id)s modifié',
'Record Created': 'Enregistrement créé',
'Record Deleted': 'Record Deleted',
'record does not exist': "l'archive n'existe pas", 'record does not exist': "l'archive n'existe pas",
'Record ID': "ID d'enregistrement", 'Record ID': "ID de l'enregistrement",
'Record id': "id d'enregistrement", 'Record id': "id de l'enregistrement",
'Record Updated': 'Record Updated', 'Record Updated': 'Enregistrement modifié',
'Register': "S'inscrire", 'Register': "S'inscrire",
'register': "s'inscrire", 'register': "s'inscrire",
'Registration identifier': "Identifiant d'inscription",
'Registration is pending approval': 'Registration is pending approval',
'Registration key': "Clé d'enregistrement", 'Registration key': "Clé d'enregistrement",
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Inscription réussie', 'Registration successful': 'Inscription réussie',
'Remember me (for 30 days)': 'Se souvenir de moi (pendant 30 jours)', 'Remember me (for 30 days)': 'Se souvenir de moi (pendant 30 jours)',
'Request reset password': 'Demande de réinitialiser le mot clé', 'Request reset password': 'Demande de réinitialiser le mot clé',
'Reset Password key': 'Réinitialiser le mot clé', 'Reset Password key': 'Réinitialiser le mot clé',
'Resources': 'Ressources', 'Resources': 'Ressources',
'Role': 'Rôle', 'Role': 'Rôle',
'Roles': 'Roles', 'Roles': 'Rôles',
'Rows in Table': 'Lignes du tableau', 'Rows in Table': 'Lignes du tableau',
'Rows selected': 'Lignes sélectionnées', 'Rows selected': 'Lignes sélectionnées',
'Save model as...': 'Save model as...', 'Save model as...': 'Enregistrer le modèle sous...',
'Semantic': 'Sémantique', 'Semantic': 'Sémantique',
'Services': 'Services', 'Services': 'Services',
'Sign Up': 'Sign Up', 'Sign Up': "S'inscrire",
'Size of cache:': 'Size of cache:', 'Sign up': 'Sign up',
'Size of cache:': 'Taille de la mémoire cache:',
'state': 'état', 'state': 'état',
'Statistics': 'Statistics', 'Statistics': 'Statistiques',
'Stylesheet': 'Feuille de style', 'Stylesheet': 'Feuille de style',
'submit': 'submit', 'submit': 'soumettre',
'Submit': 'Soumettre', 'Submit': 'Soumettre',
'Support': 'Soutien', 'Support': 'Soutien',
'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?', 'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
@@ -201,32 +262,55 @@
'The output of the file is a dictionary that was rendered by the view %s': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue %s', 'The output of the file is a dictionary that was rendered by the view %s': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue %s',
'The Views': 'Les Vues', 'The Views': 'Les Vues',
'This App': 'Cette Appli', 'This App': 'Cette Appli',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
'This email already has an account': 'This email already has an account',
'This is a copy of the scaffolding application': "Ceci est une copie de l'application échafaudage", 'This is a copy of the scaffolding application': "Ceci est une copie de l'application échafaudage",
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Temps en Cache (h:m:s)',
'Timestamp': 'Horodatage', 'Timestamp': 'Horodatage',
'Traceback': 'Traceback', 'Traceback': 'Traceback',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'unable to parse csv file': "incapable d'analyser le fichier cvs", 'unable to parse csv file': "incapable d'analyser le fichier cvs",
'Unable to send email': 'Unable to send email',
'Update:': 'Mise à jour:', 'Update:': 'Mise à jour:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Employez (...)&(...) pour AND, (...)|(...) pour OR, and ~(...) pour NOT pour construire des requêtes plus complexes.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Employez (...)&(...) pour AND, (...)|(...) pour OR, and ~(...) pour NOT afin de construire des requêtes plus complexes.',
'User': 'User', 'User': 'Utilisateur',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'Utilisateur %(id)s connecté', 'User %(id)s Logged-in': 'Utilisateur %(id)s connecté',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'Utilisateur %(id)s enregistré', 'User %(id)s Registered': 'Utilisateur %(id)s enregistré',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID utilisateur', 'User ID': 'ID utilisateur',
'User Voice': 'User Voice', 'User Voice': "Voix de l'utilisateur",
'Users': 'Users', 'Username': 'Username',
'value already in database or empty': 'valeur déjà dans la base ou vide', 'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Utilisateurs',
'value already in database or empty': 'valeur déjà dans la base ou inexistante',
'Verify Password': 'Vérifiez le mot de passe', 'Verify Password': 'Vérifiez le mot de passe',
'Videos': 'Vidéos', 'Videos': 'Vidéos',
'View': 'Présentation', 'View': 'Vue',
'Web2py': 'Web2py', 'Web2py': 'Web2py',
'Welcome': 'Bienvenu', 'Welcome': 'Bienvenue',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': 'Bienvenue %s', 'Welcome %s': 'Bienvenue %s',
'Welcome to web2py': 'Bienvenue à web2py', 'Welcome to web2py': 'Bienvenue à web2py',
'Welcome to web2py!': 'Welcome to web2py!', 'Welcome to web2py!': 'Bienvenue à web2py!',
'Which called the function %s located in the file %s': 'Qui a appelé la fonction %s se trouvant dans le fichier %s', 'Which called the function %s located in the file %s': 'Qui a appelé la fonction %s se trouvant dans le fichier %s',
'Working...': 'Working...', 'Wiki Example': 'Wiki Example',
'You are successfully running web2py': 'Vous roulez avec succès web2py', 'Working...': 'Traitement en cours...',
'You are successfully running web2py': 'Vous exécutez avec succès web2py',
'You can modify this application and adapt it to your needs': "Vous pouvez modifier cette application et l'adapter à vos besoins", 'You can modify this application and adapt it to your needs': "Vous pouvez modifier cette application et l'adapter à vos besoins",
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You visited the url %s': "Vous avez visité l'URL %s", 'You visited the url %s': "Vous avez visité l'URL %s",
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+120 -32
View File
@@ -13,7 +13,20 @@
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'A new password was emailed to you': 'A new password was emailed to you',
'about': 'à propos',
'About': 'À propos', 'About': 'À propos',
'Access Control': "Contrôle d'accès", 'Access Control': "Contrôle d'accès",
'admin': 'admin', 'admin': 'admin',
@@ -21,9 +34,12 @@
'Administrative interface': "Interface d'administration", 'Administrative interface': "Interface d'administration",
'Ajax Recipes': 'Recettes Ajax', 'Ajax Recipes': 'Recettes Ajax',
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', 'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'API Example': 'API Example',
'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé", 'appadmin is disabled because insecure channel': "appadmin est désactivée parce que le canal n'est pas sécurisé",
'Apply changes': 'Apply changes',
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?', 'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
'Authentication': 'Authentification', 'Authentication': 'Authentification',
'Authentication code': 'Authentication code',
'Available Databases and Tables': 'Bases de données et tables disponibles', 'Available Databases and Tables': 'Bases de données et tables disponibles',
'Buy this book': 'Acheter ce livre', 'Buy this book': 'Acheter ce livre',
"Buy web2py's book": "Buy web2py's book", "Buy web2py's book": "Buy web2py's book",
@@ -31,20 +47,23 @@
'Cache': 'Cache', 'Cache': 'Cache',
'Cache Cleared': 'Cache Cleared', 'Cache Cleared': 'Cache Cleared',
'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Cache Keys': 'Clés de cache', 'Cache Keys': 'Cache Keys',
'Cannot be empty': 'Ne peut pas être vide', 'Cannot be empty': 'Ne peut pas être vide',
'change password': 'changer le mot de passe', 'change password': 'changer le mot de passe',
'Change Password': 'Change Password',
'Change password': 'Change password',
'Check to delete': 'Cliquez pour supprimer', 'Check to delete': 'Cliquez pour supprimer',
'Check to delete:': 'Cliquez pour supprimer:', 'Check to delete:': 'Cliquez pour supprimer:',
'Clear CACHE?': 'Vider le CACHE?', 'Clear CACHE?': 'Vider le CACHE?',
'Clear DISK': 'Vider le DISQUE', 'Clear DISK': 'Vider le DISQUE',
'Clear RAM': 'Vider la RAM', 'Clear RAM': 'Vider la RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Client IP': 'IP client', 'Client IP': 'IP client',
'Community': 'Communauté', 'Community': 'Communauté',
'Components and Plugins': 'Composants et Plugins', 'Components and Plugins': 'Composants et Plugiciels',
'Config.ini': 'Config.ini', 'Config.ini': 'Config.ini',
'Controller': 'Contrôleur', 'Controller': 'Contrôleur',
'Copyright': 'Copyright', 'Copyright': "Droit d'auteur",
'Created By': 'Créé par', 'Created By': 'Créé par',
'Created On': 'Créé le', 'Created On': 'Créé le',
'Current request': 'Demande actuelle', 'Current request': 'Demande actuelle',
@@ -55,8 +74,8 @@
'Database': 'base de données', 'Database': 'base de données',
'Database %s select': 'base de données %s selectionnée', 'Database %s select': 'base de données %s selectionnée',
'Database Administration (appadmin)': 'Database Administration (appadmin)', 'Database Administration (appadmin)': 'Database Administration (appadmin)',
'db': 'bdd', 'db': 'db',
'DB Model': 'Modèle BDD', 'DB Model': 'Modèle BD',
'Delete:': 'Supprimer:', 'Delete:': 'Supprimer:',
'Demo': 'Démo', 'Demo': 'Démo',
'Deployment Recipes': 'Recettes de déploiement', 'Deployment Recipes': 'Recettes de déploiement',
@@ -71,12 +90,16 @@
"Don't know what to do?": 'Vous ne savez pas quoi faire?', "Don't know what to do?": 'Vous ne savez pas quoi faire?',
'done!': 'fait!', 'done!': 'fait!',
'Download': 'Téléchargement', 'Download': 'Téléchargement',
'E-mail': 'E-mail', 'E-mail': 'Courriel',
'Edit': 'Éditer', 'Edit': 'Éditer',
'Edit current record': "Modifier l'enregistrement courant", 'Edit current record': "Modifier l'enregistrement courant",
'edit profile': 'modifier le profil', 'edit profile': 'modifier le profil',
'Edit This App': 'Modifier cette application', 'Edit This App': 'Modifier cette application',
'Email and SMS': 'Email et SMS', 'Email and SMS': 'Courriel et texto',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Enter an integer between %(min)g and %(max)g': 'Enter an integer between %(min)g and %(max)g',
'enter an integer between %(min)g and %(max)g': 'entrez un entier entre %(min)g et %(max)g', 'enter an integer between %(min)g and %(max)g': 'entrez un entier entre %(min)g et %(max)g',
'Errors': 'Erreurs', 'Errors': 'Erreurs',
'export as csv file': 'exporter sous forme de fichier csv', 'export as csv file': 'exporter sous forme de fichier csv',
@@ -85,40 +108,61 @@
'Forms and Validators': 'Formulaires et Validateurs', 'Forms and Validators': 'Formulaires et Validateurs',
'Free Applications': 'Applications gratuites', 'Free Applications': 'Applications gratuites',
'Function disabled': 'Fonction désactivée', 'Function disabled': 'Fonction désactivée',
'Graph Model': 'Graph Model', 'Graph Model': 'Représentation graphique du modèle',
'Group ID': 'Groupe ID', 'Grid Example': 'Grid Example',
'Group %(group_id)s created': '%(group_id)s groupe créé',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'ID du groupe',
'Group uniquely assigned to user %(id)s': "Groupe unique attribué à l'utilisateur %(id)s",
'Groups': 'Groupes', 'Groups': 'Groupes',
'Hello World': 'Bonjour le monde', 'Hello World': 'Bonjour le monde',
'Helping web2py': 'En train daider web2py', 'Helping web2py': 'Aider web2py',
'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})', 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'Home': 'Accueil', 'Home': 'Accueil',
'How did you get here?': 'Comment êtes-vous arrivé ici?', 'How did you get here?': 'How did you get here?',
'import': 'Importer', 'import': 'importer',
'Import/Export': 'Importer/Exporter', 'Import/Export': 'Importer/Exporter',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Index': 'Index', 'Index': 'Index',
'insert new': 'insérer un nouveau', 'insert new': 'insérer un nouveau',
'insert new %s': 'insérer un nouveau %s', 'insert new %s': 'insérer un nouveau %s',
'Insufficient privileges': 'Insufficient privileges',
'Internal State': 'État interne', 'Internal State': 'État interne',
'Introduction': 'Introduction', 'Introduction': 'Présentation',
'Invalid email': 'E-mail invalide', 'Invalid email': 'Courriel invalide',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'Invalid password': 'Invalid password',
'Invalid Query': 'Requête Invalide', 'Invalid Query': 'Requête Invalide',
'invalid request': 'requête invalide', 'invalid request': 'requête invalide',
'Invalid reset password': 'Invalid reset password',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Is Active': 'Est actif', 'Is Active': 'Est actif',
'Key': 'Clé', 'Key': 'Clé',
'Key verified': 'Key verified',
'Last name': 'Nom', 'Last name': 'Nom',
'Layout': 'Mise en page', 'Layout': 'Mise en page',
'Layout Plugins': 'Plugins de mise en page', 'Layout Plugins': 'Plugins de mise en page',
'Layouts': 'Mises en page', 'Layouts': 'Mises en page',
'Live chat': 'Chat en direct', 'Live chat': 'Clavardage en direct',
'Live Chat': 'Chat en direct', 'Live Chat': 'Clavardage en direct',
'Log In': 'Log In', 'Loading...': 'Chargement...',
'login': 'connectez-vous', 'loading...': 'chargement...',
'Login': 'Connectez-vous', 'Log In': 'Connexion',
'logout': 'déconnectez-vous', 'Logged in': 'Connecté',
'Logged out': 'Logged out',
'login': 'connexion',
'Login': 'Connexion',
'Login disabled by administrator': 'Login disabled by administrator',
'logout': 'déconnexion',
'Logout': 'Logout',
'lost password': 'mot de passe perdu', 'lost password': 'mot de passe perdu',
'Lost Password': 'Mot de passe perdu', 'Lost Password': 'Mot de passe perdu',
'Lost password?': 'Mot de passe perdu?', 'Lost password?': 'Mot de passe perdu?',
'lost password?': 'mot de passe perdu?', 'lost password?': 'mot de passe perdu?',
'Lost your password?': 'Lost your password?',
'Main Menu': 'Menu principal', 'Main Menu': 'Menu principal',
'Manage %(action)s': 'Manage %(action)s', 'Manage %(action)s': 'Manage %(action)s',
'Manage Access Control': 'Manage Access Control', 'Manage Access Control': 'Manage Access Control',
@@ -129,66 +173,87 @@
'Modified On': 'Modifié le', 'Modified On': 'Modifié le',
'My Sites': 'Mes sites', 'My Sites': 'Mes sites',
'Name': 'Nom', 'Name': 'Nom',
'New password': 'New password',
'New Record': 'Nouvel enregistrement', 'New Record': 'Nouvel enregistrement',
'new record inserted': 'nouvel enregistrement inséré', 'new record inserted': 'nouvel enregistrement inséré',
'next %s rows': 'next %s rows', 'next %s rows': '%s prochaine lignes',
'next 100 rows': '100 prochaines lignes', 'next 100 rows': '100 prochaines lignes',
'No databases in this application': "Cette application n'a pas de bases de données", 'No databases in this application': "Cette application n'a pas de bases de données",
'Number of entries: **%s**': 'Number of entries: **%s**', 'Number of entries: **%s**': 'Number of entries: **%s**',
'Object or table name': 'Objet ou nom de table', 'Object or table name': 'Objet ou nom de table',
'Old password': 'Old password',
'Online book': 'Online book', 'Online book': 'Online book',
'Online examples': 'Exemples en ligne', 'Online examples': 'Exemples en ligne',
'or import from csv file': "ou importer d'un fichier CSV", 'or import from csv file': "ou importer d'un fichier CSV",
'Origin': 'Origine', 'Origin': 'Origine',
'Other Plugins': 'Autres Plugins', 'Other Plugins': 'Autres Plugiciels',
'Other Recipes': 'Autres recettes', 'Other Recipes': 'Autres recettes',
'Overview': 'Présentation', 'Overview': 'Présentation',
'password': 'mot de passe',
'Password': 'Mot de passe', 'Password': 'Mot de passe',
'Password changed': 'Password changed',
"Password fields don't match": 'Les mots de passe ne correspondent pas', "Password fields don't match": 'Les mots de passe ne correspondent pas',
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'Plugins': 'Plugins', 'please input your password again': "S'il vous plaît entrer votre mot de passe à nouveau",
'Plugins': 'Plugiciels',
'Powered by': 'Alimenté par', 'Powered by': 'Alimenté par',
'Preface': 'Préface', 'Preface': 'Préface',
'previous %s rows': 'previous %s rows', 'previous %s rows': '%s lignes précédentes',
'previous 100 rows': '100 lignes précédentes', 'previous 100 rows': '100 lignes précédentes',
'profile': 'profil',
'Profile': 'Profile',
'Profile updated': 'Profile updated',
'pygraphviz library not found': 'Bibliothèque pygraphviz introuvable', 'pygraphviz library not found': 'Bibliothèque pygraphviz introuvable',
'Python': 'Python', 'Python': 'Python',
'Query:': 'Requête:', 'Query:': 'Requête:',
'Quick Examples': 'Exemples Rapides', 'Quick Examples': 'Exemples Rapides',
'RAM': 'RAM', 'RAM': 'RAM',
'RAM Cache Keys': 'Clés de cache de la RAM', 'RAM Cache Keys': 'RAM Cache Keys',
'Ram Cleared': 'Ram vidée', 'Ram Cleared': 'Ram vidée',
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Readme': 'Lisez-moi', 'Readme': 'Lisez-moi',
'Recipes': 'Recettes', 'Recipes': 'Recettes',
'Record': 'enregistrement', 'Record': 'enregistrement',
'Record %(id)s created': 'Enregistrement %(id)s créé',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Enregistrement %(id)s modifié',
'Record Created': 'Enregistrement créé',
'Record Deleted': 'Record Deleted',
'record does not exist': "l'archive n'existe pas", 'record does not exist': "l'archive n'existe pas",
'Record ID': "ID d'enregistrement", 'Record ID': "ID de l'enregistrement",
'Record id': "id d'enregistrement", 'Record id': "id de l'enregistrement",
'Record Updated': 'Enregistrement modifié',
'Register': "S'inscrire", 'Register': "S'inscrire",
'register': "s'inscrire", 'register': "s'inscrire",
'Registration identifier': "Identifiant d'enregistrement", 'Registration identifier': "Identifiant d'inscription",
'Registration is pending approval': 'Registration is pending approval',
'Registration key': "Clé d'enregistrement", 'Registration key': "Clé d'enregistrement",
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Inscription réussie',
'Remember me (for 30 days)': 'Se souvenir de moi (pendant 30 jours)', 'Remember me (for 30 days)': 'Se souvenir de moi (pendant 30 jours)',
'Request reset password': 'Demande de réinitialiser le mot clé', 'Request reset password': 'Demande de réinitialiser le mot clé',
'Reset Password key': 'Réinitialiser le mot clé', 'Reset Password key': 'Réinitialiser le mot clé',
'Resources': 'Ressources', 'Resources': 'Ressources',
'Role': 'Rôle', 'Role': 'Rôle',
'Roles': 'Roles', 'Roles': 'Rôles',
'Rows in Table': 'Lignes du tableau', 'Rows in Table': 'Lignes du tableau',
'Rows selected': 'Lignes sélectionnées', 'Rows selected': 'Lignes sélectionnées',
'Save model as...': 'Enregistrer le modèle sous...', 'Save model as...': 'Enregistrer le modèle sous...',
'Semantic': 'Sémantique', 'Semantic': 'Sémantique',
'Services': 'Services', 'Services': 'Services',
'Sign Up': 'Sign Up', 'Sign Up': "S'inscrire",
'Size of cache:': 'Taille du cache:', 'Sign up': 'Sign up',
'Size of cache:': 'Taille de la mémoire cache:',
'state': 'état', 'state': 'état',
'Statistics': 'Statistiques', 'Statistics': 'Statistiques',
'Stylesheet': 'Feuille de style', 'Stylesheet': 'Feuille de style',
'submit': 'soumettre', 'submit': 'soumettre',
'Submit': 'Soumettre', 'Submit': 'Soumettre',
'Support': 'Support', 'Support': 'Soutien',
'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?', 'Sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
'Table': 'tableau', 'Table': 'tableau',
'Table name': 'Nom du tableau', 'Table name': 'Nom du tableau',
@@ -197,31 +262,54 @@
'The output of the file is a dictionary that was rendered by the view %s': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue %s', 'The output of the file is a dictionary that was rendered by the view %s': 'La sortie de ce fichier est un dictionnaire qui été restitué par la vue %s',
'The Views': 'Les Vues', 'The Views': 'Les Vues',
'This App': 'Cette Appli', 'This App': 'Cette Appli',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
'This email already has an account': 'This email already has an account',
'This is a copy of the scaffolding application': "Ceci est une copie de l'application échafaudage", 'This is a copy of the scaffolding application': "Ceci est une copie de l'application échafaudage",
'Time in Cache (h:m:s)': 'Temps en Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Temps en Cache (h:m:s)',
'Timestamp': 'Horodatage', 'Timestamp': 'Horodatage',
'Traceback': 'Traceback', 'Traceback': 'Traceback',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'unable to parse csv file': "incapable d'analyser le fichier cvs", 'unable to parse csv file': "incapable d'analyser le fichier cvs",
'Unable to send email': 'Unable to send email',
'Update:': 'Mise à jour:', 'Update:': 'Mise à jour:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Employez (...)&(...) pour AND, (...)|(...) pour OR, and ~(...) pour NOT afin de construire des requêtes plus complexes.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Employez (...)&(...) pour AND, (...)|(...) pour OR, and ~(...) pour NOT afin de construire des requêtes plus complexes.',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'Utilisateur %(id)s connecté', 'User %(id)s Logged-in': 'Utilisateur %(id)s connecté',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'Utilisateur %(id)s enregistré', 'User %(id)s Registered': 'Utilisateur %(id)s enregistré',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'ID utilisateur', 'User ID': 'ID utilisateur',
'User Voice': "Voix de l'utilisateur", 'User Voice': "Voix de l'utilisateur",
'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Verify Password': 'Vérifiez le mot de passe', 'Verify Password': 'Vérifiez le mot de passe',
'Videos': 'Vidéos', 'Videos': 'Vidéos',
'View': 'Présentation', 'View': 'Présentation',
'Web2py': 'Web2py', 'Web2py': 'Web2py',
'Welcome': 'Bienvenue', 'Welcome': 'Bienvenue',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': 'Bienvenue %s', 'Welcome %s': 'Bienvenue %s',
'Welcome to web2py': 'Bienvenue à web2py', 'Welcome to web2py': 'Bienvenue à web2py',
'Welcome to web2py!': 'Bienvenue à web2py!', 'Welcome to web2py!': 'Bienvenue à web2py!',
'Which called the function %s located in the file %s': 'Qui a appelé la fonction %s se trouvant dans le fichier %s', 'Which called the function %s located in the file %s': 'Qui a appelé la fonction %s se trouvant dans le fichier %s',
'Wiki Example': 'Wiki Example',
'Working...': 'Working...', 'Working...': 'Working...',
'You are successfully running web2py': 'Vous exécutez avec succès web2py', 'You are successfully running web2py': 'Vous exécutez avec succès web2py',
'You can modify this application and adapt it to your needs': "Vous pouvez modifier cette application et l'adapter à vos besoins", 'You can modify this application and adapt it to your needs': "Vous pouvez modifier cette application et l'adapter à vos besoins",
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You visited the url %s': "Vous avez visité l'URL %s", 'You visited the url %s': "Vous avez visité l'URL %s",
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }
+105
View File
@@ -13,7 +13,19 @@
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}', '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'?': '?', '?': '?',
'@markmin\x01(**%.0d MB**)': '(**%.0d MB**)',
'@markmin\x01**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
'@markmin\x01**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '**not available** (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)': '``**not available**``:red (requires the Python [[Pympler https://pypi.python.org/pypi/Pympler popup]] library)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'@markmin\x01Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})': 'Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})',
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
'@markmin\x01RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)', '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
'A new password was emailed to you': 'A new password was emailed to you',
'About': 'About', 'About': 'About',
'Access Control': 'Access Control', 'Access Control': 'Access Control',
'admin': 'admin', 'admin': 'admin',
@@ -21,8 +33,11 @@
'Administrative interface': 'प्रशासनिक इंटरफेस के लिए यहाँ क्लिक करें', 'Administrative interface': 'प्रशासनिक इंटरफेस के लिए यहाँ क्लिक करें',
'Ajax Recipes': 'Ajax Recipes', 'Ajax Recipes': 'Ajax Recipes',
'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page', 'An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'API Example': 'API Example',
'appadmin is disabled because insecure channel': 'अप आडमिन (appadmin) अक्षम है क्योंकि असुरक्षित चैनल', 'appadmin is disabled because insecure channel': 'अप आडमिन (appadmin) अक्षम है क्योंकि असुरक्षित चैनल',
'Apply changes': 'Apply changes',
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?', 'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
'Authentication code': 'Authentication code',
'Available Databases and Tables': 'उपलब्ध डेटाबेस और तालिका', 'Available Databases and Tables': 'उपलब्ध डेटाबेस और तालिका',
'Buy this book': 'Buy this book', 'Buy this book': 'Buy this book',
"Buy web2py's book": "Buy web2py's book", "Buy web2py's book": "Buy web2py's book",
@@ -34,10 +49,13 @@
'Cannot be empty': 'खाली नहीं हो सकता', 'Cannot be empty': 'खाली नहीं हो सकता',
'Change Password': 'पासवर्ड बदलें', 'Change Password': 'पासवर्ड बदलें',
'change password': 'change password', 'change password': 'change password',
'Change password': 'Change password',
'Check to delete': 'हटाने के लिए चुनें', 'Check to delete': 'हटाने के लिए चुनें',
'Clear CACHE?': 'Clear CACHE?', 'Clear CACHE?': 'Clear CACHE?',
'Clear DISK': 'Clear DISK', 'Clear DISK': 'Clear DISK',
'Clear RAM': 'Clear RAM', 'Clear RAM': 'Clear RAM',
'Click on the link %(link)s to reset your password': 'Click on the link %(link)s to reset your password',
'Client IP': 'Client IP',
'Community': 'Community', 'Community': 'Community',
'Components and Plugins': 'Components and Plugins', 'Components and Plugins': 'Components and Plugins',
'Config.ini': 'Config.ini', 'Config.ini': 'Config.ini',
@@ -56,6 +74,7 @@
'Delete:': 'मिटाना:', 'Delete:': 'मिटाना:',
'Demo': 'Demo', 'Demo': 'Demo',
'Deployment Recipes': 'Deployment Recipes', 'Deployment Recipes': 'Deployment Recipes',
'Description': 'Description',
'design': 'रचना करें', 'design': 'रचना करें',
'Design': 'Design', 'Design': 'Design',
'DISK': 'DISK', 'DISK': 'DISK',
@@ -66,18 +85,29 @@
"Don't know what to do?": "Don't know what to do?", "Don't know what to do?": "Don't know what to do?",
'done!': 'हो गया!', 'done!': 'हो गया!',
'Download': 'Download', 'Download': 'Download',
'E-mail': 'E-mail',
'Edit': 'Edit', 'Edit': 'Edit',
'Edit current record': 'वर्तमान रेकॉर्ड संपादित करें ', 'Edit current record': 'वर्तमान रेकॉर्ड संपादित करें ',
'edit profile': 'edit profile', 'edit profile': 'edit profile',
'Edit Profile': 'प्रोफ़ाइल संपादित करें', 'Edit Profile': 'प्रोफ़ाइल संपादित करें',
'Edit This App': 'Edit This App', 'Edit This App': 'Edit This App',
'Email and SMS': 'Email and SMS', 'Email and SMS': 'Email and SMS',
'Email sent': 'Email sent',
'Email verification': 'Email verification',
'Email verified': 'Email verified',
'Errors': 'Errors', 'Errors': 'Errors',
'export as csv file': 'csv फ़ाइल के रूप में निर्यात', 'export as csv file': 'csv फ़ाइल के रूप में निर्यात',
'FAQ': 'FAQ', 'FAQ': 'FAQ',
'First name': 'First name',
'Forms and Validators': 'Forms and Validators', 'Forms and Validators': 'Forms and Validators',
'Free Applications': 'Free Applications', 'Free Applications': 'Free Applications',
'Function disabled': 'Function disabled',
'Graph Model': 'Graph Model', 'Graph Model': 'Graph Model',
'Grid Example': 'Grid Example',
'Group %(group_id)s created': 'Group %(group_id)s created',
'Group %(group_id)s deleted': 'Group %(group_id)s deleted',
'Group ID': 'Group ID',
'Group uniquely assigned to user %(id)s': 'Group uniquely assigned to user %(id)s',
'Groups': 'Groups', 'Groups': 'Groups',
'Hello from MyApp': 'Hello from MyApp', 'Hello from MyApp': 'Hello from MyApp',
'Hello World': 'Hello World', 'Hello World': 'Hello World',
@@ -87,24 +117,40 @@
'How did you get here?': 'How did you get here?', 'How did you get here?': 'How did you get here?',
'import': 'import', 'import': 'import',
'Import/Export': 'आयात / निर्यात', 'Import/Export': 'आयात / निर्यात',
'Incorrect code. {0} more attempt(s) remaining.': 'Incorrect code. {0} more attempt(s) remaining.',
'Index': 'Index', 'Index': 'Index',
'insert new': 'नया डालें', 'insert new': 'नया डालें',
'insert new %s': 'नया %s डालें', 'insert new %s': 'नया %s डालें',
'Insufficient privileges': 'Insufficient privileges',
'Internal State': 'आंतरिक स्थिति', 'Internal State': 'आंतरिक स्थिति',
'Introduction': 'Introduction', 'Introduction': 'Introduction',
'Invalid email': 'Invalid email',
'Invalid key': 'Invalid key',
'Invalid login': 'Invalid login',
'Invalid password': 'Invalid password',
'Invalid Query': 'अमान्य प्रश्न', 'Invalid Query': 'अमान्य प्रश्न',
'invalid request': 'अवैध अनुरोध', 'invalid request': 'अवैध अनुरोध',
'Invalid reset password': 'Invalid reset password',
'Invalid user': 'Invalid user',
'Invalid username': 'Invalid username',
'Invitation to join %(site)s': 'Invitation to join %(site)s',
'Key': 'Key', 'Key': 'Key',
'Key verified': 'Key verified',
'Last name': 'Last name',
'Layout': 'Layout', 'Layout': 'Layout',
'Layout Plugins': 'Layout Plugins', 'Layout Plugins': 'Layout Plugins',
'Layouts': 'Layouts', 'Layouts': 'Layouts',
'Live Chat': 'Live Chat', 'Live Chat': 'Live Chat',
'Log In': 'Log In', 'Log In': 'Log In',
'Logged in': 'Logged in',
'Logged out': 'Logged out',
'login': 'login', 'login': 'login',
'Login': 'लॉग इन', 'Login': 'लॉग इन',
'Login disabled by administrator': 'Login disabled by administrator',
'logout': 'logout', 'logout': 'logout',
'Logout': 'लॉग आउट', 'Logout': 'लॉग आउट',
'Lost Password': 'पासवर्ड खो गया', 'Lost Password': 'पासवर्ड खो गया',
'Lost your password?': 'Lost your password?',
'Main Menu': 'Main Menu', 'Main Menu': 'Main Menu',
'Manage %(action)s': 'Manage %(action)s', 'Manage %(action)s': 'Manage %(action)s',
'Manage Access Control': 'Manage Access Control', 'Manage Access Control': 'Manage Access Control',
@@ -112,25 +158,38 @@
'Memberships': 'Memberships', 'Memberships': 'Memberships',
'Menu Model': 'Menu Model', 'Menu Model': 'Menu Model',
'My Sites': 'My Sites', 'My Sites': 'My Sites',
'Name': 'Name',
'New password': 'New password',
'New Record': 'नया रेकॉर्ड', 'New Record': 'नया रेकॉर्ड',
'new record inserted': 'नया रेकॉर्ड डाला', 'new record inserted': 'नया रेकॉर्ड डाला',
'next %s rows': 'next %s rows', 'next %s rows': 'next %s rows',
'next 100 rows': 'अगले 100 पंक्तियाँ', 'next 100 rows': 'अगले 100 पंक्तियाँ',
'No databases in this application': 'इस अनुप्रयोग में कोई डेटाबेस नहीं हैं', 'No databases in this application': 'इस अनुप्रयोग में कोई डेटाबेस नहीं हैं',
'Number of entries: **%s**': 'Number of entries: **%s**', 'Number of entries: **%s**': 'Number of entries: **%s**',
'Object or table name': 'Object or table name',
'Old password': 'Old password',
'Online book': 'Online book', 'Online book': 'Online book',
'Online examples': 'ऑनलाइन उदाहरण के लिए यहाँ क्लिक करें', 'Online examples': 'ऑनलाइन उदाहरण के लिए यहाँ क्लिक करें',
'or import from csv file': 'या csv फ़ाइल से आयात', 'or import from csv file': 'या csv फ़ाइल से आयात',
'Origin': 'Origin',
'Other Plugins': 'Other Plugins', 'Other Plugins': 'Other Plugins',
'Other Recipes': 'Other Recipes', 'Other Recipes': 'Other Recipes',
'Overview': 'Overview', 'Overview': 'Overview',
'Password': 'Password',
'Password changed': 'Password changed',
"Password fields don't match": "Password fields don't match",
'Password reset': 'Password reset',
'Password retrieve': 'Password retrieve',
'Permission': 'Permission', 'Permission': 'Permission',
'Permissions': 'Permissions', 'Permissions': 'Permissions',
'please input your password again': 'please input your password again',
'Plugins': 'Plugins', 'Plugins': 'Plugins',
'Powered by': 'Powered by', 'Powered by': 'Powered by',
'Preface': 'Preface', 'Preface': 'Preface',
'previous %s rows': 'previous %s rows', 'previous %s rows': 'previous %s rows',
'previous 100 rows': 'पिछले 100 पंक्तियाँ', 'previous 100 rows': 'पिछले 100 पंक्तियाँ',
'Profile': 'Profile',
'Profile updated': 'Profile updated',
'pygraphviz library not found': 'pygraphviz library not found', 'pygraphviz library not found': 'pygraphviz library not found',
'Python': 'Python', 'Python': 'Python',
'Query:': 'प्रश्न:', 'Query:': 'प्रश्न:',
@@ -141,10 +200,26 @@
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.', 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
'Recipes': 'Recipes', 'Recipes': 'Recipes',
'Record': 'Record', 'Record': 'Record',
'Record %(id)s created': 'Record %(id)s created',
'Record %(id)s deleted': 'Record %(id)s deleted',
'Record %(id)s read': 'Record %(id)s read',
'Record %(id)s updated': 'Record %(id)s updated',
'Record Created': 'Record Created',
'Record Deleted': 'Record Deleted',
'record does not exist': 'रिकॉर्ड मौजूद नहीं है', 'record does not exist': 'रिकॉर्ड मौजूद नहीं है',
'Record id': 'रिकॉर्ड पहचानकर्ता (आईडी)', 'Record id': 'रिकॉर्ड पहचानकर्ता (आईडी)',
'Record ID': 'Record ID',
'Record Updated': 'Record Updated',
'Register': 'पंजीकृत (रजिस्टर) करना ', 'Register': 'पंजीकृत (रजिस्टर) करना ',
'register': 'register', 'register': 'register',
'Registration identifier': 'Registration identifier',
'Registration is pending approval': 'Registration is pending approval',
'Registration key': 'Registration key',
'Registration needs verification': 'Registration needs verification',
'Registration successful': 'Registration successful',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Request reset password': 'Request reset password',
'Reset Password key': 'Reset Password key',
'Role': 'Role', 'Role': 'Role',
'Roles': 'Roles', 'Roles': 'Roles',
'Rows in Table': 'तालिका में पंक्तियाँ ', 'Rows in Table': 'तालिका में पंक्तियाँ ',
@@ -153,11 +228,13 @@
'Semantic': 'Semantic', 'Semantic': 'Semantic',
'Services': 'Services', 'Services': 'Services',
'Sign Up': 'Sign Up', 'Sign Up': 'Sign Up',
'Sign up': 'Sign up',
'Size of cache:': 'Size of cache:', 'Size of cache:': 'Size of cache:',
'state': 'स्थिति', 'state': 'स्थिति',
'Statistics': 'Statistics', 'Statistics': 'Statistics',
'Stylesheet': 'Stylesheet', 'Stylesheet': 'Stylesheet',
'submit': 'submit', 'submit': 'submit',
'Submit': 'Submit',
'Support': 'Support', 'Support': 'Support',
'Sure you want to delete this object?': 'सुनिश्चित हैं कि आप इस वस्तु को हटाना चाहते हैं?', 'Sure you want to delete this object?': 'सुनिश्चित हैं कि आप इस वस्तु को हटाना चाहते हैं?',
'Table': 'तालिका', 'Table': 'तालिका',
@@ -166,22 +243,50 @@
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s', 'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
'The Views': 'The Views', 'The Views': 'The Views',
'This App': 'This App', 'This App': 'This App',
'This code was emailed to you and is required for login.': 'This code was emailed to you and is required for login.',
'This email already has an account': 'This email already has an account',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)', 'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'Traceback': 'Traceback', 'Traceback': 'Traceback',
'Twitter': 'Twitter', 'Twitter': 'Twitter',
'Two-step Login Authentication Code': 'Two-step Login Authentication Code',
'unable to parse csv file': 'csv फ़ाइल पार्स करने में असमर्थ', 'unable to parse csv file': 'csv फ़ाइल पार्स करने में असमर्थ',
'Unable to send email': 'Unable to send email',
'Update:': 'अद्यतन करना:', 'Update:': 'अद्यतन करना:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.', 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'User': 'User', 'User': 'User',
'User %(id)s is impersonating %(other_id)s': 'User %(id)s is impersonating %(other_id)s',
'User %(id)s Logged-in': 'User %(id)s Logged-in',
'User %(id)s Logged-out': 'User %(id)s Logged-out',
'User %(id)s Password changed': 'User %(id)s Password changed',
'User %(id)s Password reset': 'User %(id)s Password reset',
'User %(id)s Password retrieved': 'User %(id)s Password retrieved',
'User %(id)s Profile updated': 'User %(id)s Profile updated',
'User %(id)s Registered': 'User %(id)s Registered',
'User %(id)s Username retrieved': 'User %(id)s Username retrieved',
'User %(id)s Verification email sent': 'User %(id)s Verification email sent',
'User %(id)s verified registration key': 'User %(id)s verified registration key',
'User ID': 'User ID',
'Username': 'Username',
'Username already taken': 'Username already taken',
'Username retrieve': 'Username retrieve',
'Users': 'Users', 'Users': 'Users',
'Verify Password': 'Verify Password',
'Videos': 'Videos', 'Videos': 'Videos',
'View': 'View', 'View': 'View',
'Welcome %(username)s! Click on the link %(link)s to verify your email': 'Welcome %(username)s! Click on the link %(link)s to verify your email',
'Welcome %s': 'Welcome %s', 'Welcome %s': 'Welcome %s',
'Welcome to web2py': 'वेब२पाइ (web2py) में आपका स्वागत है', 'Welcome to web2py': 'वेब२पाइ (web2py) में आपका स्वागत है',
'Welcome to web2py!': 'Welcome to web2py!', 'Welcome to web2py!': 'Welcome to web2py!',
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s', 'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
'Wiki Example': 'Wiki Example',
'Working...': 'Working...', 'Working...': 'Working...',
'You are successfully running web2py': 'You are successfully running web2py', 'You are successfully running web2py': 'You are successfully running web2py',
'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs', 'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs',
'You have been invited to join %(site)s, click %(link)s to complete the process': 'You have been invited to join %(site)s, click %(link)s to complete the process',
'You visited the url %s': 'You visited the url %s', 'You visited the url %s': 'You visited the url %s',
'Your password is: %(password)s': 'Your password is: %(password)s',
'Your temporary login code is {0}': 'Your temporary login code is {0}',
'Your username is: %(username)s': 'Your username is: %(username)s',
'Your username was emailed to you': 'Your username was emailed to you',
} }

Some files were not shown because too many files have changed in this diff Show More