From 6342799cb54a7b8368432fbb6f9776016df5519d Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Tue, 27 Nov 2018 10:25:06 +0100 Subject: [PATCH 01/28] Update version number for 2.7.5b --- ckan/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/__init__.py b/ckan/__init__.py index c9835940843..04889ca32fe 100644 --- a/ckan/__init__.py +++ b/ckan/__init__.py @@ -1,6 +1,6 @@ # encoding: utf-8 -__version__ = '2.7.4' +__version__ = '2.7.5b' __description__ = 'CKAN Software' __long_description__ = \ From b2bcd877e275f110c93033ca78d229444450d045 Mon Sep 17 00:00:00 2001 From: Sergey Motornyuk Date: Wed, 21 Nov 2018 18:06:58 +0200 Subject: [PATCH 02/28] group_patch does not reset packages --- ckan/logic/action/update.py | 8 +++++-- ckan/tests/logic/action/test_patch.py | 31 +++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/ckan/logic/action/update.py b/ckan/logic/action/update.py index e11d41ec76c..023edae582e 100644 --- a/ckan/logic/action/update.py +++ b/ckan/logic/action/update.py @@ -522,8 +522,12 @@ def _group_or_org_update(context, data_dict, is_org=False): else: rev.message = _(u'REST API: Update object %s') % data.get("name") - group = model_save.group_dict_save(data, context, - prevent_packages_update=is_org) + contains_packages = 'packages' in data_dict + + group = model_save.group_dict_save( + data, context, + prevent_packages_update=is_org or not contains_packages + ) if is_org: plugin_type = plugins.IOrganizationController diff --git a/ckan/tests/logic/action/test_patch.py b/ckan/tests/logic/action/test_patch.py index 4de8a8765c5..0ab5ce6ca80 100644 --- a/ckan/tests/logic/action/test_patch.py +++ b/ckan/tests/logic/action/test_patch.py @@ -75,6 +75,37 @@ def test_group_patch_updating_single_field(self): assert_equals(group2['name'], 'economy') assert_equals(group2['description'], 'somethingnew') + def test_group_patch_preserve_datasets(self): + user = factories.User() + group = factories.Group( + name='economy', + description='some test now', + user=user) + factories.Dataset(groups=[{'name': group['name']}]) + + group2 = helpers.call_action('group_show', id=group['id']) + assert_equals(1, group2['package_count']) + + group = helpers.call_action( + 'group_patch', + id=group['id'], + context={'user': user['name']}) + + group3 = helpers.call_action('group_show', id=group['id']) + assert_equals(1, group3['package_count']) + + group = helpers.call_action( + 'group_patch', + id=group['id'], + packages=[], + context={'user': user['name']}) + + group4 = helpers.call_action( + 'group_show', id=group['id'], include_datasets=True + ) + assert_equals(0, group4['package_count']) + + def test_organization_patch_updating_single_field(self): user = factories.User() organization = factories.Organization( From be945f1d9ce349b56569f4ba41c97fac71c198ef Mon Sep 17 00:00:00 2001 From: Sergey Motornyuk Date: Wed, 21 Nov 2018 20:11:39 +0200 Subject: [PATCH 03/28] update activity tests --- .../legacy/functional/api/test_activity.py | 55 +++++++++++++------ 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/ckan/tests/legacy/functional/api/test_activity.py b/ckan/tests/legacy/functional/api/test_activity.py index e7a233b4724..2e62eef538e 100644 --- a/ckan/tests/legacy/functional/api/test_activity.py +++ b/ckan/tests/legacy/functional/api/test_activity.py @@ -236,9 +236,12 @@ def group_activity_stream(self, group_id, apikey=None): extra_environ = {'Authorization': str(apikey)} else: extra_environ = None - response = self.app.get("/api/2/rest/group/%s/activity" % group_id, - extra_environ=extra_environ) - return json.loads(response.body) + params = {'id': group_id, 'limit': 100} + response = self.app.get("/api/action/group_activity_list", + params=params, extra_environ=extra_environ) + assert response.json['success'] is True + activities = response.json['result'] + return activities def recently_changed_datasets_stream(self, apikey=None): if apikey: @@ -983,7 +986,10 @@ def _update_package(self, package, user): user_id = 'not logged in' apikey = None - before = self.record_details(user_id, package['id'], apikey=apikey) + group_ids = [group['name'] for group in package['groups']] + before = self.record_details( + user_id, package['id'], apikey=apikey, group_ids=group_ids + ) # Update the package. if package['title'] != 'edited': @@ -993,7 +999,9 @@ def _update_package(self, package, user): package['title'] = 'edited again' package_update(self.app, package, user['apikey']) - after = self.record_details(user_id, package['id'], apikey=apikey) + after = self.record_details( + user_id, package['id'], apikey=apikey, group_ids=group_ids + ) # Find the new activity in the user's activity stream. user_new_activities = (find_new_activities( @@ -1134,9 +1142,11 @@ def _delete_package(self, package): item and detail are emitted. """ - before = self.record_details(self.sysadmin_user['id'], package['id'], - apikey=self.sysadmin_user['apikey']) - + group_ids = [group['name'] for group in package['groups']] + before = self.record_details( + self.sysadmin_user['id'], package['id'], + apikey=self.sysadmin_user['apikey'], group_ids=group_ids + ) # Delete the package. package_dict = {'id': package['id']} response = self.app.post('/api/action/package_delete', @@ -1145,8 +1155,10 @@ def _delete_package(self, package): response_dict = json.loads(response.body) assert response_dict['success'] is True - after = self.record_details(self.sysadmin_user['id'], package['id'], - apikey=self.sysadmin_user['apikey']) + after = self.record_details( + self.sysadmin_user['id'], package['id'], + apikey=self.sysadmin_user['apikey'], group_ids=group_ids + ) # Find the new activity in the user's activity stream. user_new_activities = (find_new_activities( @@ -1169,13 +1181,14 @@ def _delete_package(self, package): after['recently changed datasets stream']) \ == user_new_activities - # If the package has any groups, the same new activity should appear - # in the activity stream of each group. + # If the package has any groups, there should be no new activities + # because package has been deleted == removed from group lifecycle + for group_dict in package['groups']: grp_new_activities = find_new_activities( before['group activity streams'][group_dict['name']], after['group activity streams'][group_dict['name']]) - assert grp_new_activities == [activity] + assert grp_new_activities == [] # Check that the new activity has the right attributes. assert activity['object_id'] == package['id'], ( @@ -1524,15 +1537,21 @@ def test_add_tag(self): pkg_dict = package_show(self.app, {'id': pkg_name}) # Add one new tag to the package. - before = self.record_details(user['id'], pkg_dict['id'], - apikey=user['apikey']) + group_ids = [group['name'] for group in pkg_dict['groups']] + + before = self.record_details( + user['id'], pkg_dict['id'], + apikey=user['apikey'], group_ids=group_ids + ) new_tag_name = 'test tag' assert new_tag_name not in [tag['name'] for tag in pkg_dict['tags']] pkg_dict['tags'].append({'name': new_tag_name}) - package_update(self.app, pkg_dict, user['apikey']) - after = self.record_details(user['id'], pkg_dict['id'], - apikey=user['apikey']) + package_update(self.app, pkg_dict, user) + after = self.record_details( + user['id'], pkg_dict['id'], + apikey=user['apikey'], group_ids=group_ids + ) # Find the new activity in the user's activity stream. user_new_activities = (find_new_activities( From 36be9f9969160e00c8150f0a935ccabd8d4df3cf Mon Sep 17 00:00:00 2001 From: Sergey Motornyuk Date: Wed, 21 Nov 2018 20:13:39 +0200 Subject: [PATCH 04/28] pep8 fix --- ckan/tests/logic/action/test_patch.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ckan/tests/logic/action/test_patch.py b/ckan/tests/logic/action/test_patch.py index 0ab5ce6ca80..4f597988171 100644 --- a/ckan/tests/logic/action/test_patch.py +++ b/ckan/tests/logic/action/test_patch.py @@ -105,7 +105,6 @@ def test_group_patch_preserve_datasets(self): ) assert_equals(0, group4['package_count']) - def test_organization_patch_updating_single_field(self): user = factories.User() organization = factories.Organization( From 7eaaa1ddb44ff11a653a1185fce68b2c185f62d2 Mon Sep 17 00:00:00 2001 From: Alice Butcher Date: Thu, 11 Oct 2018 18:04:35 +0100 Subject: [PATCH 05/28] Allow plugins to define multiple blueprints If `IBlueprint.get_blueprint()` returns a list, register the `Blueprint` objects in a loop. Backwards compatible; will still work if the method only returns a single `Blueprint`. --- ckan/config/middleware/flask_app.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ckan/config/middleware/flask_app.py b/ckan/config/middleware/flask_app.py index aef77a55f96..d66a4470977 100644 --- a/ckan/config/middleware/flask_app.py +++ b/ckan/config/middleware/flask_app.py @@ -133,7 +133,11 @@ def hello_world_post(): # Set up each IBlueprint extension as a Flask Blueprint for plugin in PluginImplementations(IBlueprint): if hasattr(plugin, 'get_blueprint'): - app.register_extension_blueprint(plugin.get_blueprint()) + plugin_blueprints = plugin.get_blueprint() + if not isinstance(plugin_blueprints, list): + plugin_blueprints = [plugin_blueprints] + for blueprint in plugin_blueprints: + app.register_extension_blueprint(blueprint) # Start other middleware From 7b7e5df200011e905e48b78feec82fda0e45a082 Mon Sep 17 00:00:00 2001 From: David Read Date: Fri, 24 Aug 2018 11:39:49 +0100 Subject: [PATCH 06/28] Flask patch update --- requirements.in | 5 +++++ requirements.txt | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index 9acc369a4fa..614d4e32964 100644 --- a/requirements.in +++ b/requirements.in @@ -5,7 +5,12 @@ Beaker==1.8.1 # Needs to be pinned to a more up to date version than the Pylons bleach==1.5.0 click==6.7 fanstatic==0.12 +<<<<<<< HEAD Flask==0.11.1 +======= +Flask==0.12.4 +Flask-Babel==0.11.2 +>>>>>>> 5787c7b1a... Flask patch update Jinja2==2.8 Markdown==2.6.7 ofs==0.4.2 diff --git a/requirements.txt b/requirements.txt index 8851fa81c4e..d8ce77deaea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,8 +11,9 @@ bleach==1.5.0 click==6.7 decorator==4.0.6 # via pylons, sqlalchemy-migrate fanstatic==0.12 -Flask==0.11.1 -FormEncode==1.3.0 # via pylons +Flask-Babel==0.11.2 +Flask==0.12.4 # via flask-babel +FormEncode==1.3.1 # via pylons funcsigs==1.0.2 # via beaker html5lib==0.9999999 # via bleach itsdangerous==0.24 # via flask From 3ae462e3b802a2250e27f84ffed0187c25c7a498 Mon Sep 17 00:00:00 2001 From: Ori Hoch Date: Thu, 23 Aug 2018 22:18:45 +0300 Subject: [PATCH 07/28] autocomplete.js: fix handling of comma key codes --- .../base/javascript/modules/autocomplete.js | 2 +- .../base/test/spec/modules/autocomplete.spec.js | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ckan/public/base/javascript/modules/autocomplete.js b/ckan/public/base/javascript/modules/autocomplete.js index 8a8f5e9d69c..769f06e61a8 100644 --- a/ckan/public/base/javascript/modules/autocomplete.js +++ b/ckan/public/base/javascript/modules/autocomplete.js @@ -263,7 +263,7 @@ this.ckan.module('autocomplete', function (jQuery) { * Returns nothing. */ _onKeydown: function (event) { - if (event.which === 188) { + if (typeof event.key !== 'undefined' ? event.key === ',' : event.which === 188) { event.preventDefault(); setTimeout(function () { var e = jQuery.Event("keydown", { which: 13 }); diff --git a/ckan/public/base/test/spec/modules/autocomplete.spec.js b/ckan/public/base/test/spec/modules/autocomplete.spec.js index 93a8fb57a54..a0cadd874ab 100644 --- a/ckan/public/base/test/spec/modules/autocomplete.spec.js +++ b/ckan/public/base/test/spec/modules/autocomplete.spec.js @@ -276,7 +276,7 @@ describe('ckan.modules.AutocompleteModule()', function () { describe('._onKeydown(event)', function () { beforeEach(function () { - this.keyDownEvent = jQuery.Event("keydown", { which: 188 }); + this.keyDownEvent = jQuery.Event("keydown", { key: ',', which: 188 }); this.fakeEvent = {}; this.clock = sinon.useFakeTimers(); this.jQuery = sinon.stub(jQuery.fn, 'init', jQuery.fn.init); @@ -290,7 +290,7 @@ describe('ckan.modules.AutocompleteModule()', function () { this.Event.restore(); this.trigger.restore(); }); - + it('should trigger fake "return" keypress if a comma is pressed', function () { this.module._onKeydown(this.keyDownEvent); @@ -303,6 +303,7 @@ describe('ckan.modules.AutocompleteModule()', function () { }); it('should do nothing if another key is pressed', function () { + this.keyDownEvent.key = '╚'; this.keyDownEvent.which = 200; this.module._onKeydown(this.keyDownEvent); @@ -311,5 +312,16 @@ describe('ckan.modules.AutocompleteModule()', function () { assert.notCalled(this.Event); }); + + it('should do nothing if key is pressed which has the comma key-code but is not a comma', function () { + this.keyDownEvent.key = 'ת'; + this.keyDownEvent.which = 188; + + this.module._onKeydown(this.keyDownEvent); + + this.clock.tick(100); + + assert.notCalled(this.Event); + }); }); }); From 408b050186148fc159e623e222ba9b5c650020c1 Mon Sep 17 00:00:00 2001 From: Yan Date: Wed, 22 Aug 2018 09:58:00 +1000 Subject: [PATCH 08/28] [4416] Fix for Resouce View Re-order --- ckan/logic/auth/update.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/logic/auth/update.py b/ckan/logic/auth/update.py index ae75f8cedb8..2ef6276934b 100644 --- a/ckan/logic/auth/update.py +++ b/ckan/logic/auth/update.py @@ -78,7 +78,7 @@ def resource_view_update(context, data_dict): return authz.is_authorized('resource_update', context, {'id': data_dict['resource_id']}) def resource_view_reorder(context, data_dict): - return authz.is_authorized('resource_update', context, {'id': data_dict['resource_id']}) + return authz.is_authorized('resource_update', context, {'id': data_dict['id']}) def package_relationship_update(context, data_dict): return authz.is_authorized('package_relationship_create', From 0892b56d175b99536fe8860a7cbe02eb99bbbe80 Mon Sep 17 00:00:00 2001 From: amercader Date: Tue, 21 Aug 2018 11:37:09 +0200 Subject: [PATCH 09/28] Don't re-register plugin helpers on flask_app, as it has been done on load_environment --- ckan/config/middleware/flask_app.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ckan/config/middleware/flask_app.py b/ckan/config/middleware/flask_app.py index d66a4470977..e93fcc8a667 100644 --- a/ckan/config/middleware/flask_app.py +++ b/ckan/config/middleware/flask_app.py @@ -212,7 +212,8 @@ def ckan_after_request(response): def helper_functions(): u'''Make helper functions (`h`) available to Flask templates''' - helpers.load_plugin_helpers() + if not helpers.helper_functions: + helpers.load_plugin_helpers() return dict(h=helpers.helper_functions) From f3ca6d59b6b8aef753c76f4a504c6bc9412e5006 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 6 May 2018 20:41:04 -0400 Subject: [PATCH 10/28] [#4236] datastore_search: distinct=true total fix --- ckanext/datastore/backend/postgres.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ckanext/datastore/backend/postgres.py b/ckanext/datastore/backend/postgres.py index c3b64e75423..49158517173 100644 --- a/ckanext/datastore/backend/postgres.py +++ b/ckanext/datastore/backend/postgres.py @@ -1318,9 +1318,11 @@ def search_data(context, data_dict): _insert_links(data_dict, limit, offset) if data_dict.get('include_total', True): - count_sql_string = u'''SELECT {distinct} count(*) - FROM "{resource}" {ts_query} {where};'''.format( + count_sql_string = u'''SELECT count(*) FROM ( + SELECT {distinct} {select} + FROM "{resource}" {ts_query} {where}) as t;'''.format( distinct=distinct, + select=select_columns, resource=resource_id, ts_query=ts_query, where=where_clause) From 7e4d2ddcd37b205a9532ff54707a4de42673cc5c Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 6 May 2018 20:58:55 -0400 Subject: [PATCH 11/28] [#4236] datastore_search: distinct=true total fix test --- ckanext/datastore/tests/test_search.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckanext/datastore/tests/test_search.py b/ckanext/datastore/tests/test_search.py index d7bf64e3729..447c5549e9e 100644 --- a/ckanext/datastore/tests/test_search.py +++ b/ckanext/datastore/tests/test_search.py @@ -296,7 +296,7 @@ def test_search_distinct(self): res_dict = json.loads(res.body) assert res_dict['success'] is True result = res_dict['result'] - assert result['total'] == 2 + assert result['total'] == 1 assert result['records'] == [{u'author': 'tolstoy'}], result['records'] def test_search_filters(self): From e726bd7e1402071b3ae23fc35f8cde47c40fcc6e Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 6 May 2018 21:25:23 -0400 Subject: [PATCH 12/28] [#4236] datastore_search: distinct=true records_format=lists fix --- ckanext/datastore/backend/postgres.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ckanext/datastore/backend/postgres.py b/ckanext/datastore/backend/postgres.py index 49158517173..ea1473a076b 100644 --- a/ckanext/datastore/backend/postgres.py +++ b/ckanext/datastore/backend/postgres.py @@ -1261,9 +1261,9 @@ def search_data(context, data_dict): ).replace('%', '%%') sql_fmt = u''' SELECT '[' || array_to_string(array_agg(j.v), ',') || ']' FROM ( - SELECT '[' || {select} || ']' v + SELECT {distinct} '[' || {select} || ']' v FROM ( - SELECT {distinct} * FROM "{resource}" {ts_query} + SELECT * FROM "{resource}" {ts_query} {where} {sort} LIMIT {limit} OFFSET {offset}) as z ) AS j''' elif records_format == u'csv': From 6913a185e98e0830dd2896ac07a7ce1d8ad5d42f Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Tue, 4 Dec 2018 11:03:08 +0100 Subject: [PATCH 13/28] [#3164] Added headers fix that was issue for 2.7.4 --- ckan/controllers/template.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/controllers/template.py b/ckan/controllers/template.py index de1334e1f25..e71a28cedb7 100644 --- a/ckan/controllers/template.py +++ b/ckan/controllers/template.py @@ -30,7 +30,7 @@ def view(self, url): Found) """ if url.endswith(u'.txt'): - response.headers[u'Content-Type'] = u'text/plain; charset=utf-8' + response.headers[b'Content-Type'] = b'text/plain; charset=utf-8' # Default content-type is text/html try: return base.render(url) From eb4242552acaaeb8867722ceb9a5afd09d900fca Mon Sep 17 00:00:00 2001 From: Aleksandar Jovanov Date: Fri, 30 Jun 2017 19:58:08 +0200 Subject: [PATCH 14/28] [#3656] Fix broken default logo image If you go to the sysadmin config page, and if you don't change the logo image and just click Update, the logo image will break. The reason is because its been given wrong path to the image. --- ckan/logic/action/update.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/ckan/logic/action/update.py b/ckan/logic/action/update.py index 023edae582e..bf9b42ed475 100644 --- a/ckan/logic/action/update.py +++ b/ckan/logic/action/update.py @@ -7,6 +7,7 @@ import time import json import mimetypes +import os from ckan.common import config import paste.deploy.converters as converters @@ -1274,11 +1275,25 @@ def config_option_update(context, data_dict): model.Session.rollback() raise ValidationError(errors) + image_in_ckan = False + ckan_images_path = os.path.abspath(os.path.join(os.path.dirname(__file__), + '..', '..', 'public', 'base', 'images')) + for key, value in data.iteritems(): # Set full Logo url - if key =='ckan.site_logo' and value and not value.startswith('http'): - value = h.url_for_static('uploads/admin/{0}'.format(value)) + if key == 'ckan.site_logo' and value and not value.startswith('http'): + for f in os.listdir(ckan_images_path): + if f == value: + image_in_ckan = True + break + + if image_in_ckan: + image_path = 'base/images/' + else: + image_path = 'uploads/admin/' + + value = h.url_for_static('{0}{1}'.format(image_path, value)) # Save value in database model.set_system_info(key, value) From 60679795028e4e55f255e76d3c3667f7195f4a90 Mon Sep 17 00:00:00 2001 From: Aleksandar Jovanov Date: Sat, 1 Jul 2017 11:45:21 +0200 Subject: [PATCH 15/28] [#3656] Fix setting public path --- ckan/logic/action/update.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ckan/logic/action/update.py b/ckan/logic/action/update.py index bf9b42ed475..cc4517bade3 100644 --- a/ckan/logic/action/update.py +++ b/ckan/logic/action/update.py @@ -1276,8 +1276,10 @@ def config_option_update(context, data_dict): raise ValidationError(errors) image_in_ckan = False + public_path = config.get('ckan.static_files', 'public') ckan_images_path = os.path.abspath(os.path.join(os.path.dirname(__file__), - '..', '..', 'public', 'base', 'images')) + '..', '..', public_path, 'base', + 'images')) for key, value in data.iteritems(): From 35be44e9e515b92091e1b80ae4f4f18cec4a491a Mon Sep 17 00:00:00 2001 From: Aleksandar Jovanov Date: Wed, 5 Jul 2017 11:04:36 +0200 Subject: [PATCH 16/28] Use isflle() to check for image existence --- ckan/logic/action/update.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ckan/logic/action/update.py b/ckan/logic/action/update.py index cc4517bade3..558a2df77fa 100644 --- a/ckan/logic/action/update.py +++ b/ckan/logic/action/update.py @@ -1285,10 +1285,8 @@ def config_option_update(context, data_dict): # Set full Logo url if key == 'ckan.site_logo' and value and not value.startswith('http'): - for f in os.listdir(ckan_images_path): - if f == value: - image_in_ckan = True - break + if os.path.isfile('{0}/{1}'.format(ckan_images_path, value)): + image_in_ckan = True if image_in_ckan: image_path = 'base/images/' From e4cd06c1bc73b1f7703aaabb49294073a8936d92 Mon Sep 17 00:00:00 2001 From: Aleksandar Jovanov Date: Sat, 15 Jul 2017 16:23:03 +0200 Subject: [PATCH 17/28] [#3656] Simplify logic for setting logo image --- ckan/logic/action/update.py | 17 +++-------------- .../base/javascript/modules/image-upload.js | 5 +++++ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/ckan/logic/action/update.py b/ckan/logic/action/update.py index 558a2df77fa..4a7e2b5f588 100644 --- a/ckan/logic/action/update.py +++ b/ckan/logic/action/update.py @@ -1275,23 +1275,12 @@ def config_option_update(context, data_dict): model.Session.rollback() raise ValidationError(errors) - image_in_ckan = False - public_path = config.get('ckan.static_files', 'public') - ckan_images_path = os.path.abspath(os.path.join(os.path.dirname(__file__), - '..', '..', public_path, 'base', - 'images')) - for key, value in data.iteritems(): # Set full Logo url - if key == 'ckan.site_logo' and value and not value.startswith('http'): - if os.path.isfile('{0}/{1}'.format(ckan_images_path, value)): - image_in_ckan = True - - if image_in_ckan: - image_path = 'base/images/' - else: - image_path = 'uploads/admin/' + if key == 'ckan.site_logo' and value and not value.startswith('http')\ + and not value.startswith('/'): + image_path = 'uploads/admin/' value = h.url_for_static('{0}{1}'.format(image_path, value)) diff --git a/ckan/public/base/javascript/modules/image-upload.js b/ckan/public/base/javascript/modules/image-upload.js index b9bc5689735..333dc378e30 100644 --- a/ckan/public/base/javascript/modules/image-upload.js +++ b/ckan/public/base/javascript/modules/image-upload.js @@ -129,6 +129,11 @@ this.ckan.module('image-upload', function($) { * Returns String. */ _fileNameFromUpload: function(url) { + // If it's a local CKAN image return the entire URL. + if (/^\/base\/images/.test(url)) { + return url; + } + // remove fragment (#) url = url.substring(0, (url.indexOf("#") === -1) ? url.length : url.indexOf("#")); // remove query string From 9ebd1b898ced772355595509531866e1e674255f Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Fri, 3 Aug 2018 19:54:48 +0200 Subject: [PATCH 18/28] [#4382] strip full URL before saving to DB --- ckan/lib/dictization/model_save.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ckan/lib/dictization/model_save.py b/ckan/lib/dictization/model_save.py index 665f62e5354..f65cbc24ffa 100644 --- a/ckan/lib/dictization/model_save.py +++ b/ckan/lib/dictization/model_save.py @@ -12,7 +12,9 @@ log = logging.getLogger(__name__) + def resource_dict_save(res_dict, context): + model = context["model"] session = context["session"] @@ -29,6 +31,11 @@ def resource_dict_save(res_dict, context): table = class_mapper(model.Resource).mapped_table fields = [field.name for field in table.c] + # Strip the full url for resources of type 'upload' + if res_dict.get('url_type') == u'upload': + url = res_dict.get('url') + res_dict[u'url'] = url[url.rfind(u"/")+1:] + # Resource extras not submitted will be removed from the existing extras # dict new_extras = {} From e7193b2e3fef8dbcd899055cbed935943655c666 Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Mon, 6 Aug 2018 10:23:43 +0200 Subject: [PATCH 19/28] Changes according revieew --- ckan/lib/dictization/model_save.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ckan/lib/dictization/model_save.py b/ckan/lib/dictization/model_save.py index f65cbc24ffa..7b1c69300cd 100644 --- a/ckan/lib/dictization/model_save.py +++ b/ckan/lib/dictization/model_save.py @@ -32,9 +32,8 @@ def resource_dict_save(res_dict, context): fields = [field.name for field in table.c] # Strip the full url for resources of type 'upload' - if res_dict.get('url_type') == u'upload': - url = res_dict.get('url') - res_dict[u'url'] = url[url.rfind(u"/")+1:] + if res_dict.get('url') and res_dict.get('url_type') == u'upload': + res_dict['url'] = res_dict['url'].rsplit('/')[-1] # Resource extras not submitted will be removed from the existing extras # dict From bf726ef17422b357b2ec55ef9979f7a2d097f57c Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Mon, 6 Aug 2018 14:32:47 +0200 Subject: [PATCH 20/28] Add tests --- .../lib/dictization/test_model_dictize.py | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/ckan/tests/lib/dictization/test_model_dictize.py b/ckan/tests/lib/dictization/test_model_dictize.py index 43de44788c1..01d8623c7ce 100644 --- a/ckan/tests/lib/dictization/test_model_dictize.py +++ b/ckan/tests/lib/dictization/test_model_dictize.py @@ -5,7 +5,7 @@ from nose.tools import assert_equal -from ckan.lib.dictization import model_dictize +from ckan.lib.dictization import model_dictize, model_save from ckan import model from ckan.lib import search @@ -401,8 +401,7 @@ def test_package_dictize_resource(self): result = model_dictize.package_dictize(dataset_obj, context) - assert_equal_for_keys(result['resources'][0], resource, - 'name', 'url') + assert_equal_for_keys(result['resources'][0], resource, 'name', 'url') expected_dict = { u'cache_last_updated': None, u'cache_url': None, @@ -422,6 +421,40 @@ def test_package_dictize_resource(self): } self.assert_equals_expected(expected_dict, result['resources'][0]) + def test_package_dictize_resource_upload_and_striped(self): + dataset = factories.Dataset() + resource = factories.Resource(package=dataset['id'], + name='test_pkg_dictize', + url_type='upload', + url='some_filename.csv') + + context = {'model': model, 'session': model.Session} + + result = model_save.resource_dict_save(resource, context) + + expected_dict = { + u'url': u'some_filename.csv', + u'url_type': u'upload' + } + assert expected_dict['url'] == result.url + + def test_package_dictize_resource_upload_with_url_and_striped(self): + dataset = factories.Dataset() + resource = factories.Resource(package=dataset['id'], + name='test_pkg_dictize', + url_type='upload', + url='http://some_filename.csv') + + context = {'model': model, 'session': model.Session} + + result = model_save.resource_dict_save(resource, context) + + expected_dict = { + u'url': u'some_filename.csv', + u'url_type': u'upload' + } + assert expected_dict['url'] == result.url + def test_package_dictize_tags(self): dataset = factories.Dataset(tags=[{'name': 'fish'}]) dataset_obj = model.Package.get(dataset['id']) From 79d537963e5ffff8f76a2d32f2cc99d66d312fd6 Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Thu, 22 Nov 2018 20:25:43 +0100 Subject: [PATCH 21/28] Remove 'for_edit' and fix url strip --- ckan/lib/dictization/model_dictize.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/lib/dictization/model_dictize.py b/ckan/lib/dictization/model_dictize.py index f39c9c3057a..03da7deccf8 100644 --- a/ckan/lib/dictization/model_dictize.py +++ b/ckan/lib/dictization/model_dictize.py @@ -115,8 +115,8 @@ def resource_dictize(res, context): resource_id=res.id, filename=cleaned_name, qualified=True) - elif resource['url'] and not urlparse.urlsplit(url).scheme and not context.get('for_edit'): - resource['url'] = u'http://' + url.lstrip('/') + elif resource['url'] and not urlparse.urlsplit(url).scheme: + res_dict['url'] = res_dict['url'].rsplit('/')[-1] return resource From 0aa2ec642f11656285054573177e8b3bee9e6b80 Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Wed, 28 Nov 2018 13:04:11 +0100 Subject: [PATCH 22/28] Revert last commit, add the striping logic in the resource dictize --- ckan/lib/dictization/model_dictize.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ckan/lib/dictization/model_dictize.py b/ckan/lib/dictization/model_dictize.py index 03da7deccf8..9acb15095ab 100644 --- a/ckan/lib/dictization/model_dictize.py +++ b/ckan/lib/dictization/model_dictize.py @@ -108,6 +108,7 @@ def resource_dictize(res, context): ## for_edit is only called at the times when the dataset is to be edited ## in the frontend. Without for_edit the whole qualified url is returned. if resource.get('url_type') == 'upload' and not context.get('for_edit'): + url = url.rsplit('/')[-1] cleaned_name = munge.munge_filename(url) resource['url'] = h.url_for(controller='package', action='resource_download', @@ -115,8 +116,8 @@ def resource_dictize(res, context): resource_id=res.id, filename=cleaned_name, qualified=True) - elif resource['url'] and not urlparse.urlsplit(url).scheme: - res_dict['url'] = res_dict['url'].rsplit('/')[-1] + elif resource['url'] and not urlparse.urlsplit(url).scheme and not context.get('for_edit'): + resource['url'] = u'http://' + url.lstrip('/') return resource From 2cf274beb73c63e11f7d556a806efb55ae50c2f1 Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Tue, 11 Dec 2018 14:17:57 +0100 Subject: [PATCH 23/28] Update po files --- ckan/i18n/ar/LC_MESSAGES/ckan.po | 662 +++++++++++++------------- ckan/i18n/bg/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/ca/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/cs_CZ/LC_MESSAGES/ckan.po | 30 +- ckan/i18n/da_DK/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/de/LC_MESSAGES/ckan.po | 11 +- ckan/i18n/el/LC_MESSAGES/ckan.po | 10 +- ckan/i18n/en_AU/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/en_GB/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/es/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/es_AR/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/fa_IR/LC_MESSAGES/ckan.po | 27 +- ckan/i18n/fi/LC_MESSAGES/ckan.po | 12 +- ckan/i18n/fr/LC_MESSAGES/ckan.po | 11 +- ckan/i18n/gl/LC_MESSAGES/ckan.po | 9 +- ckan/i18n/he/LC_MESSAGES/ckan.po | 49 +- ckan/i18n/hr/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/hu/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/id/LC_MESSAGES/ckan.po | 9 +- ckan/i18n/is/LC_MESSAGES/ckan.po | 16 +- ckan/i18n/it/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/ja/LC_MESSAGES/ckan.po | 8 +- ckan/i18n/km/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/ko_KR/LC_MESSAGES/ckan.po | 9 +- ckan/i18n/lt/LC_MESSAGES/ckan.po | 29 +- ckan/i18n/lv/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/mk/LC_MESSAGES/ckan.po | 10 +- ckan/i18n/mn_MN/LC_MESSAGES/ckan.po | 11 +- ckan/i18n/nl/LC_MESSAGES/ckan.po | 11 +- ckan/i18n/no/LC_MESSAGES/ckan.po | 8 +- ckan/i18n/pl/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/pt_BR/LC_MESSAGES/ckan.po | 9 +- ckan/i18n/pt_PT/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/ro/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/ru/LC_MESSAGES/ckan.po | 15 +- ckan/i18n/sk/LC_MESSAGES/ckan.po | 29 +- ckan/i18n/sl/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/sq/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/sr/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/sr_Latn/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/sv/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/th/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/tr/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/uk/LC_MESSAGES/ckan.po | 27 +- ckan/i18n/uk_UA/LC_MESSAGES/ckan.po | 31 +- ckan/i18n/vi/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/zh_CN/LC_MESSAGES/ckan.po | 7 +- ckan/i18n/zh_TW/LC_MESSAGES/ckan.po | 56 ++- 48 files changed, 791 insertions(+), 476 deletions(-) diff --git a/ckan/i18n/ar/LC_MESSAGES/ckan.po b/ckan/i18n/ar/LC_MESSAGES/ckan.po index b45b0a1563a..33ce52a6279 100644 --- a/ckan/i18n/ar/LC_MESSAGES/ckan.po +++ b/ckan/i18n/ar/LC_MESSAGES/ckan.po @@ -3,17 +3,24 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Omar Isbaitan , 2018 +# mohamed hatab , 2018 +# mahmoud albakr , 2018 +# Falah Albshri , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: mohamed hatab , 2018\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Falah Albshri , 2018\n" "Language-Team: Arabic (https://www.transifex.com/okfn/teams/11162/ar/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: ar\n" @@ -25,7 +32,7 @@ msgstr "مكتمل" #: ckanext/datapusher/helpers.py:22 msgid "Pending" -msgstr "قيد الاجراء" +msgstr "تحت الإجراء" #: ckanext/datapusher/helpers.py:23 msgid "Submitting" @@ -46,7 +53,7 @@ msgstr "لم يتم التحميل" #: ckan/controllers/package.py:1592 ckanext/datapusher/plugin.py:59 #: ckanext/datastore/controller.py:73 ckanext/resourceproxy/controller.py:33 msgid "Resource not found" -msgstr "لم يتم العثور على الموارد" +msgstr "لا يوجد الموارد" #: ckan/controllers/api.py:64 ckan/controllers/group.py:165 #: ckan/controllers/home.py:27 ckan/controllers/package.py:143 @@ -55,7 +62,7 @@ msgstr "لم يتم العثور على الموارد" #: ckan/controllers/user.py:85 ckan/controllers/user.py:116 #: ckan/controllers/user.py:594 ckanext/datapusher/plugin.py:68 msgid "Not authorized to see this page" -msgstr "غير مخول لرؤية هذه الصفحة" +msgstr "غير مصرح لدخول " #: ckanext/datapusher/templates/datapusher/resource_data.html:12 msgid "Upload to DataStore" @@ -72,7 +79,7 @@ msgstr "خطأ:" #: ckanext/datapusher/templates/datapusher/resource_data.html:36 msgid "Error traceback:" -msgstr "خطأ تتبع السابق" +msgstr "تتبع الخطأ" #: ckanext/datapusher/templates/datapusher/resource_data.html:48 msgid "Status" @@ -92,7 +99,7 @@ msgstr "سجل التحميل" #: ckanext/datapusher/templates/datapusher/resource_data.html:76 msgid "Details" -msgstr "التفاصيل" +msgstr "تفاصيل" #: ckanext/datapusher/templates/datapusher/resource_data.html:83 msgid "End of log" @@ -123,21 +130,20 @@ msgstr "" #: ckanext/datastore/logic/action.py:348 ckanext/datastore/logic/action.py:459 #: ckanext/datastore/logic/action.py:534 ckanext/datastore/logic/action.py:559 msgid "Resource \"{0}\" was not found." -msgstr "لم بتم العثور على المصدر \"{0}\". " +msgstr "لم بتم العثور على المصدر " #: ckanext/datastore/logic/auth.py:19 msgid "User {0} not authorized to update resource {1}" -msgstr "المستخدم {0} غير مصرح له تحديث المصدر {1} " +msgstr "المستخدم غير مصرح له تحديث المصدر" #: ckanext/datastore/templates/ajax_snippets/api_info.html:19 msgid "CKAN Data API" -msgstr "واجهة برمجة تطبيقات API لبيانات CKAN" +msgstr "واجهة البرمجيات للبوابة" #: ckanext/datastore/templates/ajax_snippets/api_info.html:23 msgid "Access resource data via a web API with powerful query support" msgstr "" -"الوصول إلى بيانات الموارد عبر واجهة برمجة تطبيقات API الويب مع دعم قوي " -"للاستعلامات" +"الوصول إلى مصدر البيانات عبر واجهة برمجة تطبيقات API مع دعم قوي للاستعلامات" #: ckanext/datastore/templates/ajax_snippets/api_info.html:24 msgid "" @@ -145,10 +151,7 @@ msgid "" "href=\"http://docs.ckan.org/en/latest/maintaining/datastore.html\" " "target=\"_blank\">main CKAN Data API and DataStore documentation.

" msgstr "" -"لمعلومات أكثر إذهب لوثيقة API و مخزن البيانات و بيانات CKAN " -"الرئيسية.

" +"لمعلومات أكثر إذهب لوثيقة API و مخزن البيانات و بيانات البوابة الرئيسية" #: ckanext/datastore/templates/ajax_snippets/api_info.html:33 msgid "Endpoints" @@ -158,11 +161,11 @@ msgstr "نقاط النهاية" msgid "" "The Data API can be accessed via the following actions of the CKAN action " "API." -msgstr "بلإمكان الوصول لبيانات ال API عن طريق خطوات ال CKAN الخاصة بال API " +msgstr "يمكنك الوصول لبرمجية البيانات عن طريق خطوات البوابة الخاصة في API " #: ckanext/datastore/templates/ajax_snippets/api_info.html:42 msgid "Create" -msgstr "انشاء" +msgstr "إنشاء" #: ckanext/datastore/templates/ajax_snippets/api_info.html:46 msgid "Update / Insert" @@ -174,7 +177,7 @@ msgstr "استعلام" #: ckanext/datastore/templates/ajax_snippets/api_info.html:54 msgid "Query (via SQL)" -msgstr "الاستعلام (من خلال SQL)" +msgstr "الاستعلام من خلال SQL" #: ckanext/datastore/templates/ajax_snippets/api_info.html:66 msgid "Querying" @@ -182,15 +185,15 @@ msgstr "الاستعلام" #: ckanext/datastore/templates/ajax_snippets/api_info.html:70 msgid "Query example (first 5 results)" -msgstr "مثال على الاستعلام (أول 5 نتائج)" +msgstr "مثال: استعلام أول 5 نتائج" #: ckanext/datastore/templates/ajax_snippets/api_info.html:75 msgid "Query example (results containing 'jones')" -msgstr "مثال على الاستعلام (النتيجة تحتوي على 'jones' )" +msgstr "مثال على الاستعلام: النتيجة تحتوي على 'jones" #: ckanext/datastore/templates/ajax_snippets/api_info.html:80 msgid "Query example (via SQL statement)" -msgstr "مثال على الاستعلام (من خلال عبارة SQL)" +msgstr "مثال على الاستعلام: من خلال عبارة SQL" #: ckanext/datastore/templates/ajax_snippets/api_info.html:91 msgid "Example: Javascript" @@ -206,7 +209,7 @@ msgstr "مثال : Python" #: ckanext/datastore/templates/datastore/dictionary.html:16 msgid "Field {num}." -msgstr "حقل {رقم} " +msgstr "رقم الحقل" #: ckanext/datastore/templates/datastore/dictionary.html:18 #: ckanext/datastore/templates/package/resource_read.html:20 @@ -260,7 +263,7 @@ msgstr "تحميل..." #: ckanext/datastore/templates/package/snippets/data_api_button.html:10 msgid "Data API" -msgstr "واجهة برمجة تطبيقات API البيانات" +msgstr "واجهة برمجة تطبيقات البيانات" #: ckanext/datatablesview/plugin.py:46 ckanext/reclineview/plugin.py:128 msgid "Table" @@ -329,11 +332,11 @@ msgstr "أخر تعديل" #: ckanext/example_idatasetform/templates/package/search.html:16 msgid "Custom Field Ascending" -msgstr "موائمة الحقل تصاعديا" +msgstr " الحقل تصاعديا" #: ckanext/example_idatasetform/templates/package/search.html:17 msgid "Custom Field Descending" -msgstr "موائمة الحقل تنازليا" +msgstr " الحقل تنازليا" #: ckan/templates/group/read.html:19 ckan/templates/organization/read.html:23 #: ckan/templates/package/search.html:33 @@ -348,11 +351,11 @@ msgstr "شائع" #: ckanext/example_idatasetform/templates/package/snippets/package_basic_fields.html:4 #: ckanext/example_idatasetform/templates/package/snippets/resource_form.html:6 msgid "Custom Text" -msgstr "موائمة النص" +msgstr "حقل النص" #: ckanext/example_idatasetform/templates/package/snippets/package_basic_fields.html:4 msgid "custom text" -msgstr "موائمة النص" +msgstr "حقل النص" #: ckanext/example_idatasetform/templates/package/snippets/package_metadata_fields.html:11 msgid "Country Code" @@ -360,7 +363,7 @@ msgstr "رمز الدولة" #: ckanext/example_idatasetform/templates/package/snippets/resource_form.html:6 msgid "custom resource text" -msgstr "موائمة نص المورد" +msgstr "حقل نص المورد" #: ckanext/example_itranslation/templates/home/index.html:4 msgid "This is an untranslated string" @@ -393,7 +396,7 @@ msgstr "0 قواعد بيانات" #: ckanext/example_theme_docs/v12_extra_public_dir/templates/home/snippets/promoted.html:4 msgid "CKAN's data previewing tool has many powerful features" -msgstr "أداة عرض بيانات ال CKAN تمتلك مميزات عديدة" +msgstr "أداة عرض بيانات البوابة تمتلك مميزات عديدة" #: ckan/templates/group/followers.html:3 ckan/templates/group/followers.html:6 #: ckan/templates/group/snippets/info.html:32 @@ -427,7 +430,7 @@ msgstr "صورة" #: ckanext/imageview/theme/templates/image_form.html:3 msgid "Image url" -msgstr "عنوان الصورة URL" +msgstr "عنوان الصورة " #: ckanext/imageview/theme/templates/image_form.html:3 msgid "eg. http://example.com/image.jpg (if blank uses resource url)" @@ -498,11 +501,11 @@ msgstr "نوع الرسم البياني" #: ckanext/reclineview/theme/templates/recline_graph_form.html:7 msgid "Group (Axis 1)" -msgstr "مجموعة (محور 1)" +msgstr "مجموعة 1 " #: ckanext/reclineview/theme/templates/recline_graph_form.html:8 msgid "Series (Axis 2)" -msgstr "متسلسلات (محور 2)" +msgstr "متسلسلات 2" #: ckanext/reclineview/theme/templates/recline_map_form.html:6 msgid "Field type" @@ -530,7 +533,7 @@ msgstr "علامات التجمع" #: ckanext/stats/templates/ckanext/stats/index.html:10 msgid "Total number of Datasets" -msgstr "عدد مجموع جدولة البيانات " +msgstr "مجموع البيانات" #: ckanext/stats/templates/ckanext/stats/index.html:17 #: ckanext/stats/templates/ckanext/stats/index.html:40 @@ -539,29 +542,29 @@ msgstr "تاريخ" #: ckanext/stats/templates/ckanext/stats/index.html:18 msgid "Total datasets" -msgstr "مجموع جدولة البيانات " +msgstr "عدد البيانات" #: ckanext/stats/templates/ckanext/stats/index.html:33 #: ckanext/stats/templates/ckanext/stats/index.html:179 msgid "Dataset Revisions per Week" -msgstr "مراجعة جدولة البيانات كل اسبوع" +msgstr "مراجعة البيانات كل اسبوع" #: ckanext/stats/templates/ckanext/stats/index.html:41 msgid "All dataset revisions" -msgstr "مراجعة جدولة البيانات" +msgstr "مراجعة البيانات" #: ckanext/stats/templates/ckanext/stats/index.html:42 msgid "New datasets" -msgstr "انشاء جدولة البيانات " +msgstr "انشاء بيانات جديده" #: ckanext/stats/templates/ckanext/stats/index.html:58 #: ckanext/stats/templates/ckanext/stats/index.html:180 msgid "Top Rated Datasets" -msgstr "جدولة البيانات الأعلى تقيم " +msgstr "البيانات الأعلى تقييم" #: ckanext/stats/templates/ckanext/stats/index.html:64 msgid "Average rating" -msgstr "تقييم متوسط" +msgstr "متوسط التقييم" #: ckanext/stats/templates/ckanext/stats/index.html:65 msgid "Number of ratings" @@ -569,18 +572,18 @@ msgstr "عدد التقييمات" #: ckanext/stats/templates/ckanext/stats/index.html:79 msgid "No ratings" -msgstr "بدون تقييم" +msgstr "لايوجد تقييم " #: ckanext/stats/templates/ckanext/stats/index.html:84 #: ckanext/stats/templates/ckanext/stats/index.html:181 msgid "Most Edited Datasets" -msgstr "جدولة البيانات الأكثر تعديل" +msgstr "البيانات الأكثر تعديل" #: ckan/logic/converters.py:146 ckan/logic/validators.py:149 #: ckan/logic/validators.py:191 ckan/templates/package/read_base.html:19 #: ckanext/stats/templates/ckanext/stats/index.html:89 msgid "Dataset" -msgstr "جدولة البيانات" +msgstr "البيانات" #: ckanext/stats/templates/ckanext/stats/index.html:90 msgid "Number of edits" @@ -588,7 +591,7 @@ msgstr "عدد التعديلات" #: ckanext/stats/templates/ckanext/stats/index.html:103 msgid "No edited datasets" -msgstr "لم يتم التعديل على جدولة البيانات" +msgstr "لم يتم التعديل على البيانات" #: ckanext/stats/templates/ckanext/stats/index.html:108 #: ckanext/stats/templates/ckanext/stats/index.html:182 @@ -602,7 +605,7 @@ msgstr "مجموعة" #: ckanext/stats/templates/ckanext/stats/index.html:114 msgid "Number of datasets" -msgstr "عدد جدولة البيانات" +msgstr "عدد البيانات" #: ckanext/stats/templates/ckanext/stats/index.html:127 msgid "No groups" @@ -620,12 +623,12 @@ msgstr "علامة الاسم" #: ckanext/stats/templates/ckanext/stats/index.html:137 #: ckanext/stats/templates/ckanext/stats/index.html:157 msgid "Number of Datasets" -msgstr "عدد جدولة البيانات" +msgstr "عدد البيانات" #: ckanext/stats/templates/ckanext/stats/index.html:152 #: ckanext/stats/templates/ckanext/stats/index.html:184 msgid "Users Creating Most Datasets" -msgstr "مستخدمين الأكثر إنشاء لجدولة البيانات" +msgstr "المستخدمين الأكثر إنشاء للبيانات" #: ckan/logic/converters.py:121 ckan/logic/validators.py:214 #: ckan/logic/validators.py:231 ckan/logic/validators.py:706 @@ -641,7 +644,7 @@ msgstr "قائمة الاحصائيات" #: ckanext/stats/templates/ckanext/stats/index.html:178 msgid "Total Number of Datasets" -msgstr "العدد الكلي لجدولة البيانات" +msgstr "العدد الكلي للبيانات" #: ckanext/textview/plugin.py:67 ckanext/textview/plugin.py:69 msgid "Text" @@ -653,7 +656,7 @@ msgstr "موقع الكتروني" #: ckanext/webpageview/theme/templates/webpage_form.html:3 msgid "Web Page url" -msgstr "عنوان الصفحة على الانترنت URL" +msgstr "عنوان الصفحة على الانترنت" #: ckanext/webpageview/theme/templates/webpage_form.html:3 msgid "eg. http://example.com (if blank uses resource url)" @@ -684,7 +687,7 @@ msgstr "عضو" #: ckan/controllers/admin.py:34 msgid "Need to be system administrator to administer" -msgstr "تحتاج إلى أن تكون مسؤول النظام للقيام بالإدارة" +msgstr "تحتاج أن تكون مسؤول النظام للقيام بالإدارة" #: ckan/controllers/admin.py:50 msgid "Site Title" @@ -713,7 +716,7 @@ msgstr "حول" #: ckan/controllers/admin.py:55 msgid "About page text" -msgstr "نص الصفحة : حول" +msgstr "عن نص الصفحة" #: ckan/controllers/admin.py:56 msgid "Intro Text" @@ -725,11 +728,11 @@ msgstr "النص على الصفحة الرئيسية" #: ckan/controllers/admin.py:57 msgid "Custom CSS" -msgstr "css خاص" +msgstr "مخصص لي لغة التنسيق CSS" #: ckan/controllers/admin.py:57 msgid "Customisable css inserted into the page header" -msgstr "لقد تم إدراج CSS مخصصة في رأس الصفحة" +msgstr "تم إنشاء لغة برمجة مخصصة لرأس الصفحة" #: ckan/controllers/admin.py:58 msgid "Homepage" @@ -755,7 +758,7 @@ msgstr "الانتهاء من التطهير" #: ckan/controllers/admin.py:187 msgid "Action not implemented." -msgstr "لم ينفذ العمل." +msgstr "لم يتم التنفيذ" #: ckan/controllers/api.py:124 ckan/controllers/api.py:221 msgid "Access denied" @@ -814,7 +817,7 @@ msgstr "غير قادر على إضافة مجموعة إلى فهرس البح #: ckan/controllers/api.py:430 #, python-format msgid "Cannot update entity of this type: %s" -msgstr "لا يمكن تحديث كيان من هذا النوع: %s" +msgstr "لا يمكن التحديث : %s" #: ckan/controllers/api.py:454 msgid "Unable to update search index" @@ -823,30 +826,30 @@ msgstr "قادر على تحديث فهرس البحث" #: ckan/controllers/api.py:477 #, python-format msgid "Cannot delete entity of this type: %s %s" -msgstr "لا يمكن حذف كيان من هذا النوع: %s %s" +msgstr "لا يمكن الحذف : %s %s" #: ckan/controllers/api.py:500 msgid "No revision specified" -msgstr "لم يتم تحديد مراجعة" +msgstr "لم يتم التحديث" #: ckan/controllers/api.py:504 #, python-format msgid "There is no revision with id: %s" -msgstr "ليس هناك مراجعة ذات الرقم: %s" +msgstr "لايوجد مراجعة لهذ الرقم : %s" #: ckan/controllers/api.py:514 msgid "Missing search term ('since_id=UUID' or 'since_time=TIMESTAMP')" -msgstr "مفقود مصطلح البحث ('since_id = UUID' أو 'since_time = TIMESTAMP')" +msgstr "لايوجد مصطلح البحث" #: ckan/controllers/api.py:526 #, python-format msgid "Could not read parameters: %r" -msgstr "لا يمكن قراءة المعلمات: %r" +msgstr "لا يمكن قراءته: %r" #: ckan/controllers/api.py:587 #, python-format msgid "Bad search option: %s" -msgstr "خيارات البحث سيئة %s" +msgstr "بحث غير صحيح %s" #: ckan/controllers/api.py:590 #, python-format @@ -860,7 +863,7 @@ msgstr "Malformed qjson value: %r" #: ckan/controllers/api.py:609 msgid "Request params must be in form of a json encoded dictionary." -msgstr "يجب أن يكون طلب params في شكل قاموس ترميز json." +msgstr "يجب أن يكون الطلب في شكل قاموس ترميز json." #: ckan/controllers/feed.py:233 ckan/controllers/group.py:137 #: ckan/controllers/group.py:225 ckan/controllers/group.py:393 @@ -893,7 +896,7 @@ msgstr "نوع المجموعة غير صحيح" #: ckan/templates/organization/read_base.html:6 #: ckan/templates/package/base.html:14 msgid "Organizations" -msgstr "المنظمات" +msgstr "ناشر" #: ckan/controllers/group.py:306 ckan/controllers/home.py:62 #: ckan/controllers/package.py:241 ckan/lib/helpers.py:834 @@ -934,15 +937,15 @@ msgstr "تراخيص" #: ckan/controllers/package.py:1387 ckan/controllers/package.py:1421 #, python-format msgid "User %r not authorized to edit %s" -msgstr "المستخدم %r غير مخول لتحرير %s" +msgstr "المستخدم غير مسموح له العرض %s" #: ckan/controllers/group.py:442 msgid "Not authorized to perform bulk update" -msgstr "غير مخول لإجراء التحديث الشامل" +msgstr "لايمكن لإجراء التحديث الشامل" #: ckan/controllers/group.py:460 msgid "Unauthorized to create a group" -msgstr "غير مخول إنشاء مجموعة" +msgstr "لايمكنك إنشاء مجوعة" #: ckan/controllers/group.py:538 ckan/controllers/group.py:568 #: ckan/controllers/package.py:922 ckan/controllers/package.py:970 @@ -954,20 +957,20 @@ msgstr "خطأ سلامة" #: ckan/controllers/group.py:594 #, python-format msgid "User %r not authorized to edit %s authorizations" -msgstr "المستخدم %r غير مخول لتحرير أذون %s" +msgstr "المستخدم غير مخول %s" #: ckan/controllers/group.py:614 ckan/controllers/group.py:629 #, python-format msgid "Unauthorized to delete group %s" -msgstr "حذف المجموعة غير مصرح به %s" +msgstr "لايمكنك حذف هذه المجموعة %s" #: ckan/controllers/group.py:620 msgid "Organization has been deleted." -msgstr "تم حذف المنظمة." +msgstr "تم حذف الناشر" #: ckan/controllers/group.py:622 msgid "Group has been deleted." -msgstr "تم حذف المجموعة." +msgstr "تم حذف المجموعة" #: ckan/controllers/group.py:624 #, python-format @@ -977,17 +980,17 @@ msgstr "تم الحذف %s" #: ckan/controllers/group.py:653 #, python-format msgid "User %r not authorized to edit members of %s" -msgstr "المستخدم %r غير مصرح لتعديل الأعضاء%s" +msgstr "المستخدم غير مصرح لتعديل الأعضاء%s" #: ckan/controllers/group.py:705 #, python-format msgid "Unauthorized to add member to group %s" -msgstr "غير مصرح به إضافة عضو إلى مجموعة %s" +msgstr "غير مصرح لإضافة عضو إلى مجموعة %s" #: ckan/controllers/group.py:724 ckan/controllers/group.py:737 #, python-format msgid "Unauthorized to delete group %s members" -msgstr "غير مصرح به  حذف أعضاء المجموعة %s" +msgstr "غير مصرح لحذف أعضاء المجموعة %s" #: ckan/controllers/group.py:731 msgid "Group member has been deleted." @@ -999,11 +1002,11 @@ msgstr "الرجاء اختيار اثنين من التنقيحات قبل ال #: ckan/controllers/group.py:779 msgid "CKAN Group Revision History" -msgstr "تاريخ مراجعة مجموعة CKAN" +msgstr "تاريخ مراجعة مجموعة البوابه" #: ckan/controllers/group.py:783 msgid "Recent changes to CKAN Group: " -msgstr "التغييرات الأخيرة في المجموعة CKAN:" +msgstr "التغييرات الأخيرة في المجموعة البوابة" #: ckan/controllers/group.py:804 ckan/controllers/package.py:468 msgid "Log message: " @@ -1012,41 +1015,41 @@ msgstr "سجل الرسالة:" #: ckan/controllers/group.py:854 ckan/controllers/package.py:1171 #: ckan/controllers/user.py:715 msgid "You are now following {0}" -msgstr "أنت الآن تتابع {0}" +msgstr "أنت الآن تتابع " #: ckan/controllers/group.py:874 ckan/controllers/package.py:1190 #: ckan/controllers/user.py:735 msgid "You are no longer following {0}" -msgstr "أنت الآن لم تعد تتابع {0}" +msgstr "أنت الآن لم تعد تتابع أحد" #: ckan/controllers/group.py:894 ckan/controllers/user.py:580 #, python-format msgid "Unauthorized to view followers %s" -msgstr "غير مصرح به مشاهدة أتباع %s" +msgstr "غير مصرح لعرض المشاهدات %s" #: ckan/controllers/home.py:35 msgid "This site is currently off-line. Database is not initialised." -msgstr "هذا الموقع هو حاليا خارج الخط. لم يتم بدء قاعدة البيانات." +msgstr "هذا الموقع هو حاليا خارج الخط. لم يتم إنشاء قاعدة البيانات." #: ckan/controllers/home.py:73 #, python-format msgid "Please update your profile and add your email address. " -msgstr "إضافة تحديث ملفك الشخصي و إضافة " +msgstr "من فضلك تحديث ملفك الشخصي و إضافة " #: ckan/controllers/home.py:75 #, python-format msgid "%s uses your email address if you need to reset your password." msgstr "" -" %s يستخدم عنوان البريد الإلكتروني الخاص بك إذا كنت تحتاج إلى إعادة تعيين " +" %s أستخدم عنوان البريد الإلكتروني الخاص بك إذا كنت تحتاج إلى إعادة تعيين " "كلمة السر " #: ckan/controllers/package.py:288 msgid "Invalid search query: {error_message}" -msgstr "Invalid search query: {error_message}" +msgstr "بحث خاطئ" #: ckan/controllers/package.py:304 msgid "Parameter \"{parameter_name}\" is not an integer" -msgstr "Parameter \"{parameter_name}\" is not an integer" +msgstr "المدخل غير صحيح " #: ckan/controllers/package.py:324 ckan/controllers/package.py:332 #: ckan/controllers/package.py:370 ckan/controllers/package.py:437 @@ -1064,32 +1067,30 @@ msgstr "لم يتم العثور على مجموعة البيانات" #: ckan/controllers/package.py:362 #, python-format msgid "Invalid revision format: %r" -msgstr "Invalid revision format: %r" +msgstr "نوع المدخل غير صحيح" #: ckan/controllers/package.py:396 msgid "Viewing datasets of type \"{package_type}\" is not supported ({file_!r})." -msgstr "" -" Viewing datasets of type \"{package_type}\" is not supported\n" -"({file_!r})." +msgstr "عرض البيانات لايدعم هذا النوع" #: ckan/controllers/package.py:435 ckan/controllers/package.py:817 #: ckan/controllers/package.py:918 ckan/controllers/package.py:966 #: ckan/controllers/package.py:1217 #, python-format msgid "Unauthorized to read package %s" -msgstr "%sغير مصرح له بقراءة الطرد" +msgstr "%sغير مصرح " #: ckan/controllers/package.py:444 msgid "CKAN Dataset Revision History" -msgstr "تاريخ مراجعة جدولة بيانات CKAN " +msgstr "تاريخ مراجعة بوابة البيانات" #: ckan/controllers/package.py:447 msgid "Recent changes to CKAN Dataset: " -msgstr "أخر التغيرات لجدولة البيانات CKAN" +msgstr "أخر التغيرات لبيانات البوابة" #: ckan/controllers/package.py:503 msgid "Unauthorized to create a package" -msgstr "غير مصرح لإنشاء طرد" +msgstr "غير مصرح لك بالإنشاء" #: ckan/controllers/package.py:573 msgid "Unauthorized to edit this resource" @@ -1097,16 +1098,16 @@ msgstr "غير مصرح لتعديل المصادر" #: ckan/controllers/package.py:644 msgid "Unauthorized to update dataset" -msgstr "غير مصرح لتطوير جدولة البيانات" +msgstr "غير مصرح لتحديث البيانات" #: ckan/controllers/package.py:646 ckan/controllers/package.py:683 #: ckan/controllers/package.py:709 msgid "The dataset {id} could not be found." -msgstr "جدولة البيانات {id} غير موجود " +msgstr "غير متوفر" #: ckan/controllers/package.py:650 msgid "You must add at least one data resource" -msgstr "يجب إضافة مورد بيانات واحدة على الأقل" +msgstr "يجب إضافة مصدر واحد للبيانات على الأقل" #: ckan/controllers/package.py:681 msgid "Unauthorized to create a resource" @@ -1114,28 +1115,28 @@ msgstr "غير مصرح لإنشاء مصدر" #: ckan/controllers/package.py:714 msgid "Unauthorized to create a resource for this package" -msgstr "غير مصرح لإنشاء مصدر لهذا الطرد" +msgstr "غير مصرح لإنشاء مصدر " #: ckan/controllers/package.py:928 msgid "Unable to add package to search index." -msgstr "غير قابل لإضافة طرد خانة البحث" +msgstr "لايمكنك الإضافة " #: ckan/controllers/package.py:976 msgid "Unable to update search index." -msgstr "غير قابل لتحديث خانة البحث" +msgstr "لايمكنك تحديث خانة البحث" #: ckan/controllers/package.py:1013 msgid "Dataset has been deleted." -msgstr "تم حذف البيانات." +msgstr "تم الحذف" #: ckan/controllers/package.py:1018 ckan/controllers/package.py:1036 #, python-format msgid "Unauthorized to delete package %s" -msgstr "%sغير مصرح لحذف الطرد" +msgstr "%sغير مصرح للحذف" #: ckan/controllers/package.py:1041 msgid "Resource has been deleted." -msgstr "تم حذف الموارد." +msgstr "تم حذف المصدر" #: ckan/controllers/package.py:1052 #, python-format @@ -1157,7 +1158,7 @@ msgstr "التحميل غير متاح" #: ckan/controllers/package.py:1296 #, python-format msgid "Unauthorized to read dataset %s" -msgstr "%sغير مصرح لقراءة جدولة البيانات" +msgstr "%sغير مصرح لقراءة البيانات" #: ckan/controllers/package.py:1404 #, python-format @@ -1178,7 +1179,7 @@ msgstr "لم يتم العثور على نوع العرض" #: ckan/controllers/package.py:1548 msgid "Bad resource view data" -msgstr "عرض البيانات السيئة" +msgstr "عرض البيانات غير صحيح" #: ckan/controllers/package.py:1557 msgid "Resource view not supplied" @@ -1190,20 +1191,20 @@ msgstr "لا يوجد مراجعة" #: ckan/controllers/revision.py:44 msgid "CKAN Repository Revision History" -msgstr "تاريخ معاينة مستودع CKAN" +msgstr "تاريخ معاينةمستودع البوابة" #: ckan/controllers/revision.py:46 msgid "Recent changes to the CKAN repository." -msgstr "أخر التغيرات لمستودع CKAN" +msgstr "أخر التغيرات لمستودع البوابة" #: ckan/controllers/revision.py:110 #, python-format msgid "Datasets affected: %s.\n" -msgstr "تأثيرات جدولة البيانات:%s.\n" +msgstr "تأثيرات البيانات:%s\n" #: ckan/controllers/revision.py:190 msgid "Revision updated" -msgstr "معاينة التحديث" +msgstr "مراجعة التحديث" #: ckan/controllers/tag.py:60 msgid "Other" @@ -1211,7 +1212,7 @@ msgstr "آخر" #: ckan/controllers/tag.py:74 msgid "Tag not found" -msgstr "وسم المصطلح غير موجود" +msgstr "غير موجود" #: ckan/controllers/user.py:161 msgid "Unauthorized to register as a user." @@ -1223,7 +1224,7 @@ msgstr "غير مصرح لإنشاء مستخدم" #: ckan/controllers/user.py:210 msgid "Unauthorized to delete user with id \"{user_id}\"." -msgstr "غير مصرح لحذف المستخدم id \"{user_id}\"." +msgstr "غير مصرح لحذف المستخدم " #: ckan/controllers/user.py:224 ckan/controllers/user.py:287 msgid "No user specified" @@ -1260,7 +1261,7 @@ msgstr "كلمة التحقق غير صحيحة. الرجاء المحاولة msgid "" "User \"%s\" is now registered but you are still logged in as \"%s\" from " "before" -msgstr "تم تسجيل المستخدم\"%s\" لكن دخلت ك\"%s\" من قبل " +msgstr "%sتم تسجيل المستخدم من قبل %s" #: ckan/controllers/user.py:293 msgid "Unauthorized to edit a user." @@ -1269,7 +1270,7 @@ msgstr "غير مصرح لتعديل المستخدم" #: ckan/controllers/user.py:320 #, python-format msgid "User %s not authorized to edit %s" -msgstr "المستخدم %s غير مصرح لتعديل %s" +msgstr " %s غير مصرح لتعديل %s" #: ckan/controllers/user.py:385 msgid "Password entered was incorrect" @@ -1281,7 +1282,7 @@ msgstr "كلمة المرور القديمة" #: ckan/controllers/user.py:386 msgid "incorrect password" -msgstr "كلمة سر خاطئة" +msgstr "كلمة المرور غير صحيحة" #: ckan/controllers/user.py:427 msgid "Login failed. Bad username or password." @@ -1336,15 +1337,15 @@ msgstr "يجب توفر الرقم السري" #: ckan/controllers/user.py:636 msgid "Follow item not found" -msgstr "المادة غير موجودة" +msgstr "لا يوجد" #: ckan/controllers/user.py:640 msgid "{0} not found" -msgstr "{0} غير موجود" +msgstr "لا يوجد" #: ckan/controllers/user.py:654 msgid "Everything" -msgstr "كل شئ" +msgstr "الكل" #: ckan/controllers/util.py:18 ckan/logic/action/__init__.py:62 msgid "Missing Value" @@ -1352,102 +1353,102 @@ msgstr "قيمة مفقودة" #: ckan/controllers/util.py:23 msgid "Redirecting to external site is not allowed." -msgstr "إعادة توجيه لموقع خارجي غير مسموح" +msgstr "إعادة التوجيه لموقع خارجي غير مسموح" #: ckan/lib/activity_streams.py:60 msgid "{actor} added the tag {tag} to the dataset {dataset}" -msgstr "{actor} إضافة علامة {tag} ل جدولة البيانات {dataset}" +msgstr " إضافة علامة للبيانات " #: ckan/lib/activity_streams.py:63 msgid "{actor} updated the group {group}" -msgstr "{actor} تم تحديث المجموعة {group}" +msgstr "تم تحديث المجموعة " #: ckan/lib/activity_streams.py:66 msgid "{actor} updated the organization {organization}" -msgstr "{actor} تم تحديث المؤسسة {organization}" +msgstr "تم تحديث الناشر" #: ckan/lib/activity_streams.py:69 msgid "{actor} updated the dataset {dataset}" -msgstr "{actor} تم تحديث جدولة البيانات {dataset}" +msgstr " تم تحديث البيانات " #: ckan/lib/activity_streams.py:72 msgid "{actor} changed the extra {extra} of the dataset {dataset}" -msgstr "{actor} تم تغير إضافي {extra} لجدولة البيانات {dataset}" +msgstr "تم تغير إضافي للبيانات" #: ckan/lib/activity_streams.py:75 msgid "{actor} updated the resource {resource} in the dataset {dataset}" -msgstr "{actor} تحديث المورد {resource} في مجموعة البيانات {dataset}" +msgstr "تحديت المصادر في مجموعة البيانات" #: ckan/lib/activity_streams.py:78 msgid "{actor} updated their profile" -msgstr "{actor} تحديث ملفهم الشخصي" +msgstr "تحديث الملف " #: ckan/lib/activity_streams.py:81 msgid "{actor} deleted the group {group}" -msgstr "{actor} حذف المجموعة {group}" +msgstr "حذف المجموعة" #: ckan/lib/activity_streams.py:84 msgid "{actor} deleted the organization {organization}" -msgstr "{actor} حذفت المؤسسة {organization}" +msgstr "حذف الناشر" #: ckan/lib/activity_streams.py:87 msgid "{actor} deleted the dataset {dataset}" -msgstr "{actor} حذف جدولة البيانات {dataset}" +msgstr "حذف البيانات" #: ckan/lib/activity_streams.py:90 msgid "{actor} deleted the extra {extra} from the dataset {dataset}" -msgstr "{actor} حذف الزيادة {extra} من جدولة البيانات {dataset}" +msgstr "حذف الزيادة من البيانات" #: ckan/lib/activity_streams.py:93 msgid "{actor} deleted the resource {resource} from the dataset {dataset}" -msgstr "{actor} تم حذف الموارد {resource} من جدولة البيانات {dataset}" +msgstr "تم حذف مصادر البيانات" #: ckan/lib/activity_streams.py:97 msgid "{actor} created the group {group}" -msgstr "{actor} أنشئت المجموعة {group}" +msgstr "تم أنشاء المجموعة" #: ckan/lib/activity_streams.py:100 msgid "{actor} created the organization {organization}" -msgstr "{actor} أنشئت المؤسسة {organization}" +msgstr "تم إنشاء الناشر" #: ckan/lib/activity_streams.py:103 msgid "{actor} created the dataset {dataset}" -msgstr "{actor} أنشئت جدولة البيانات {dataset}" +msgstr "تم إنشاء البيانات" #: ckan/lib/activity_streams.py:106 msgid "{actor} added the extra {extra} to the dataset {dataset}" -msgstr "{actor} وأضاف من خارج {extra} لي جدولة البيانات {dataset}" +msgstr "إضافة الى البيانات" #: ckan/lib/activity_streams.py:109 msgid "{actor} added the resource {resource} to the dataset {dataset}" -msgstr "{actor} أضاف المورد {resource} إلى جدولة البيانات {dataset}" +msgstr "إضافة مصادر للبيانات" #: ckan/lib/activity_streams.py:112 msgid "{actor} signed up" -msgstr "{actor} اشترك" +msgstr "تسجيل" #: ckan/lib/activity_streams.py:115 msgid "{actor} removed the tag {tag} from the dataset {dataset}" -msgstr "{actor} إزالة العلامة {tag} ممن جدولة البيانات {dataset}" +msgstr "إزالة العلامة من جدولة البيانات" #: ckan/lib/activity_streams.py:118 msgid "{actor} started following {dataset}" -msgstr "{actor} بدأ المتابعة {dataset}" +msgstr "بدأ المتابعة" #: ckan/lib/activity_streams.py:121 msgid "{actor} started following {user}" -msgstr "{actor} بدأ المتابعة {user}" +msgstr " بدأ المتابعة" #: ckan/lib/activity_streams.py:124 msgid "{actor} started following {group}" -msgstr "{actor} بدأ المتابعة {group}" +msgstr " بدأ المتابعة " #: ckan/lib/datapreview.py:265 ckan/templates/group/edit_base.html:18 #: ckan/templates/organization/edit_base.html:17 #: ckan/templates/package/resource_read.html:37 #: ckan/templates/package/resource_views.html:4 msgid "View" -msgstr "معاينة" +msgstr "عرض" #: ckan/lib/email_notifications.py:103 msgid "{n} new activity from {site_title}" @@ -1635,15 +1636,15 @@ msgstr "غير معروف" #: ckan/lib/helpers.py:1361 msgid "Unnamed resource" -msgstr "الموارد غير معروف" +msgstr "المصدر غير معروف" #: ckan/lib/helpers.py:1401 msgid "Created new dataset." -msgstr "إنشاء جدولة بيانات جديدة" +msgstr "إنشاء بيانات جديدة" #: ckan/lib/helpers.py:1403 msgid "Edited resources." -msgstr "الموارد المحررة" +msgstr "المصادر المحررة" #: ckan/lib/helpers.py:1405 msgid "Edited settings." @@ -1676,11 +1677,11 @@ msgstr "%s <%s>" #: ckan/lib/mailer.py:109 msgid "No recipient email address available!" -msgstr "لا يتوفر عنوان بريد الكتروني للمستلم!" +msgstr "لا يتوفر عنوان بريد الكتروني" #: ckan/lib/mailer.py:127 ckan/templates/home/snippets/stats.html:17 msgid "organization" -msgstr "مؤسسة" +msgstr "ناشر" #: ckan/lib/mailer.py:128 ckan/templates/home/snippets/stats.html:23 msgid "group" @@ -1707,15 +1708,15 @@ msgstr "حقل الإدخال %(name)s لم يكن متوقعًا." #: ckan/lib/navl/validators.py:118 msgid "Please enter an integer value" -msgstr "الرجاء إدخال قيمة عددية" +msgstr "الرجاء إدخال عدد" #: ckan/lib/navl/validators.py:124 msgid "Must be a Unicode string value" -msgstr "يجب ان تكون Unicode قيمته سلسلة احرف" +msgstr "يجب ان تكون قيمته سلسلة احرف" #: ckan/logic/__init__.py:98 ckan/logic/action/__init__.py:60 msgid "Package resource(s) invalid" -msgstr "Package resource(s) غير صالح" +msgstr " غير صحيح" #: ckan/logic/__init__.py:105 ckan/logic/__init__.py:107 #: ckan/logic/action/__init__.py:62 ckan/logic/action/__init__.py:64 @@ -1733,19 +1734,19 @@ msgstr " تعذّر تحليل JSON " #: ckan/logic/validators.py:33 ckan/logic/validators.py:42 msgid "An organization must be provided" -msgstr "يجب توفير المؤسسة" +msgstr "يجب توفير الناشر" #: ckan/logic/validators.py:47 msgid "Organization does not exist" -msgstr "المؤسسة غير موجودة" +msgstr "الناشر غير موجود" #: ckan/logic/validators.py:52 msgid "You cannot add a dataset to this organization" -msgstr "لا يمكنك إضافة جدولة بيانات إلى هذه المؤسسة" +msgstr "لا يمكنك إضافة بيانات إلى هذا الناشر" #: ckan/logic/validators.py:92 msgid "Invalid integer" -msgstr "لا يحمل عدد صحيح" +msgstr "غير صحيح " #: ckan/logic/validators.py:97 msgid "Must be a natural number" @@ -1761,11 +1762,11 @@ msgstr "تنسيق التاريخ غير صحيح" #: ckan/logic/validators.py:139 msgid "No links are allowed in the log_message." -msgstr "لا توجد روابط مسموح بها في log_message." +msgstr "لا توجد روابط مسموح بها" #: ckan/logic/validators.py:159 msgid "Dataset id already exists" -msgstr "معرّف جدولة البيانات موجود بالفعل" +msgstr "معرّف البيانات موجود" #: ckan/logic/validators.py:200 msgid "Resource" @@ -1805,17 +1806,17 @@ msgstr "يجب أن يكون حرفًا صغيرًا أبجديًا رقميًا #: ckan/logic/validators.py:361 msgid "That URL is already in use." -msgstr "عنوان URL هذا قيد الاستخدام بالفعل." +msgstr "العنوان قيد الاستخدام" #: ckan/logic/validators.py:366 #, python-format msgid "Name \"%s\" length is less than minimum %s" -msgstr "اسم \"%s\" الطول أقل من الحد الأدنى%s" +msgstr "الإسم \"%s\" أقل من الحد الأدنى%s" #: ckan/logic/validators.py:370 #, python-format msgid "Name \"%s\" length is more than maximum %s" -msgstr "اسم \"%s\" أطول من الحد الأقصى%s" +msgstr "الإسم \"%s\" أطول من الحد الأقصى%s" #: ckan/logic/validators.py:376 #, python-format @@ -1834,12 +1835,12 @@ msgstr "اسم المجموعة موجود بالفعل في قاعدة البي #: ckan/logic/validators.py:416 #, python-format msgid "Tag \"%s\" length is less than minimum %s" -msgstr "العلامة \"%s\"الطول أقل من الحد الأدنى%s" +msgstr "العلامة \"%s\" أقل من الحد الأدنى%s" #: ckan/logic/validators.py:420 #, python-format msgid "Tag \"%s\" length is more than maximum %i" -msgstr "العلامة \"%s\" الطول أكثر من الحد الأقصى %i" +msgstr "العلامة \"%s\" أكثر من الحد الأقصى %i" #: ckan/logic/validators.py:428 #, python-format @@ -1861,11 +1862,11 @@ msgstr "اسم تسجيل الدخول هذا غير متاح." #: ckan/logic/validators.py:570 msgid "Please enter both passwords" -msgstr "يرجى إدخال كلمتي السر" +msgstr "يرجى إدخال كلمة السر" #: ckan/logic/validators.py:578 msgid "Passwords must be strings" -msgstr "يجب أن تكون كلمات السر سلسلة من الاحرف" +msgstr "يجب أن تكون كلمة السر سلسلة من الاحرف" #: ckan/logic/validators.py:582 msgid "Your password must be 4 characters or longer" @@ -1886,11 +1887,11 @@ msgstr "" #: ckan/logic/validators.py:620 #, python-format msgid "Name must be at least %s characters long" -msgstr "يجب ألا يقل الاسم عن%s من الأحرف" +msgstr "يجب أن يكون الاسم على الأقل %s مجوعة من الأحروف" #: ckan/logic/validators.py:628 msgid "That vocabulary name is already in use." -msgstr "أسم هذه المفردة مستخدم بالفعل" +msgstr "أسم هذه المفردة مستخدم من قبل" #: ckan/logic/validators.py:634 #, python-format @@ -1904,7 +1905,7 @@ msgstr "علامة المفردة لم يتم الثور عليها" #: ckan/logic/validators.py:656 #, python-format msgid "Tag %s does not belong to vocabulary %s" -msgstr "العلامة %s لا ينتمي إلى المفردات%s" +msgstr "العلامة %s لا تنتمي إلى القاموس%s" #: ckan/logic/validators.py:662 msgid "No tag name" @@ -1913,19 +1914,19 @@ msgstr "لا يوجد اسم العلامة" #: ckan/logic/validators.py:675 #, python-format msgid "Tag %s already belongs to vocabulary %s" -msgstr "العلامة %s ينتمي بالفعل إلى المفردات%s" +msgstr "العلامة %sتنتمي بالفعل إلى القاموس%s" #: ckan/logic/validators.py:698 msgid "Please provide a valid URL" -msgstr "يرجى تقديم عنوان URL صالح" +msgstr "يرجى تقديم عنوان صحيح" #: ckan/logic/validators.py:712 msgid "role does not exist." -msgstr "وظيفة غير موجودة" +msgstr "غير متوفر" #: ckan/logic/validators.py:741 msgid "Datasets with no organization can't be private." -msgstr "لا يمكن أن تكون جدولة البيانات غير المنظمة خاصة." +msgstr "البيانات بدون ناشر لايمكن تكون خاصة" #: ckan/logic/validators.py:747 msgid "Not a list" @@ -1941,23 +1942,23 @@ msgstr "هذا الوالد سيخلق حلقة في التسلسل الهرمي #: ckan/logic/validators.py:792 msgid "\"filter_fields\" and \"filter_values\" should have the same length" -msgstr "\"filter_fields\" and \"filter_values\" يجب أن يكون لها نفس الطول" +msgstr " يجب أن يكون لها نفس الطول" #: ckan/logic/validators.py:803 msgid "\"filter_fields\" is required when \"filter_values\" is filled" -msgstr "\"filter_fields\" عند تعبئة \"filter_values\" يكون مطلوب" +msgstr "متطلَب عند الإدخال" #: ckan/logic/validators.py:806 msgid "\"filter_values\" is required when \"filter_fields\" is filled" -msgstr "\"filter_values\" عند تعبئة \"\"filter_fields\" يكون مطلوب" +msgstr "متطلًب عند الإدخال" #: ckan/logic/validators.py:820 msgid "There is a schema field with the same name" -msgstr "يوجد حقل مخطط بالاسم نفسه" +msgstr "يوجد حقل بنفس الإسم" #: ckan/logic/validators.py:846 msgid "Email {email} is not a valid format" -msgstr "البريد الإلكتروني {email} ليس تنسيقًا صالحًا" +msgstr "التنسيق غير صحيح" #: ckan/logic/action/create.py:183 ckan/logic/action/create.py:665 #, python-format @@ -1976,15 +1977,15 @@ msgstr "REST API: إنشاء كائن عضو %s" #: ckan/logic/action/create.py:804 msgid "Trying to create an organization as a group" -msgstr "محاولة إنشاء مؤسسة كمجموعة" +msgstr "محاولة إنشاء ناشر" #: ckan/logic/action/create.py:893 msgid "You must supply a package id or name (parameter \"package\")." -msgstr "يجب عليك توفير معرف حزمة أو اسم (parameter \"package\")." +msgstr "يجب عليك توفير رقم معرًف حزمة أو اسم " #: ckan/logic/action/create.py:896 msgid "You must supply a rating (parameter \"rating\")." -msgstr "يجب عليك تقديم تصنيف (parameter \"rating\")." +msgstr "يجب عليك التقييم" #: ckan/logic/action/create.py:901 msgid "Rating must be an integer value." @@ -1997,7 +1998,7 @@ msgstr "يجب أن يكون التقييم بين%iو%i." #: ckan/logic/action/create.py:1064 msgid "Error sending the invite email, the user was not created: {0}" -msgstr "خطأ في إرسال البريد الإلكتروني للدعوة ، لم يتم إنشاء المستخدم: {0}" +msgstr "خطأ في إرسال البريد الإلكتروني للدعوة ، لم يتم إنشاء المستخدم" #: ckan/logic/action/create.py:1277 ckan/logic/action/create.py:1284 msgid "You must be logged in to follow users" @@ -2010,15 +2011,15 @@ msgstr "لا يمكنك متابعة نفسك" #: ckan/logic/action/create.py:1305 ckan/logic/action/create.py:1362 #: ckan/logic/action/create.py:1501 msgid "You are already following {0}" -msgstr "أنت تتابع بالفعل {0}" +msgstr "أنت تتابع" #: ckan/logic/action/create.py:1336 ckan/logic/action/create.py:1344 msgid "You must be logged in to follow a dataset." -msgstr "يجب عليك تسجيل الدخول لمتابعة جدولة البيانات." +msgstr "يجب عليك تسجيل الدخول لمتابعة البيانات." #: ckan/logic/action/create.py:1402 msgid "User {username} does not exist." -msgstr "المستخدم {username} غير موجود." +msgstr "أسم المستخدم غير موجود." #: ckan/logic/action/create.py:1477 ckan/logic/action/create.py:1485 msgid "You must be logged in to follow a group." @@ -2026,7 +2027,7 @@ msgstr "يجب أن تكون مسجلا لمتابعة مجموعة." #: ckan/logic/action/delete.py:54 msgid " Delete User: {0}" -msgstr "حذف المستخدم: {0}" +msgstr "حذف المستخدم" #: ckan/logic/action/delete.py:92 #, python-format @@ -2046,7 +2047,7 @@ msgstr "REST API: حذف العضو: %s" #: ckan/logic/action/delete.py:544 ckan/logic/action/delete.py:570 #: ckan/logic/action/get.py:2482 ckan/logic/action/update.py:953 msgid "id not in data" -msgstr "id ليس في البيانات" +msgstr "لا يوجد لهذة البيانات رقم" #: ckan/logic/action/delete.py:548 ckan/logic/action/get.py:2485 #: ckan/logic/action/update.py:957 @@ -2061,11 +2062,11 @@ msgstr "تعذر العثور على العلامة \"%s\"" #: ckan/logic/action/delete.py:604 ckan/logic/action/delete.py:608 msgid "You must be logged in to unfollow something." -msgstr "يجب أن تكون مسجلا لخلط شيء ما." +msgstr "يجب أن تكون مسجلاً لإلغاء المتابعة" #: ckan/logic/action/delete.py:619 msgid "You are not following {0}." -msgstr "أنت لا تتابع {0}." +msgstr "أنت لا تتابع" #: ckan/logic/action/get.py:1097 ckan/logic/action/update.py:75 #: ckan/logic/action/update.py:89 @@ -2082,7 +2083,7 @@ msgstr "يجب أن يكون : pair(s)" #: ckan/logic/action/get.py:2128 msgid "Field \"{field}\" not recognised in resource_search." -msgstr "الحقل \"{field}\" غير معترف به في resource_search." +msgstr "الحقل غير معترف بة في مصادر البحث" #: ckan/logic/action/update.py:261 ckan/logic/action/update.py:1055 msgid "Package was not found." @@ -2101,11 +2102,11 @@ msgstr "REST API: تحديث علاقة الحزمة:%s%s%s" #: ckan/logic/action/update.py:761 msgid "TaskStatus was not found." -msgstr "لم يتم العثور على TaskStatus." +msgstr "لم يتم العثور " #: ckan/logic/action/update.py:1059 msgid "Organization was not found." -msgstr "المؤسسة لم يتم العثور عليها." +msgstr "الناشر لم يتم العثور علية " #: ckan/logic/auth/create.py:27 ckan/logic/auth/create.py:45 #, python-format @@ -2120,7 +2121,7 @@ msgstr "المستخدم%s غير مصرح له بتعديل هذه المجمو #: ckan/logic/auth/create.py:38 #, python-format msgid "User %s not authorized to add dataset to this organization" -msgstr "المستخدم%sغير مصرح له بإضافة جدولة البيانات الى هذه المؤسسة" +msgstr "المستخدم%sغير مصرح له بإضافة البيانات الى هذا الناشر " #: ckan/logic/auth/create.py:61 msgid "No dataset id provided, cannot check auth." @@ -2129,12 +2130,12 @@ msgstr "لا يمكن تحديد معرّف مجموعة البيانات ، ل #: ckan/logic/auth/create.py:68 ckan/logic/auth/delete.py:34 #: ckan/logic/auth/get.py:137 ckan/logic/auth/update.py:63 msgid "No package found for this resource, cannot check auth." -msgstr "لا يمكن العثور على حزمة لهذا المورد ، ولا يمكن التحقق من المصادقة." +msgstr "لا يمكن العثور على حزمة لهذا المصدر ، ولا يمكن التحقق من المصادقة." #: ckan/logic/auth/create.py:76 #, python-format msgid "User %s not authorized to create resources on dataset %s" -msgstr "المستخدم%s غير مصرح لإنشاء موارد على جدولة البيانات%s" +msgstr "المستخدم%s غير مصرح لإنشاء مصادر على البيانات%s" #: ckan/logic/auth/create.py:108 #, python-format @@ -2149,7 +2150,7 @@ msgstr "المستخدم%s غير مصرح له بإنشاء مجموعات" #: ckan/logic/auth/create.py:129 #, python-format msgid "User %s not authorized to create organizations" -msgstr "المستخدم%s غير مصرح له بإنشاء مؤسسات" +msgstr "المستخدم%s غير مصرح له بإنشاء ناشرون" #: ckan/logic/auth/create.py:145 msgid "User {user} not authorized to create users via the API" @@ -2184,16 +2185,16 @@ msgstr "المستخدم%s غير مصرح له بتعديل المجموعة%s" #: ckan/logic/auth/delete.py:40 #, python-format msgid "User %s not authorized to delete resource %s" -msgstr "المستخدم%s غير مخول بحذف المورد%s" +msgstr "المستخدم%s غير مخول بحذف المصادر%s" #: ckan/logic/auth/delete.py:56 msgid "Resource view not found, cannot check auth." -msgstr "لم يتم العثور على عرض المورد ، لا يمكن التحقق من المصادقة." +msgstr "لم يتم العثور على عرض المصادر ، لا يمكن التحقق من المصادقة." #: ckan/logic/auth/delete.py:73 #, python-format msgid "User %s not authorized to delete relationship %s" -msgstr "المستخدم%s غير مخول بحذف العلاقة%s" +msgstr "المستخدم%s غير مصرح بحذف العلاقة%s" #: ckan/logic/auth/delete.py:82 #, python-format @@ -2203,22 +2204,22 @@ msgstr "المستخدم%s غير مصرح له بحذف المجموعات" #: ckan/logic/auth/delete.py:86 #, python-format msgid "User %s not authorized to delete group %s" -msgstr "المستخدم%s غير مخول بحذف المجموعة%s" +msgstr "المستخدم%s غير مصرح بحذف المجموعة%s" #: ckan/logic/auth/delete.py:103 #, python-format msgid "User %s not authorized to delete organizations" -msgstr "المستخدم%sغير مخول بحذف المؤسسات" +msgstr "المستخدم%sغير مصرح بحذف الناشرون" #: ckan/logic/auth/delete.py:107 #, python-format msgid "User %s not authorized to delete organization %s" -msgstr "المستخدم%s غير مخول بحذف المنظمة%s" +msgstr "المستخدم%s غير مصرح بحذف الناشر%s" #: ckan/logic/auth/delete.py:120 #, python-format msgid "User %s not authorized to delete task_status" -msgstr "المستخدم%s غير مخول بحذف task_status" +msgstr "المستخدم%s غير مصرح بالحذف" #: ckan/logic/auth/get.py:13 ckan/logic/auth/get.py:285 msgid "Not authorized" @@ -2232,12 +2233,12 @@ msgstr "المستخدم%s غير مصرح له بقراءة هذه الحزم" #: ckan/logic/auth/get.py:124 #, python-format msgid "User %s not authorized to read package %s" -msgstr "المستخدم%s غير مخول لقراءة الحزمة%s" +msgstr "المستخدم%s غير مصرح لقراءة الحزمة%s" #: ckan/logic/auth/get.py:143 #, python-format msgid "User %s not authorized to read resource %s" -msgstr "المستخدم%s غير مخول لقراءة المورد%s" +msgstr "المستخدم%s غير مصرح لقراءة المصادر%s" #: ckan/logic/auth/get.py:170 #, python-format @@ -2256,17 +2257,17 @@ msgstr "المستخدم%sغير مصرح له بتحرير الحزمة%s" #: ckan/logic/auth/update.py:71 #, python-format msgid "User %s not authorized to edit resource %s" -msgstr "المستخدم%sغير مصرح له بتعديل المورد%s" +msgstr "المستخدم%sغير مصرح له بتعديل المصدر%s" #: ckan/logic/auth/update.py:100 #, python-format msgid "User %s not authorized to change state of package %s" -msgstr "المستخدم%s غير مخول بتغيير حالة الحزمة%s" +msgstr "المستخدم%s غير مصرح بتغيير حالة الحزمة%s" #: ckan/logic/auth/update.py:128 #, python-format msgid "User %s not authorized to edit organization %s" -msgstr "المستخدم%s غير مصرح له بتعديل المؤسسة%s" +msgstr "المستخدم%s غير مصرح له بتعديل الناشر%s" #: ckan/logic/auth/update.py:145 #, python-format @@ -2285,7 +2286,7 @@ msgstr "يجب تسجيل الدخول لتحرير المستخدم" #: ckan/logic/auth/update.py:198 #, python-format msgid "User %s not authorized to edit user %s" -msgstr "مستخدم%s غير مخول لتعديل المستخدم%s" +msgstr "مستخدم%s غير مصرح لتعديل المستخدم%s" #: ckan/logic/auth/update.py:209 msgid "User {0} not authorized to update user {1}" @@ -2340,7 +2341,7 @@ msgstr "Creative Commons Attribution" #: ckan/model/license.py:282 msgid "Creative Commons Attribution Share-Alike" -msgstr "ترخيص Creative Commons Attribution Share-Alike" +msgstr " Creative Commons Attribution Share-Alike" #: ckan/model/license.py:291 msgid "GNU Free Documentation License" @@ -2421,7 +2422,7 @@ msgstr "لدية صلة %s" #: ckan/public/base/javascript/modules/api-info.js:96 msgid "There is no API data to load for this resource" -msgstr "لا توجد بيانات API لتحميل لهذا المورد" +msgstr "لا توجد بيانات API لتحميل لهذا المصدر" #: ckan/public/base/javascript/modules/api-info.js:124 msgid "Failed to load data API information" @@ -2553,7 +2554,7 @@ msgstr "غير قادر على مصادقة التحميل" #: ckan/public/base/javascript/modules/resource-upload-field.js:260 msgid "Resource uploaded" -msgstr "الموارد التي تم تحميلها" +msgstr "المصادر التي تم تحميلها" #: ckan/public/base/javascript/modules/resource-upload-field.js:266 msgid "Unable to get data for uploaded file" @@ -2604,7 +2605,7 @@ msgstr "خطأ %(error_code)s" #: ckan/templates/footer.html:9 msgid "About {0}" -msgstr "حول {0}" +msgstr "عن {0}" #: ckan/templates/footer.html:15 msgid "CKAN API" @@ -2612,7 +2613,7 @@ msgstr "CKAN API " #: ckan/templates/footer.html:16 msgid "CKAN Association" -msgstr "مجموعة CKAN" +msgstr "مجموعةالبوابة" #: ckan/templates/footer.html:24 msgid "" @@ -2620,7 +2621,7 @@ msgid "" "href=\"http://ckan.org\">CKAN" msgstr "" "مشغل بواسطة Ckan" +"href=\"http://ckan.org\">البوابة" #: ckan/templates/header.html:12 msgid "Sysadmin settings" @@ -2681,11 +2682,11 @@ msgstr "تسجيل" #: ckan/templates/user/read.html:5 ckan/templates/user/read_base.html:19 #: ckan/templates/user/read_base.html:53 msgid "Datasets" -msgstr "جدولة البيانات" +msgstr " البيانات" #: ckan/templates/header.html:116 msgid "Search Datasets" -msgstr "البحث في جدولة البيانات" +msgstr "البحث في البيانات" #: ckan/templates/header.html:117 ckan/templates/home/snippets/search.html:11 #: ckan/templates/snippets/simple_search.html:5 @@ -2740,7 +2741,7 @@ msgstr "تحديث الاعدادات" #: ckan/templates/admin/config.html:26 msgid "CKAN config options" -msgstr "خيارات إعدادات CKAN" +msgstr "خيارات إعداداتالبوابة" #: ckan/templates/admin/config.html:33 #, python-format @@ -2782,7 +2783,7 @@ msgstr "تأكيد إعادة التعيين" #: ckan/templates/admin/index.html:15 msgid "Administer CKAN" -msgstr "إدارة CKAN" +msgstr "إدارة البوابة" #: ckan/templates/admin/index.html:20 #, python-format @@ -2797,15 +2798,15 @@ msgstr "" #: ckan/templates/admin/trash.html:20 msgid "Purge" -msgstr "تطهير" +msgstr "مسح" #: ckan/templates/admin/trash.html:32 msgid "

Purge deleted datasets forever and irreversibly.

" -msgstr "

تطهير جدولة البيانات حذف إلى الأبد وبشكل لا رجعة فيه.

" +msgstr "

مسح البيانات حذف إلى الأبد وبشكل لا رجعة فيه.

" #: ckan/templates/dataviewer/snippets/data_preview.html:9 msgid "This resource can not be previewed at the moment." -msgstr "لا يمكن معاينة هذا المورد في الوقت الحالي." +msgstr "لا يمكن معاينة هذا المصدر في الوقت الحالي." #: ckan/templates/dataviewer/snippets/data_preview.html:11 #: ckan/templates/package/resource_read.html:115 @@ -2816,7 +2817,7 @@ msgstr "انقر هنا لمزيد من المعلومات" #: ckan/templates/dataviewer/snippets/data_preview.html:18 #: ckan/templates/package/snippets/resource_view.html:33 msgid "Download resource" -msgstr "تنزيل الموارد" +msgstr "تنزيل المصادر" #: ckan/templates/dataviewer/snippets/no_preview.html:3 msgid "No preview available." @@ -2910,7 +2911,7 @@ msgstr "أختيار" #: ckan/templates/user/activity_stream.html:6 #: ckan/templates/user/read_base.html:20 msgid "Activity Stream" -msgstr "تيار فعال" +msgstr "نشاط فعال" #: ckan/templates/group/admins.html:3 ckan/templates/group/admins.html:6 #: ckan/templates/organization/admins.html:3 @@ -3081,7 +3082,7 @@ msgid "" "datasets from groups

" msgstr "" "

مشرف: يمكنه تعديل معلومات المجموعة ، وكذلك إدارة أعضاء " -"المؤسسة.

عضو: يمكن إضافة / إزالة جدولة البيانات من " +"الناشر.

عضو: يمكن إضافة / إزالة البيانات من " "المجموعات

" #: ckan/templates/group/new.html:3 ckan/templates/group/new.html:5 @@ -3100,11 +3101,11 @@ msgstr "انشاء مجموعة" #: ckan/templates/group/read.html:21 ckan/templates/organization/read.html:25 #: ckan/templates/snippets/search_form.html:3 msgid "Search datasets..." -msgstr "بحث في جدولة البيانات ..." +msgstr "بحث في البيانات ..." #: ckan/templates/group/snippets/feeds.html:3 msgid "Datasets in group: {group}" -msgstr "جدولة البيانات في المجموعة: {group}" +msgstr " البيانات في المجموعة" #: ckan/templates/group/snippets/feeds.html:4 #: ckan/templates/organization/snippets/feeds.html:4 @@ -3119,15 +3120,15 @@ msgstr "اسم" #: ckan/templates/group/snippets/group_form.html:10 msgid "My Group" -msgstr "مجموعاتي" +msgstr "مجموعتي" #: ckan/templates/group/snippets/group_form.html:18 msgid "my-group" -msgstr "مجموعاتي" +msgstr "مجموعتي" #: ckan/templates/group/snippets/group_form.html:20 msgid "A little information about my group..." -msgstr "معلومات قليلة عن مجموعاتي ..." +msgstr "معلومات قليلة عن مجموعتي ..." #: ckan/templates/group/snippets/group_form.html:60 msgid "Are you sure you want to delete this Group?" @@ -3144,7 +3145,7 @@ msgstr "عرض {name}" #: ckan/templates/group/snippets/group_item.html:43 msgid "Remove dataset from this group" -msgstr "إزالة جدولة البيانات من هذه المجموعة" +msgstr "إزالة البيانات من هذه المجموعة" #: ckan/templates/group/snippets/helper.html:4 msgid "What are Groups?" @@ -3157,10 +3158,10 @@ msgid "" "particular theme, or as a very simple way to help people find and search " "your own published datasets. " msgstr "" -"يمكنك استخدام مجموعات CKAN لإنشاء مجموعات من جدولة البيانات وإدارتها. يمكن " -"أن يكون ذلك لفهرسة مجموعات البيانات لمشروع أو فريق معين ، أو لموضوع معين ، " -"أو كطريقة بسيطة جدًا لمساعدة الأشخاص في البحث عن جدولة البيانات المنشورة " -"الخاصة بك والبحث عنها." +"يمكنك استخدام مجموعات البوابة لإنشاء مجموعات من البيانات وإدارتها. يمكن أن " +"يكون ذلك لفهرسة مجموعات البيانات لمشروع أو فريق معين ، أو لموضوع معين ، أو " +"كطريقة بسيطة جدًا لمساعدة الأشخاص في البحث عن البيانات المنشورة الخاصة بك " +"والبحث عنها." #: ckan/templates/group/snippets/history_revisions.html:10 #: ckan/templates/package/snippets/history_revisions.html:10 @@ -3292,15 +3293,15 @@ msgstr "الإحصاء{0}" #: ckan/templates/home/snippets/stats.html:11 msgid "dataset" -msgstr "جدولة البيانات" +msgstr " البيانات" #: ckan/templates/home/snippets/stats.html:11 msgid "datasets" -msgstr "جدولة البيانات" +msgstr " البيانات" #: ckan/templates/home/snippets/stats.html:17 msgid "organizations" -msgstr "المنظمات" +msgstr "الناشرون" #: ckan/templates/home/snippets/stats.html:23 msgid "groups" @@ -3343,7 +3344,7 @@ msgstr "http://example.com/my-image.jpg " #: ckan/templates/macros/form.html:411 msgid "Image URL" -msgstr "العنوان URL للصورة" +msgstr "العنوان للصورة" #: ckan/templates/macros/form.html:424 msgid "Clear Upload" @@ -3351,16 +3352,16 @@ msgstr "الغاء الرفع" #: ckan/templates/organization/base_form_page.html:5 msgid "Organization Form" -msgstr "نموذج المنظمة" +msgstr "نموذج الناشر" #: ckan/templates/organization/bulk_process.html:3 #: ckan/templates/organization/bulk_process.html:11 msgid "Edit datasets" -msgstr "تحرير جدولة البيانات" +msgstr "تحرير البيانات" #: ckan/templates/organization/bulk_process.html:6 msgid "Add dataset" -msgstr "إضافة جدولة البيانات" +msgstr "إضافة البيانات" #: ckan/templates/organization/bulk_process.html:16 msgid " found for \"{query}\"" @@ -3368,7 +3369,7 @@ msgstr "وجدت ل \"{query}\"" #: ckan/templates/organization/bulk_process.html:18 msgid "Sorry no datasets found for \"{query}\"" -msgstr "آسف لم يتم العثور على جدولة البيانات ل \"{query}\"" +msgstr "لم يتم العثور على بيانات ل \"{query}\"" #: ckan/templates/organization/bulk_process.html:37 msgid "Make public" @@ -3395,26 +3396,26 @@ msgstr "خاص" #: ckan/templates/organization/bulk_process.html:88 msgid "This organization has no datasets associated to it" -msgstr "هذه المؤسسة ليس لديها جدولة البيانات المرتبطة بها" +msgstr "هذا الناشر ليس لديه بيانات مرتبط بها" #: ckan/templates/organization/confirm_delete.html:11 msgid "Are you sure you want to delete organization - {name}?" -msgstr "هل أنت متأكد من أنك تريد حذف المؤسسة - {name}؟" +msgstr "هل أنت متأكد من أنك تريد حذف الناشر " #: ckan/templates/organization/edit.html:6 #: ckan/templates/organization/snippets/info.html:13 #: ckan/templates/organization/snippets/info.html:16 msgid "Edit Organization" -msgstr "تحرير منظمة" +msgstr "تحرير الناشر" #: ckan/templates/organization/index.html:13 #: ckan/templates/user/dashboard_organizations.html:7 msgid "Add Organization" -msgstr "إضافة منظمة" +msgstr "إضافة الناشر" #: ckan/templates/organization/index.html:20 msgid "Search organizations..." -msgstr "البحث في المنظمات..." +msgstr "البحث في الناشر..." #: ckan/templates/organization/index.html:29 msgid "There are currently no organizations for this site" @@ -3446,11 +3447,10 @@ msgid "" "

Member: Can view the organization's private datasets, " "but not add new datasets.

" msgstr "" -"

مشرف: يمكن إضافة / تحرير وحذف جدولة البيانات ، وكذلك " -"إدارة أعضاء المؤسسة.

محرر: يمكن إضافة وتحرير جدولة " -"البيانات ، ولكن لا يمكنك إدارة أعضاء المؤسسة.

العضو:" -" يمكن عرض جدولة البيانات الخاصة للمؤسسة ، ولكن لا تضيف جدولة بيانات " -"جديدة.

" +"

مشرف: يمكن إضافة / تحرير وحذف البيانات ، وكذلك إدارة " +"أعضاء الناشر.

محرر: يمكن إضافة وتحرير البيانات ، " +"ولكن لا يمكنك إدارة أعضاء الناشر.

العضو: يمكن عرض " +"البيانات الخاصة للناشر ، ولكن لا تضيف بيانات جديدة.

" #: ckan/templates/organization/members.html:14 msgid "{count} member" @@ -3467,30 +3467,30 @@ msgstr[5] "" #: ckan/templates/organization/new.html:7 #: ckan/templates/organization/new.html:12 msgid "Create an Organization" -msgstr "إنشاء منظمة" +msgstr "إنشاء ناشر" #: ckan/templates/organization/new_organization_form.html:17 msgid "Update Organization" -msgstr "تحديث منظمة" +msgstr "تحديث ناشر" #: ckan/templates/organization/new_organization_form.html:19 msgid "Create Organization" -msgstr "إنشاء منظمة" +msgstr "إنشاء ناشر" #: ckan/templates/organization/read.html:5 #: ckan/templates/package/search.html:16 #: ckan/templates/user/dashboard_datasets.html:7 msgid "Add Dataset" -msgstr "إضافة جدولة البيانات" +msgstr "إضافة البيانات" #: ckan/templates/organization/snippets/feeds.html:3 msgid "Datasets in organization: {group}" -msgstr "جدولة البيانات في مؤسسة: {group}" +msgstr " البيانات في الناشر: {group}" #: ckan/templates/organization/snippets/help.html:4 #: ckan/templates/organization/snippets/helper.html:4 msgid "What are Organizations?" -msgstr "ما هي المنظمات؟" +msgstr "ما هم الناشرون؟" #: ckan/templates/organization/snippets/help.html:7 msgid "" @@ -3501,9 +3501,9 @@ msgid "" "individual users the right to publish datasets from that particular " "organisation (e.g. Office of National Statistics).

" msgstr "" -"

تعمل المنظمات مثل دوائر النشر لمجموعات البيانات (على سبيل المثال ، وزارة " +"

يعمل الناشرون مثل دوائر النشر لمجموعات البيانات (على سبيل المثال ، وزارة " "الصحة). وهذا يعني أنه يمكن نشر مجموعات البيانات من قِبل قسم ما بدلاً من " -"مستخدم فردي

داخل المؤسسات ، يمكن للمشرفين تعيين أدوار وتفويض أعضائها" +"مستخدم فردي

داخل الناشرون ، يمكن للمشرفين تعيين أدوار وتفويض أعضائها" " ، مما يمنح المستخدمين الفرديين الحق في نشر مجموعات البيانات من تلك المنظمة " "المعينة (على سبيل المثال ، مكتب الإحصائيات الوطنية)

" @@ -3513,33 +3513,33 @@ msgid "" "datasets. Users can have different roles within an Organization, depending " "on their level of authorisation to create, edit and publish. " msgstr "" -"تُستخدم مؤسسات CKAN لإنشاء مجموعات من جدولة البيانات وإدارتها ونشرها. يمكن " -"أن يكون للمستخدمين أدوارًا مختلفة داخل مؤسسة ، بناءً على مستوى التفويض الخاص" -" بهم لإنشاء و تحرير ونشر." +"يستخدم الناشرون البوابة لإنشاء مجموعات من البيانات وإدارتها ونشرها. يمكن " +"أن يكون للمستخدمين أدوارًا مختلفة داخل الناشر ، بناءً على مستوى التفويض " +"الخاص بهم لإنشاء و تحرير ونشر." #: ckan/templates/organization/snippets/organization_form.html:10 msgid "My Organization" -msgstr "منظمتي" +msgstr "حساب الناشر" #: ckan/templates/organization/snippets/organization_form.html:18 msgid "my-organization" -msgstr "منظمتي" +msgstr "حساب الناشر" #: ckan/templates/organization/snippets/organization_form.html:20 msgid "A little information about my organization..." -msgstr "معلومات قليلة عن منظمتي ..." +msgstr "معلومات قليلة عن حساب الناشر ..." #: ckan/templates/organization/snippets/organization_form.html:60 msgid "" "Are you sure you want to delete this Organization? This will delete all the " "public and private datasets belonging to this organization." msgstr "" -"هل أنت متأكد من أنك تريد حذف هذه المنظمة؟ سيؤدي هذا إلى حذف جميع جدولة " -"البيانات العامة والخاصة التي تنتمي إلى هذه المؤسسة." +"هل أنت متأكد من أنك تريد حذف هذا الناشر؟ سيؤدي هذا إلى حذف جميع البيانات " +"العامة والخاصة التي تنتمي إلى هذه الناشر." #: ckan/templates/organization/snippets/organization_form.html:63 msgid "Save Organization" -msgstr "حفظ المنظمة" +msgstr "حفظ الناشر" #: ckan/templates/organization/snippets/organization_item.html:42 #: ckan/templates/organization/snippets/organization_item.html:43 @@ -3549,11 +3549,11 @@ msgstr "عرض {organization_name}" #: ckan/templates/package/base.html:22 ckan/templates/package/new.html:9 #: ckan/templates/package/snippets/new_package_breadcrumb.html:2 msgid "Create Dataset" -msgstr "إنشاء جدولة البيانات" +msgstr "إنشاء البيانات" #: ckan/templates/package/base_form_page.html:22 msgid "What are datasets?" -msgstr "ماهي جدولة البيانات؟" +msgstr "ماهي البيانات؟" #: ckan/templates/package/base_form_page.html:25 msgid "" @@ -3561,21 +3561,21 @@ msgid "" "with a description and other information, at a fixed URL. Datasets are what " "users see when searching for data. " msgstr "" -"جدولة البيانات CKAN عبارة عن مجموعة من موارد البيانات (مثل الملفات) ، " -"بالإضافة إلى وصف ومعلومات أخرى ، على عنوان URL ثابت. جدولة البيانات هي ما " -"يراه المستخدمون عند البحث عن البيانات." +"البيانات CKAN عبارة عن مجموعة من موارد البيانات (مثل الملفات) ، بالإضافة إلى" +" وصف ومعلومات أخرى ، على عنوان URL ثابت. البيانات هي ما يراه المستخدمون عند" +" البحث عن البيانات." #: ckan/templates/package/confirm_delete.html:12 msgid "Are you sure you want to delete dataset - {name}?" -msgstr "هل أنت متأكد أنك تريد حذف جدولة البيانات - {name}؟" +msgstr "هل أنت متأكد أنك تريد حذف البيانات - {name}؟" #: ckan/templates/package/confirm_delete_resource.html:11 msgid "Are you sure you want to delete resource - {name}?" -msgstr "هل أنت متأكد من أنك تريد حذف المورد - {name}؟" +msgstr "هل أنت متأكد من أنك تريد حذفالمصدر - {name}؟" #: ckan/templates/package/edit_base.html:16 msgid "View dataset" -msgstr "عرض جدولة البيانات" +msgstr "عرض البيانات" #: ckan/templates/package/edit_base.html:20 msgid "Edit metadata" @@ -3601,7 +3601,7 @@ msgstr "تحديث" #: ckan/templates/package/group_list.html:14 msgid "Associate this group with this dataset" -msgstr "اربط هذه المجموعة بجدولة البيانات" +msgstr "اربط هذه المجموعة بالبيانات" #: ckan/templates/package/group_list.html:14 msgid "Add to group" @@ -3613,25 +3613,25 @@ msgstr "لا توجد مجموعات مرتبطة بهذه المجموعة من #: ckan/templates/package/new_package_form.html:15 msgid "Update Dataset" -msgstr "تحديث جدولة البيانات" +msgstr "تحديث البيانات" #: ckan/templates/package/new_resource.html:5 msgid "Add data to the dataset" -msgstr "إضافة بيانات لجدولة البيانات" +msgstr "إضافة بيانات لمجموعة البيانات" #: ckan/templates/package/new_resource.html:11 #: ckan/templates/package/new_resource_not_draft.html:8 msgid "Add New Resource" -msgstr "إضافة موارد جديدة" +msgstr "إضافة مصادر جديدة" #: ckan/templates/package/new_resource_not_draft.html:3 #: ckan/templates/package/new_resource_not_draft.html:4 msgid "Add resource" -msgstr "إضافة موارد" +msgstr "إضافة مصادر" #: ckan/templates/package/new_resource_not_draft.html:16 msgid "New resource" -msgstr "موارد جديدة" +msgstr "مصادر جديدة" #: ckan/templates/package/new_view.html:3 #: ckan/templates/package/new_view.html:4 @@ -3664,21 +3664,21 @@ msgid "" "This is an old revision of this dataset, as edited at %(timestamp)s. It may " "differ significantly from the current revision." msgstr "" -"هذه نسخة قديمة من جدولة البيانات هذه , كما تم تعديلها على %(timestamp)s. قد " -"تختلف اختلافا كبيرا عن المراجعة الحالية" +"هذه نسخة قديمة من البيانات هذه , كما تم تعديلها على %(timestamp)s. قد تختلف " +"اختلافا كبيرا عن المراجعة الحالية" #: ckan/templates/package/resource_edit_base.html:17 msgid "All resources" -msgstr "كل الموارد" +msgstr "كل المصادر" #: ckan/templates/package/resource_edit_base.html:19 msgid "View resource" -msgstr "عرض الموارد" +msgstr "عرض المصادر" #: ckan/templates/package/resource_edit_base.html:24 #: ckan/templates/package/resource_edit_base.html:30 msgid "Edit resource" -msgstr "تحرير الموارد" +msgstr "تحرير المصادر" #: ckan/templates/package/resource_edit_base.html:26 msgid "Views" @@ -3691,7 +3691,7 @@ msgstr "نقطة نهاية API" #: ckan/templates/package/resource_read.html:41 #: ckan/templates/package/snippets/resource_item.html:47 msgid "Go to resource" -msgstr "الذهاب الى الموارد" +msgstr "الذهاب الى المصادر" #: ckan/templates/package/resource_read.html:43 #: ckan/templates/package/snippets/resource_item.html:44 @@ -3701,11 +3701,11 @@ msgstr "تحميل" #: ckan/templates/package/resource_read.html:56 #: ckan/templates/package/resource_read.html:58 msgid "URL:" -msgstr "URL: " +msgstr "عنوان: " #: ckan/templates/package/resource_read.html:66 msgid "From the dataset abstract" -msgstr "من ملخص جدولة البيانات" +msgstr "من ملخص البيانات" #: ckan/templates/package/resource_read.html:68 #, python-format @@ -3714,7 +3714,7 @@ msgstr "مصدر: %(dataset)s" #: ckan/templates/package/resource_read.html:109 msgid "There are no views created for this resource yet." -msgstr "لا توجد مشاهدات تم إنشاؤها لهذا المورد حتى الآن." +msgstr "لا توجد مشاهدات تم إنشاؤها لهذا المصادر حتى الآن." #: ckan/templates/package/resource_read.html:113 msgid "Not seeing the views you were expecting?" @@ -3726,7 +3726,7 @@ msgstr "في ما يلي بعض الأسباب التي قد لا تظهر لك #: ckan/templates/package/resource_read.html:120 msgid "No view has been created that is suitable for this resource" -msgstr "لم يتم إنشاء أي عرض مناسب لهذا المورد" +msgstr "لم يتم إنشاء أي عرض مناسب لهذا المصادر" #: ckan/templates/package/resource_read.html:121 msgid "The site administrators may not have enabled the relevant view plugins" @@ -3797,11 +3797,11 @@ msgstr "عرض جديد" #: ckan/templates/package/resource_views.html:28 msgid "This resource has no views" -msgstr "هذا المورد ليس لديه أي عروض " +msgstr "هذا المصادر ليس لديه أي عروض " #: ckan/templates/package/resources.html:8 msgid "Add new resource" -msgstr "إضافة موارد جديدة" +msgstr "إضافة مصادر جديدة" #: ckan/templates/package/resources.html:20 #: ckan/templates/package/snippets/resources_list.html:26 @@ -3810,8 +3810,8 @@ msgid "" "

This dataset has no data, why not " "add some?

" msgstr "" -"

لا تحتوي جدولة البيانات على بيانات ,لماذا لا تضيف بيانات؟

" +"

لا تحتوي البيانات على بيانات ,لماذا " +"لا تضيف بيانات؟

" #: ckan/templates/package/search.html:52 msgid "API" @@ -3888,21 +3888,21 @@ msgstr "آخر تحديث" #: ckan/templates/package/snippets/cannot_create_package.html:10 msgid "Before you can create a dataset you need to create an organization." -msgstr "قبل أن تتمكن من إنشاء جدولة البيانات تحتاج الى إنشاء مؤسسة" +msgstr "قبل أن تتمكن من إنشاء البيانات تحتاج الى إنشاء الناشر" #: ckan/templates/package/snippets/cannot_create_package.html:13 msgid "Create a new organization" -msgstr "إنشاء مؤسسة جديدة" +msgstr "إنشاء الناشر جديدة" #: ckan/templates/package/snippets/cannot_create_package.html:18 msgid "There are no organizations to which you can assign this dataset." -msgstr "لا توجد مؤسسة يمكنك تخصيص جدولة البيانات لها." +msgstr "لا توجد الناشر يمكنك تخصيص البيانات لها." #: ckan/templates/package/snippets/cannot_create_package.html:19 msgid "" "Ask a system administrator to create an organization before you can " "continue." -msgstr "اطلب من مسؤول النظام إنشاء المؤسسة قبل المتابعة." +msgstr "اطلب من مسؤول النظام إنشاء الناشر قبل المتابعة." #: ckan/templates/package/snippets/package_basic_fields.html:4 #: ckan/templates/package/snippets/view_form.html:8 @@ -3915,7 +3915,7 @@ msgstr "مثال. عنوان وصفي" #: ckan/templates/package/snippets/package_basic_fields.html:13 msgid "eg. my-dataset" -msgstr "مثال. جدولة البياناتي" +msgstr "مثال. بياناتي" #: ckan/templates/package/snippets/package_basic_fields.html:19 msgid "eg. Some useful notes about the data" @@ -3936,11 +3936,11 @@ msgstr "" #: ckan/templates/package/snippets/package_basic_fields.html:70 #: ckan/templates/snippets/organization.html:23 msgid "Organization" -msgstr "مؤسسة" +msgstr "ناشر" #: ckan/templates/package/snippets/package_basic_fields.html:74 msgid "No organization" -msgstr "لا توجد مؤسسة" +msgstr "لا توجد ناشر" #: ckan/templates/package/snippets/package_basic_fields.html:89 msgid "Visibility" @@ -3962,15 +3962,15 @@ msgid "" "under the Open " "Database License." msgstr "" -"ينطبق ترخيص البيانات الذي تحدده أعلاه فقط على محتويات أي ملفات موارد " -"تضيفها إلى جدولة البيانات هذه. بإرسال هذا النموذج ، فإنك توافق على إصدار " -"قيمت البيانات الوصفية التي تدخلها في النموذج تحتترخيص البيانات الذي تحدده أعلاه فقط على محتويات أي ملفات مصادر " +"تضيفها إلى البيانات هذه. بإرسال هذا النموذج ، فإنك توافق على إصدار قيمت " +"البيانات الوصفية التي تدخلها في النموذج تحت رخصة قاعدة البيانات " "المفتوحة." #: ckan/templates/package/snippets/package_form.html:39 msgid "Are you sure you want to delete this dataset?" -msgstr "هل أنت متأكد من أنك تريد حذف جدولة البيانات هذه؟" +msgstr "هل أنت متأكد من أنك تريد حذف البيانات هذه؟" #: ckan/templates/package/snippets/package_form.html:43 msgid "Next: Add Data" @@ -4006,7 +4006,7 @@ msgstr "البريد الإلكتروني ل مؤدي الصيانة" #: ckan/templates/package/snippets/resource_edit_form.html:12 msgid "Update Resource" -msgstr "تحديث الموارد" +msgstr "تحديث المصادر" #: ckan/templates/package/snippets/resource_form.html:24 msgid "Data" @@ -4022,7 +4022,7 @@ msgstr "مثال. اسعار الذهب في يناير 2011" #: ckan/templates/package/snippets/resource_form.html:32 msgid "Some useful notes about the data" -msgstr "بعض الملاحظات المفيدة حول البيانات" +msgstr "بعض الملاحظات المفيدة البيانات" #: ckan/templates/package/snippets/resource_form.html:37 msgid "eg. CSV, XML or JSON" @@ -4056,7 +4056,7 @@ msgstr "مثال. application/json" #: ckan/templates/package/snippets/resource_form.html:65 msgid "Are you sure you want to delete this resource?" -msgstr "هل أنت متأكد من أنك تريد حذف هذا المورد؟" +msgstr "هل أنت متأكد من أنك تريد حذف هذا المصادر؟" #: ckan/templates/package/snippets/resource_form.html:71 msgid "Previous" @@ -4072,11 +4072,11 @@ msgstr "نهاية" #: ckan/templates/package/snippets/resource_help.html:2 msgid "What's a resource?" -msgstr "ما هو المورد؟" +msgstr "ما هو المصادر؟" #: ckan/templates/package/snippets/resource_help.html:4 msgid "A resource can be any file or link to a file containing useful data." -msgstr "يمكن أن يكون المورد أي ملف أو رابط إلى ملف يحتوي على بيانات مفيدة." +msgstr "يمكن أن يكون المصادر أي ملف أو رابط إلى ملف يحتوي على بيانات مفيدة." #: ckan/templates/package/snippets/resource_item.html:23 msgid "Explore" @@ -4092,11 +4092,11 @@ msgstr "تضمين" #: ckan/templates/package/snippets/resource_view.html:24 msgid "This resource view is not available at the moment." -msgstr "طريقة عرض الموارد هذه غير متوفرة في الوقت الحالي." +msgstr "طريقة عرض المصادر هذه غير متوفرة في الوقت الحالي." #: ckan/templates/package/snippets/resource_view.html:63 msgid "Embed resource view" -msgstr "تضمين عرض الموارد" +msgstr "تضمين عرض المصادر" #: ckan/templates/package/snippets/resource_view.html:66 msgid "" @@ -4118,25 +4118,25 @@ msgstr "الشفرة" #: ckan/templates/package/snippets/resource_views_list.html:8 msgid "Resource Preview" -msgstr "مراجعة الموارد" +msgstr "مراجعة المصادر" #: ckan/templates/package/snippets/resources_list.html:13 msgid "Data and Resources" -msgstr "البيانات و الموارد" +msgstr "البيانات و المصادر" #: ckan/templates/package/snippets/resources_list.html:30 msgid "This dataset has no data" -msgstr "لا تحتوي جدولة البيانات هذه على بيانات" +msgstr "لا تحتوي البيانات هذه على بيانات" #: ckan/templates/package/snippets/revisions_table.html:24 #, python-format msgid "Read dataset as of %s" -msgstr "قراءة جدولة البيانات اعتبارًا من%s" +msgstr "قراءة البيانات اعتبارًا من%s" #: ckan/templates/package/snippets/stages.html:23 #: ckan/templates/package/snippets/stages.html:25 msgid "Create dataset" -msgstr "إنشاء جدولة البيانات" +msgstr "إنشاء البيانات" #: ckan/templates/package/snippets/stages.html:30 #: ckan/templates/package/snippets/stages.html:34 @@ -4146,11 +4146,11 @@ msgstr "إضافة بيانات" #: ckan/templates/package/snippets/view_form.html:8 msgid "eg. My View" -msgstr "مثل. عرضي" +msgstr "مثل. العرض" #: ckan/templates/package/snippets/view_form.html:9 msgid "eg. Information about my view" -msgstr "مثل. معلومات عن عرضي" +msgstr "مثل. معلومات عن العرض" #: ckan/templates/package/snippets/view_form_filters.html:28 msgid "Remove Filter" @@ -4200,7 +4200,7 @@ msgstr "تغييرات " #: ckan/templates/revision/read.html:74 msgid "Datasets' Tags" -msgstr "علامات جدولة البيانات" +msgstr "علامات البيانات" #: ckan/templates/revision/snippets/revisions_list.html:7 msgid "Entity" @@ -4271,15 +4271,15 @@ msgstr "لم يتم تقديم رخصة" #: ckan/templates/snippets/license.html:28 msgid "This dataset satisfies the Open Definition." -msgstr "هذه جدولة البيانات تلبي التعريف المفتوح." +msgstr "هذه البيانات تلبي التعريف المفتوح." #: ckan/templates/snippets/organization.html:48 msgid "There is no description for this organization" -msgstr "لا يوجد وصف لهذه المؤسسة" +msgstr "لا يوجد وصف لهذا الناشر" #: ckan/templates/snippets/package_item.html:57 msgid "This dataset has no description" -msgstr "لا تحتوي جدولة البيانات هذه على وصف" +msgstr "لا تحتوي البيانات هذه على وصف" #: ckan/templates/snippets/search_form.html:17 msgid "Submit" @@ -4319,7 +4319,7 @@ msgstr[5] "" #: ckan/templates/snippets/search_result_text.html:16 msgid "No datasets found for \"{query}\"" -msgstr "لايوجد جدولة البيانات ل \"{query}\"" +msgstr "لايوجد البيانات ل \"{query}\"" #: ckan/templates/snippets/search_result_text.html:17 msgid "{number} dataset found" @@ -4333,7 +4333,7 @@ msgstr[5] "" #: ckan/templates/snippets/search_result_text.html:18 msgid "No datasets found" -msgstr "لم يتم العثور على جدولة البيانات" +msgstr "لم يتم العثور على البيانات" #: ckan/templates/snippets/search_result_text.html:21 msgid "{number} group found for \"{query}\"" @@ -4375,7 +4375,7 @@ msgstr[5] "" #: ckan/templates/snippets/search_result_text.html:28 msgid "No organizations found for \"{query}\"" -msgstr "لم يتم العثور على مؤسسات لـ \"{query}\"" +msgstr "لم يتم العثور على لـ \"{query}\"" #: ckan/templates/snippets/search_result_text.html:29 msgid "{number} organization found" @@ -4389,7 +4389,7 @@ msgstr[5] "" #: ckan/templates/snippets/search_result_text.html:30 msgid "No organizations found" -msgstr "لم يتم العثور على مؤسسات" +msgstr "لم يتم العثور على الناشرون" #: ckan/templates/snippets/social.html:5 msgid "Social" @@ -4426,12 +4426,12 @@ msgstr "تغذية الأخبار" #: ckan/templates/user/dashboard.html:20 #: ckan/templates/user/dashboard_datasets.html:12 msgid "My Datasets" -msgstr "جدولة بياناتي" +msgstr " البيانات" #: ckan/templates/user/dashboard.html:21 #: ckan/templates/user/dashboard_organizations.html:12 msgid "My Organizations" -msgstr "مؤسستي" +msgstr "حساب الناشر" #: ckan/templates/user/dashboard.html:22 #: ckan/templates/user/dashboard_groups.html:12 @@ -4445,7 +4445,7 @@ msgstr "فعال من العناصر التي أتابعها" #: ckan/templates/user/dashboard_datasets.html:17 #: ckan/templates/user/read.html:14 msgid "You haven't created any datasets." -msgstr "لم تقم بإنشاء أي جدولة البيانات" +msgstr "لم تقم بإنشاء أي البيانات" #: ckan/templates/user/dashboard_datasets.html:19 #: ckan/templates/user/dashboard_groups.html:22 @@ -4460,7 +4460,7 @@ msgstr "أنت لست عضوًا في أي مجموعة." #: ckan/templates/user/dashboard_organizations.html:21 msgid "You are not a member of any organizations." -msgstr "أنت لست عضوًا في أي مؤسسة." +msgstr "أنت لست عضوًا في أي ناشر." #: ckan/templates/user/edit.html:6 ckan/templates/user/edit_base.html:3 #: ckan/templates/user/list.html:6 ckan/templates/user/list.html:13 @@ -4477,7 +4477,7 @@ msgstr "معلومات الحساب" msgid "" " Your profile lets other CKAN users know about who you are and what you do. " msgstr "" -"يتيح ملف التعريف الخاص بك لمستخدمي CKAN الآخرين معرفة من أنت وماذا تفعل." +"يتيح ملف التعريف الخاص بك لمستخدمي البوابة الآخرين معرفة من أنت وماذا تفعل." #: ckan/templates/user/edit_user_form.html:7 msgid "Change details" @@ -4660,7 +4660,7 @@ msgstr "ما عليك سوى إدخال كلمة سر جديدة وسنقوم ب #: ckan/templates/user/read.html:21 msgid "User hasn't created any datasets." -msgstr "لم يقم المستخدم بإنشاء أي جدولة بيانات" +msgstr "لم يقم المستخدم بإنشاء أي بيانات" #: ckan/templates/user/read_base.html:39 msgid "You have not provided a biography." diff --git a/ckan/i18n/bg/LC_MESSAGES/ckan.po b/ckan/i18n/bg/LC_MESSAGES/ckan.po index 46195731f1e..6faf59d4e12 100644 --- a/ckan/i18n/bg/LC_MESSAGES/ckan.po +++ b/ckan/i18n/bg/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Bulgarian (https://www.transifex.com/okfn/teams/11162/bg/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: bg\n" diff --git a/ckan/i18n/ca/LC_MESSAGES/ckan.po b/ckan/i18n/ca/LC_MESSAGES/ckan.po index c4ff64a1397..eed6129a9cd 100644 --- a/ckan/i18n/ca/LC_MESSAGES/ckan.po +++ b/ckan/i18n/ca/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Catalan (https://www.transifex.com/okfn/teams/11162/ca/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: ca\n" diff --git a/ckan/i18n/cs_CZ/LC_MESSAGES/ckan.po b/ckan/i18n/cs_CZ/LC_MESSAGES/ckan.po index 1b2b088b919..40b79f915b0 100644 --- a/ckan/i18n/cs_CZ/LC_MESSAGES/ckan.po +++ b/ckan/i18n/cs_CZ/LC_MESSAGES/ckan.po @@ -3,21 +3,25 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Jakub Klímek , 2018 +# Adrià Mercader , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Jakub Klímek , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Adrià Mercader , 2018\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/okfn/teams/11162/cs_CZ/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" #: ckanext/datapusher/helpers.py:21 msgid "Complete" @@ -383,6 +387,7 @@ msgid_plural "{num} Datasets" msgstr[0] "{num} dataset" msgstr[1] "{num} datasety" msgstr[2] "{num} datových sad" +msgstr[3] "{num} datových sad" #: ckan/templates/group/snippets/group_item.html:34 #: ckan/templates/organization/snippets/organization_item.html:33 @@ -1462,6 +1467,7 @@ msgid_plural "{n} new activities from {site_title}" msgstr[0] "{n} nová aktivita z {site_title}" msgstr[1] "{n} nové aktivity z {site_title}" msgstr[2] "{n} nových aktivit z {site_title}" +msgstr[3] "{n} nových aktivit z {site_title}" #: ckan/lib/formatters.py:19 msgid "January" @@ -1521,6 +1527,7 @@ msgid_plural "{mins} minutes ago" msgstr[0] "před {mins} minutou" msgstr[1] "před {mins} minutami" msgstr[2] "před {mins} minutami" +msgstr[3] "před {mins} minutami" #: ckan/lib/formatters.py:119 msgid "{hours} hour ago" @@ -1528,6 +1535,7 @@ msgid_plural "{hours} hours ago" msgstr[0] "před {hours} hodinou" msgstr[1] "před {hours} hodinami" msgstr[2] "před {hours} hodinami" +msgstr[3] "před {hours} hodinami" #: ckan/lib/formatters.py:125 msgid "{days} day ago" @@ -1535,6 +1543,7 @@ msgid_plural "{days} days ago" msgstr[0] "před {days} dnem" msgstr[1] "před {days} dny" msgstr[2] "před {days} dny" +msgstr[3] "před {days} dny" #: ckan/lib/formatters.py:128 msgid "{months} month ago" @@ -1542,6 +1551,7 @@ msgid_plural "{months} months ago" msgstr[0] "před {months} měsícem" msgstr[1] "před {months} měsíci" msgstr[2] "před {months} měsíci" +msgstr[3] "před {months} měsíci" #: ckan/lib/formatters.py:130 msgid "over {years} year ago" @@ -1549,6 +1559,7 @@ msgid_plural "over {years} years ago" msgstr[0] "před více než {years} rokem" msgstr[1] "před více než {years} roky" msgstr[2] "před více než {years} roky" +msgstr[3] "před více než {years} roky" #: ckan/lib/formatters.py:146 msgid "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" @@ -1644,6 +1655,7 @@ msgid_plural "{number} views" msgstr[0] "{number} shlédnutí" msgstr[1] "{number} shlédnutí" msgstr[2] "{number} shlédnutí" +msgstr[3] "{number} shlédnutí" #: ckan/lib/helpers.py:1650 msgid "{number} recent view" @@ -1651,6 +1663,7 @@ msgid_plural "{number} recent views" msgstr[0] "{number} nedávné shlédnutí" msgstr[1] "{number} nedávné shlédnutí" msgstr[2] "{number} nedávných shlédnutí" +msgstr[3] "{number} nedávných shlédnutí" #: ckan/lib/mailer.py:39 #, python-format @@ -2434,6 +2447,7 @@ msgid_plural "Input is too short, must be at least %(num)d characters" msgstr[0] "Vstup je příliš krátky, musí mít alespoň jeden znak" msgstr[1] "Vstup je příliš krátky, musí mít alespoň %(num)d znaky" msgstr[2] "Vstup je příliš krátky, musí mít alespoň %(num)d znaků" +msgstr[3] "Vstup je příliš krátky, musí mít alespoň %(num)d znaků" #: ckan/public/base/javascript/modules/basic-form.js:4 msgid "There are unsaved modifications to this form" @@ -2626,6 +2640,7 @@ msgid_plural "Dashboard (%(num)d new items)" msgstr[0] "Přehled (%(num)d nová položka)" msgstr[1] "Přehled (%(num)d nové položky)" msgstr[2] "Přehled (%(num)d nových položek)" +msgstr[3] "Přehled (%(num)d nových položek)" #: ckan/templates/header.html:29 ckan/templates/user/dashboard.html:6 msgid "Dashboard" @@ -3451,6 +3466,7 @@ msgid_plural "{count} members" msgstr[0] "{count} člen" msgstr[1] "{count} členové" msgstr[2] "{count} členů" +msgstr[3] "{count} členů" #: ckan/templates/organization/new.html:3 #: ckan/templates/organization/new.html:5 @@ -4316,6 +4332,7 @@ msgid_plural "{number} datasets found for \"{query}\"" msgstr[0] "{number} dataset nalezen na dotaz \"{query}\"" msgstr[1] "{number} datasety nalezeny na dotaz \"{query}\"" msgstr[2] "{number} datasetů nalezeno na dotaz \"{query}\"" +msgstr[3] "{number} datasetů nalezeno na dotaz \"{query}\"" #: ckan/templates/snippets/search_result_text.html:16 msgid "No datasets found for \"{query}\"" @@ -4327,6 +4344,7 @@ msgid_plural "{number} datasets found" msgstr[0] "{number} dataset nalezen" msgstr[1] "{number} datasety nalezeny" msgstr[2] "{number} datových sad nalezeno" +msgstr[3] "{number} datových sad nalezeno" #: ckan/templates/snippets/search_result_text.html:18 msgid "No datasets found" @@ -4338,6 +4356,7 @@ msgid_plural "{number} groups found for \"{query}\"" msgstr[0] "{number} nalezena na dotaz \"{query}\"" msgstr[1] "{number} nalezeny na dotaz \"{query}\"" msgstr[2] "{number} skupin nalezeno na dotaz \"{query}\"" +msgstr[3] "{number} skupin nalezeno na dotaz \"{query}\"" #: ckan/templates/snippets/search_result_text.html:22 msgid "No groups found for \"{query}\"" @@ -4349,6 +4368,7 @@ msgid_plural "{number} groups found" msgstr[0] "{number} skupina nalezena" msgstr[1] "{number} skupiny nalezeny" msgstr[2] "{number} skupin nalezeno" +msgstr[3] "{number} skupin nalezeno" #: ckan/templates/snippets/search_result_text.html:24 msgid "No groups found" @@ -4360,6 +4380,7 @@ msgid_plural "{number} organizations found for \"{query}\"" msgstr[0] "{number} organizace nalezena na dotaz \"{query}\"" msgstr[1] "{number} organizace nalezeny na dotaz \"{query}\"" msgstr[2] "{number} organizací nalezeno na dotaz \"{query}\"" +msgstr[3] "{number} organizací nalezeno na dotaz \"{query}\"" #: ckan/templates/snippets/search_result_text.html:28 msgid "No organizations found for \"{query}\"" @@ -4371,6 +4392,7 @@ msgid_plural "{number} organizations found" msgstr[0] "{number} organizace nalezena" msgstr[1] "{number} organizace nalezeny" msgstr[2] "{number} organizací nalezeno" +msgstr[3] "{number} organizací nalezeno" #: ckan/templates/snippets/search_result_text.html:30 msgid "No organizations found" diff --git a/ckan/i18n/da_DK/LC_MESSAGES/ckan.po b/ckan/i18n/da_DK/LC_MESSAGES/ckan.po index e622ec12aed..1d0033042a8 100644 --- a/ckan/i18n/da_DK/LC_MESSAGES/ckan.po +++ b/ckan/i18n/da_DK/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Danish (Denmark) (https://www.transifex.com/okfn/teams/11162/da_DK/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: da_DK\n" diff --git a/ckan/i18n/de/LC_MESSAGES/ckan.po b/ckan/i18n/de/LC_MESSAGES/ckan.po index 5030d45c036..94092df62bc 100644 --- a/ckan/i18n/de/LC_MESSAGES/ckan.po +++ b/ckan/i18n/de/LC_MESSAGES/ckan.po @@ -3,17 +3,22 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Ondics Githubler, 2017 +# Florian Brucker, 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Ondics Githubler, 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Florian Brucker, 2017\n" "Language-Team: German (https://www.transifex.com/okfn/teams/11162/de/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: de\n" diff --git a/ckan/i18n/el/LC_MESSAGES/ckan.po b/ckan/i18n/el/LC_MESSAGES/ckan.po index c81faa2779f..514aa4926c0 100644 --- a/ckan/i18n/el/LC_MESSAGES/ckan.po +++ b/ckan/i18n/el/LC_MESSAGES/ckan.po @@ -3,17 +3,21 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Sotirios Karampatakis , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Sotirios Karampatakis , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Sotirios Karampatakis , 2018\n" "Language-Team: Greek (https://www.transifex.com/okfn/teams/11162/el/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: el\n" diff --git a/ckan/i18n/en_AU/LC_MESSAGES/ckan.po b/ckan/i18n/en_AU/LC_MESSAGES/ckan.po index 264701788f5..e2022bf2552 100644 --- a/ckan/i18n/en_AU/LC_MESSAGES/ckan.po +++ b/ckan/i18n/en_AU/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: English (Australia) (https://www.transifex.com/okfn/teams/11162/en_AU/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: en_AU\n" diff --git a/ckan/i18n/en_GB/LC_MESSAGES/ckan.po b/ckan/i18n/en_GB/LC_MESSAGES/ckan.po index a88fee88d56..d9b2594356d 100644 --- a/ckan/i18n/en_GB/LC_MESSAGES/ckan.po +++ b/ckan/i18n/en_GB/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/okfn/teams/11162/en_GB/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: en_GB\n" diff --git a/ckan/i18n/es/LC_MESSAGES/ckan.po b/ckan/i18n/es/LC_MESSAGES/ckan.po index 4e93ba93b82..1ae6b9e9cd0 100644 --- a/ckan/i18n/es/LC_MESSAGES/ckan.po +++ b/ckan/i18n/es/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Spanish (https://www.transifex.com/okfn/teams/11162/es/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: es\n" diff --git a/ckan/i18n/es_AR/LC_MESSAGES/ckan.po b/ckan/i18n/es_AR/LC_MESSAGES/ckan.po index 0055eed5a7f..e67240f73ff 100644 --- a/ckan/i18n/es_AR/LC_MESSAGES/ckan.po +++ b/ckan/i18n/es_AR/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Spanish (Argentina) (https://www.transifex.com/okfn/teams/11162/es_AR/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: es_AR\n" diff --git a/ckan/i18n/fa_IR/LC_MESSAGES/ckan.po b/ckan/i18n/fa_IR/LC_MESSAGES/ckan.po index bb41574d27d..e54ac952cae 100644 --- a/ckan/i18n/fa_IR/LC_MESSAGES/ckan.po +++ b/ckan/i18n/fa_IR/LC_MESSAGES/ckan.po @@ -3,21 +3,24 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Persian (Iran) (https://www.transifex.com/okfn/teams/11162/fa_IR/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: fa_IR\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ckanext/datapusher/helpers.py:21 msgid "Complete" @@ -370,6 +373,7 @@ msgstr "" msgid "{num} Dataset" msgid_plural "{num} Datasets" msgstr[0] "" +msgstr[1] "" #: ckan/templates/group/snippets/group_item.html:34 #: ckan/templates/organization/snippets/organization_item.html:33 @@ -1436,6 +1440,7 @@ msgstr "" msgid "{n} new activity from {site_title}" msgid_plural "{n} new activities from {site_title}" msgstr[0] "" +msgstr[1] "" #: ckan/lib/formatters.py:19 msgid "January" @@ -1493,26 +1498,31 @@ msgstr "" msgid "{mins} minute ago" msgid_plural "{mins} minutes ago" msgstr[0] "" +msgstr[1] "" #: ckan/lib/formatters.py:119 msgid "{hours} hour ago" msgid_plural "{hours} hours ago" msgstr[0] "" +msgstr[1] "" #: ckan/lib/formatters.py:125 msgid "{days} day ago" msgid_plural "{days} days ago" msgstr[0] "" +msgstr[1] "" #: ckan/lib/formatters.py:128 msgid "{months} month ago" msgid_plural "{months} months ago" msgstr[0] "" +msgstr[1] "" #: ckan/lib/formatters.py:130 msgid "over {years} year ago" msgid_plural "over {years} years ago" msgstr[0] "" +msgstr[1] "" #: ckan/lib/formatters.py:146 msgid "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" @@ -1606,11 +1616,13 @@ msgstr "" msgid "{number} view" msgid_plural "{number} views" msgstr[0] "" +msgstr[1] "" #: ckan/lib/helpers.py:1650 msgid "{number} recent view" msgid_plural "{number} recent views" msgstr[0] "" +msgstr[1] "" #: ckan/lib/mailer.py:39 #, python-format @@ -2381,6 +2393,7 @@ msgstr "" msgid "Input is too short, must be at least one character" msgid_plural "Input is too short, must be at least %(num)d characters" msgstr[0] "" +msgstr[1] "" #: ckan/public/base/javascript/modules/basic-form.js:4 msgid "There are unsaved modifications to this form" @@ -2567,6 +2580,7 @@ msgstr "" msgid "Dashboard (%(num)d new item)" msgid_plural "Dashboard (%(num)d new items)" msgstr[0] "" +msgstr[1] "" #: ckan/templates/header.html:29 ckan/templates/user/dashboard.html:6 msgid "Dashboard" @@ -3332,6 +3346,7 @@ msgstr "" msgid "{count} member" msgid_plural "{count} members" msgstr[0] "" +msgstr[1] "" #: ckan/templates/organization/new.html:3 #: ckan/templates/organization/new.html:5 @@ -4145,6 +4160,7 @@ msgstr "" msgid "{number} dataset found for \"{query}\"" msgid_plural "{number} datasets found for \"{query}\"" msgstr[0] "" +msgstr[1] "" #: ckan/templates/snippets/search_result_text.html:16 msgid "No datasets found for \"{query}\"" @@ -4154,6 +4170,7 @@ msgstr "" msgid "{number} dataset found" msgid_plural "{number} datasets found" msgstr[0] "" +msgstr[1] "" #: ckan/templates/snippets/search_result_text.html:18 msgid "No datasets found" @@ -4163,6 +4180,7 @@ msgstr "" msgid "{number} group found for \"{query}\"" msgid_plural "{number} groups found for \"{query}\"" msgstr[0] "" +msgstr[1] "" #: ckan/templates/snippets/search_result_text.html:22 msgid "No groups found for \"{query}\"" @@ -4172,6 +4190,7 @@ msgstr "" msgid "{number} group found" msgid_plural "{number} groups found" msgstr[0] "" +msgstr[1] "" #: ckan/templates/snippets/search_result_text.html:24 msgid "No groups found" @@ -4181,6 +4200,7 @@ msgstr "" msgid "{number} organization found for \"{query}\"" msgid_plural "{number} organizations found for \"{query}\"" msgstr[0] "" +msgstr[1] "" #: ckan/templates/snippets/search_result_text.html:28 msgid "No organizations found for \"{query}\"" @@ -4190,6 +4210,7 @@ msgstr "" msgid "{number} organization found" msgid_plural "{number} organizations found" msgstr[0] "" +msgstr[1] "" #: ckan/templates/snippets/search_result_text.html:30 msgid "No organizations found" diff --git a/ckan/i18n/fi/LC_MESSAGES/ckan.po b/ckan/i18n/fi/LC_MESSAGES/ckan.po index 1d0ee63c5ba..e75f9f38018 100644 --- a/ckan/i18n/fi/LC_MESSAGES/ckan.po +++ b/ckan/i18n/fi/LC_MESSAGES/ckan.po @@ -3,17 +3,23 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Mika Honkanen , 2017 +# Adrià Mercader , 2017 +# Joonas Dukpa, 2017 +# Zharktas , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Joonas Dukpa, 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Zharktas , 2017\n" "Language-Team: Finnish (https://www.transifex.com/okfn/teams/11162/fi/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: fi\n" diff --git a/ckan/i18n/fr/LC_MESSAGES/ckan.po b/ckan/i18n/fr/LC_MESSAGES/ckan.po index 371e9ff51ef..8e50c24d8f9 100644 --- a/ckan/i18n/fr/LC_MESSAGES/ckan.po +++ b/ckan/i18n/fr/LC_MESSAGES/ckan.po @@ -3,17 +3,22 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Steve King , 2017 +# Mayeul Kauffmann, 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Steve King , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Mayeul Kauffmann, 2018\n" "Language-Team: French (https://www.transifex.com/okfn/teams/11162/fr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: fr\n" diff --git a/ckan/i18n/gl/LC_MESSAGES/ckan.po b/ckan/i18n/gl/LC_MESSAGES/ckan.po index df58cfe696d..c96cfe64fb1 100644 --- a/ckan/i18n/gl/LC_MESSAGES/ckan.po +++ b/ckan/i18n/gl/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Miguel Anxo Bouzada , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Miguel Anxo Bouzada , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Miguel Anxo Bouzada , 2018\n" "Language-Team: Galician (https://www.transifex.com/okfn/teams/11162/gl/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: gl\n" diff --git a/ckan/i18n/he/LC_MESSAGES/ckan.po b/ckan/i18n/he/LC_MESSAGES/ckan.po index 9f913641291..3d020306864 100644 --- a/ckan/i18n/he/LC_MESSAGES/ckan.po +++ b/ckan/i18n/he/LC_MESSAGES/ckan.po @@ -3,21 +3,26 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Nir Hirshman , 2017 +# Yaron Shahrabani , 2018 +# Adrià Mercader , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Nir Hirshman , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Adrià Mercader , 2018\n" "Language-Team: Hebrew (https://www.transifex.com/okfn/teams/11162/he/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" #: ckanext/datapusher/helpers.py:21 msgid "Complete" @@ -373,6 +378,8 @@ msgid "{num} Dataset" msgid_plural "{num} Datasets" msgstr[0] "צביר נתונים" msgstr[1] "{num} צבירי נתונים" +msgstr[2] "{num} צבירי נתונים" +msgstr[3] "{num} צבירי נתונים" #: ckan/templates/group/snippets/group_item.html:34 #: ckan/templates/organization/snippets/organization_item.html:33 @@ -1439,6 +1446,8 @@ msgid "{n} new activity from {site_title}" msgid_plural "{n} new activities from {site_title}" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:19 msgid "January" @@ -1497,30 +1506,40 @@ msgid "{mins} minute ago" msgid_plural "{mins} minutes ago" msgstr[0] "לפני דקה אחת" msgstr[1] "לפני {mins} דקות" +msgstr[2] "לפני {mins} דקות" +msgstr[3] "לפני {mins} דקות" #: ckan/lib/formatters.py:119 msgid "{hours} hour ago" msgid_plural "{hours} hours ago" msgstr[0] "לפני {hours} שעה" msgstr[1] " לפני {hours} שעות" +msgstr[2] " לפני {hours} שעות" +msgstr[3] " לפני {hours} שעות" #: ckan/lib/formatters.py:125 msgid "{days} day ago" msgid_plural "{days} days ago" msgstr[0] "לפני יום אחד" msgstr[1] "לפני {days} ימים" +msgstr[2] "לפני {days} ימים" +msgstr[3] "לפני {days} ימים" #: ckan/lib/formatters.py:128 msgid "{months} month ago" msgid_plural "{months} months ago" msgstr[0] "לפני חודש" msgstr[1] "לפני {months} חודשים" +msgstr[2] "לפני {months} חודשים" +msgstr[3] "לפני {months} חודשים" #: ckan/lib/formatters.py:130 msgid "over {years} year ago" msgid_plural "over {years} years ago" msgstr[0] "לפני יותר משנה" msgstr[1] "לפני יותר מ-{years} שנים" +msgstr[2] "לפני יותר מ-{years} שנים" +msgstr[3] "לפני יותר מ-{years} שנים" #: ckan/lib/formatters.py:146 msgid "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" @@ -1615,12 +1634,16 @@ msgid "{number} view" msgid_plural "{number} views" msgstr[0] "תצוגה אחת" msgstr[1] "{number} תצוגות" +msgstr[2] "{number} תצוגות" +msgstr[3] "{number} תצוגות" #: ckan/lib/helpers.py:1650 msgid "{number} recent view" msgid_plural "{number} recent views" msgstr[0] "תצוגה אחרונה" msgstr[1] "{number} תצוגות אחרונות" +msgstr[2] "{number} תצוגות אחרונות" +msgstr[3] "{number} תצוגות אחרונות" #: ckan/lib/mailer.py:39 #, python-format @@ -2392,6 +2415,8 @@ msgid "Input is too short, must be at least one character" msgid_plural "Input is too short, must be at least %(num)d characters" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: ckan/public/base/javascript/modules/basic-form.js:4 msgid "There are unsaved modifications to this form" @@ -2582,6 +2607,8 @@ msgid "Dashboard (%(num)d new item)" msgid_plural "Dashboard (%(num)d new items)" msgstr[0] "לוח מחוונים (%(num)d פריט חדש)" msgstr[1] "לוח מחוונים(%(num)d פריטים חדשים)" +msgstr[2] "לוח מחוונים(%(num)d פריטים חדשים)" +msgstr[3] "לוח מחוונים(%(num)d פריטים חדשים)" #: ckan/templates/header.html:29 ckan/templates/user/dashboard.html:6 msgid "Dashboard" @@ -3394,6 +3421,8 @@ msgid "{count} member" msgid_plural "{count} members" msgstr[0] "חבר {count}" msgstr[1] "{count} חברים" +msgstr[2] "{count} חברים" +msgstr[3] "{count} חברים" #: ckan/templates/organization/new.html:3 #: ckan/templates/organization/new.html:5 @@ -4230,6 +4259,8 @@ msgid "{number} dataset found for \"{query}\"" msgid_plural "{number} datasets found for \"{query}\"" msgstr[0] "צביר נתונים אחד נמצא עבור \"{query}\"" msgstr[1] "{number} צבירי נתוניים נמצאו עבור \"{query}\"" +msgstr[2] "{number} צבירי נתוניים נמצאו עבור \"{query}\"" +msgstr[3] "{number} צבירי נתוניים נמצאו עבור \"{query}\"" #: ckan/templates/snippets/search_result_text.html:16 msgid "No datasets found for \"{query}\"" @@ -4240,6 +4271,8 @@ msgid "{number} dataset found" msgid_plural "{number} datasets found" msgstr[0] "נמצא צביר נתונים יחיד" msgstr[1] "נמצאו {number} צבירי נתונים" +msgstr[2] "נמצאו {number} צבירי נתונים" +msgstr[3] "נמצאו {number} צבירי נתונים" #: ckan/templates/snippets/search_result_text.html:18 msgid "No datasets found" @@ -4250,6 +4283,8 @@ msgid "{number} group found for \"{query}\"" msgid_plural "{number} groups found for \"{query}\"" msgstr[0] "קבוצה אחת נמצאה עבור \"{query}\"" msgstr[1] "{number} קבוצות נמצאו עבור \"{query}\"" +msgstr[2] "{number} קבוצות נמצאו עבור \"{query}\"" +msgstr[3] "{number} קבוצות נמצאו עבור \"{query}\"" #: ckan/templates/snippets/search_result_text.html:22 msgid "No groups found for \"{query}\"" @@ -4260,6 +4295,8 @@ msgid "{number} group found" msgid_plural "{number} groups found" msgstr[0] "נמצאה קבוצה אחת" msgstr[1] "{number} קבוצות נמצאו" +msgstr[2] "{number} קבוצות נמצאו" +msgstr[3] "{number} קבוצות נמצאו" #: ckan/templates/snippets/search_result_text.html:24 msgid "No groups found" @@ -4270,6 +4307,8 @@ msgid "{number} organization found for \"{query}\"" msgid_plural "{number} organizations found for \"{query}\"" msgstr[0] "ארגון אחד נמצא עבור \"{query}\"" msgstr[1] "{number} ארגונים נמצאו עבור \"{query}\"" +msgstr[2] "{number} ארגונים נמצאו עבור \"{query}\"" +msgstr[3] "{number} ארגונים נמצאו עבור \"{query}\"" #: ckan/templates/snippets/search_result_text.html:28 msgid "No organizations found for \"{query}\"" @@ -4280,6 +4319,8 @@ msgid "{number} organization found" msgid_plural "{number} organizations found" msgstr[0] "ארגון אחד נמצא" msgstr[1] "{number} ארגונים נמצאו" +msgstr[2] "{number} ארגונים נמצאו" +msgstr[3] "{number} ארגונים נמצאו" #: ckan/templates/snippets/search_result_text.html:30 msgid "No organizations found" diff --git a/ckan/i18n/hr/LC_MESSAGES/ckan.po b/ckan/i18n/hr/LC_MESSAGES/ckan.po index 8b6b402c137..c200753b3a9 100644 --- a/ckan/i18n/hr/LC_MESSAGES/ckan.po +++ b/ckan/i18n/hr/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Croatian (https://www.transifex.com/okfn/teams/11162/hr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: hr\n" diff --git a/ckan/i18n/hu/LC_MESSAGES/ckan.po b/ckan/i18n/hu/LC_MESSAGES/ckan.po index 6a80a7233f3..364a2f0efbb 100644 --- a/ckan/i18n/hu/LC_MESSAGES/ckan.po +++ b/ckan/i18n/hu/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Hungarian (https://www.transifex.com/okfn/teams/11162/hu/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: hu\n" diff --git a/ckan/i18n/id/LC_MESSAGES/ckan.po b/ckan/i18n/id/LC_MESSAGES/ckan.po index 271bf203116..09b049717f4 100644 --- a/ckan/i18n/id/LC_MESSAGES/ckan.po +++ b/ckan/i18n/id/LC_MESSAGES/ckan.po @@ -3,17 +3,22 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# jitopdeveloper , 2017 +# Try Fathur Rachman , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Try Fathur Rachman , 2017\n" "Language-Team: Indonesian (https://www.transifex.com/okfn/teams/11162/id/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: id\n" diff --git a/ckan/i18n/is/LC_MESSAGES/ckan.po b/ckan/i18n/is/LC_MESSAGES/ckan.po index 863d19bb0ff..47744c840d5 100644 --- a/ckan/i18n/is/LC_MESSAGES/ckan.po +++ b/ckan/i18n/is/LC_MESSAGES/ckan.po @@ -3,17 +3,21 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Páll Hilmarsson , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Adrià Mercader , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Páll Hilmarsson , 2018\n" "Language-Team: Icelandic (https://www.transifex.com/okfn/teams/11162/is/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: is\n" @@ -235,7 +239,7 @@ msgstr "" #: ckanext/datastore/templates/package/resource_read.html:18 #: ckanext/datatablesview/templates/datatables/datatables_form.html:17 msgid "Column" -msgstr "" +msgstr "Dálkur" #: ckanext/datastore/templates/package/resource_read.html:19 msgid "Type" @@ -270,11 +274,11 @@ msgstr "" #: ckanext/datatablesview/templates/datatables/datatables_form.html:12 msgid "Show Columns" -msgstr "" +msgstr "Sýna dálka" #: ckanext/datatablesview/templates/datatables/datatables_view.html:28 msgid "Hide/Unhide Columns" -msgstr "" +msgstr "Fela/sýna dálka" #: ckanext/example_iconfigurer/templates/admin/config.html:11 msgid "Datasets per page" diff --git a/ckan/i18n/it/LC_MESSAGES/ckan.po b/ckan/i18n/it/LC_MESSAGES/ckan.po index cff404dee9c..e2eac5e8966 100644 --- a/ckan/i18n/it/LC_MESSAGES/ckan.po +++ b/ckan/i18n/it/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Italian (https://www.transifex.com/okfn/teams/11162/it/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: it\n" diff --git a/ckan/i18n/ja/LC_MESSAGES/ckan.po b/ckan/i18n/ja/LC_MESSAGES/ckan.po index 039d7e6eb37..b8d86285991 100644 --- a/ckan/i18n/ja/LC_MESSAGES/ckan.po +++ b/ckan/i18n/ja/LC_MESSAGES/ckan.po @@ -3,17 +3,21 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Azusa Akiyama , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Azusa Akiyama , 2017\n" "Language-Team: Japanese (https://www.transifex.com/okfn/teams/11162/ja/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: ja\n" diff --git a/ckan/i18n/km/LC_MESSAGES/ckan.po b/ckan/i18n/km/LC_MESSAGES/ckan.po index 2bcebe581b4..b65abbcd019 100644 --- a/ckan/i18n/km/LC_MESSAGES/ckan.po +++ b/ckan/i18n/km/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Khmer (https://www.transifex.com/okfn/teams/11162/km/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: km\n" diff --git a/ckan/i18n/ko_KR/LC_MESSAGES/ckan.po b/ckan/i18n/ko_KR/LC_MESSAGES/ckan.po index 002a7ed543e..12a7b32fc55 100644 --- a/ckan/i18n/ko_KR/LC_MESSAGES/ckan.po +++ b/ckan/i18n/ko_KR/LC_MESSAGES/ckan.po @@ -3,17 +3,22 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# sl kim , 2017 +# Yeongtaek Hong, 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Yeongtaek Hong, 2017\n" "Language-Team: Korean (Korea) (https://www.transifex.com/okfn/teams/11162/ko_KR/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: ko_KR\n" diff --git a/ckan/i18n/lt/LC_MESSAGES/ckan.po b/ckan/i18n/lt/LC_MESSAGES/ckan.po index e249a8df3cf..5f057e61552 100644 --- a/ckan/i18n/lt/LC_MESSAGES/ckan.po +++ b/ckan/i18n/lt/LC_MESSAGES/ckan.po @@ -3,21 +3,24 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Adrià Mercader , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Adrià Mercader , 2018\n" "Language-Team: Lithuanian (https://www.transifex.com/okfn/teams/11162/lt/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: lt\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" #: ckanext/datapusher/helpers.py:21 msgid "Complete" @@ -372,6 +375,7 @@ msgid_plural "{num} Datasets" msgstr[0] "{num} rinkmena" msgstr[1] "{num} rinkmenos" msgstr[2] "{num} rinkmenos" +msgstr[3] "{num} rinkmenos" #: ckan/templates/group/snippets/group_item.html:34 #: ckan/templates/organization/snippets/organization_item.html:33 @@ -1445,6 +1449,7 @@ msgid_plural "{n} new activities from {site_title}" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:19 msgid "January" @@ -1504,6 +1509,7 @@ msgid_plural "{mins} minutes ago" msgstr[0] "prieš {mins} minutę" msgstr[1] "prieš {mins} minutes" msgstr[2] "prieš {mins} minutes" +msgstr[3] "prieš {mins} minutes" #: ckan/lib/formatters.py:119 msgid "{hours} hour ago" @@ -1511,6 +1517,7 @@ msgid_plural "{hours} hours ago" msgstr[0] "prieš {hours} valandą" msgstr[1] "prieš {hours} valandas" msgstr[2] "prieš {hours} valandas" +msgstr[3] "prieš {hours} valandas" #: ckan/lib/formatters.py:125 msgid "{days} day ago" @@ -1518,6 +1525,7 @@ msgid_plural "{days} days ago" msgstr[0] "prieš vieną dieną" msgstr[1] "prieš {days} dienas" msgstr[2] "prieš {days} dienas" +msgstr[3] "prieš {days} dienas" #: ckan/lib/formatters.py:128 msgid "{months} month ago" @@ -1525,6 +1533,7 @@ msgid_plural "{months} months ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:130 msgid "over {years} year ago" @@ -1532,6 +1541,7 @@ msgid_plural "over {years} years ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:146 msgid "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" @@ -1627,6 +1637,7 @@ msgid_plural "{number} views" msgstr[0] "{number} peržiūra" msgstr[1] "{number} peržiūrų" msgstr[2] "{number} peržiūrų" +msgstr[3] "{number} peržiūrų" #: ckan/lib/helpers.py:1650 msgid "{number} recent view" @@ -1634,6 +1645,7 @@ msgid_plural "{number} recent views" msgstr[0] "{number} pastaroji peržiūra" msgstr[1] "{number} pastarųjų peržiūrų" msgstr[2] "{number} pastarūjų peržiūrų" +msgstr[3] "{number} pastarūjų peržiūrų" #: ckan/lib/mailer.py:39 #, python-format @@ -2408,6 +2420,7 @@ msgid_plural "Input is too short, must be at least %(num)d characters" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/public/base/javascript/modules/basic-form.js:4 msgid "There are unsaved modifications to this form" @@ -2598,6 +2611,7 @@ msgid_plural "Dashboard (%(num)d new items)" msgstr[0] "Valdymo pultas (%(num)d naujas įrašas)" msgstr[1] "Valdymo pultas (%(num)d naujų įrašų)" msgstr[2] "Valdymo pultas (%(num)d naujų įrašų)" +msgstr[3] "Valdymo pultas (%(num)d naujų įrašų)" #: ckan/templates/header.html:29 ckan/templates/user/dashboard.html:6 msgid "Dashboard" @@ -3393,6 +3407,7 @@ msgid_plural "{count} members" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/organization/new.html:3 #: ckan/templates/organization/new.html:5 @@ -4218,6 +4233,7 @@ msgid_plural "{number} datasets found for \"{query}\"" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:16 msgid "No datasets found for \"{query}\"" @@ -4229,6 +4245,7 @@ msgid_plural "{number} datasets found" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:18 msgid "No datasets found" @@ -4240,6 +4257,7 @@ msgid_plural "{number} groups found for \"{query}\"" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:22 msgid "No groups found for \"{query}\"" @@ -4251,6 +4269,7 @@ msgid_plural "{number} groups found" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:24 msgid "No groups found" @@ -4262,6 +4281,7 @@ msgid_plural "{number} organizations found for \"{query}\"" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:28 msgid "No organizations found for \"{query}\"" @@ -4273,6 +4293,7 @@ msgid_plural "{number} organizations found" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:30 msgid "No organizations found" diff --git a/ckan/i18n/lv/LC_MESSAGES/ckan.po b/ckan/i18n/lv/LC_MESSAGES/ckan.po index 342e64f12c2..bbe35fd4334 100644 --- a/ckan/i18n/lv/LC_MESSAGES/ckan.po +++ b/ckan/i18n/lv/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Latvian (https://www.transifex.com/okfn/teams/11162/lv/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: lv\n" diff --git a/ckan/i18n/mk/LC_MESSAGES/ckan.po b/ckan/i18n/mk/LC_MESSAGES/ckan.po index d3696c54bab..3cfbae86a56 100644 --- a/ckan/i18n/mk/LC_MESSAGES/ckan.po +++ b/ckan/i18n/mk/LC_MESSAGES/ckan.po @@ -3,17 +3,21 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Konstantin Sivakov , 2017 +# Zoran Pandovski , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Konstantin Sivakov , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Zoran Pandovski , 2017\n" "Language-Team: Macedonian (https://www.transifex.com/okfn/teams/11162/mk/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: mk\n" diff --git a/ckan/i18n/mn_MN/LC_MESSAGES/ckan.po b/ckan/i18n/mn_MN/LC_MESSAGES/ckan.po index 9a285b01cc8..81c746c1a86 100644 --- a/ckan/i18n/mn_MN/LC_MESSAGES/ckan.po +++ b/ckan/i18n/mn_MN/LC_MESSAGES/ckan.po @@ -3,17 +3,22 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Tsolmon Zundui , 2017 +# amarsanaag , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Tsolmon Zundui , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: amarsanaag , 2017\n" "Language-Team: Mongolian (Mongolia) (https://www.transifex.com/okfn/teams/11162/mn_MN/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: mn_MN\n" diff --git a/ckan/i18n/nl/LC_MESSAGES/ckan.po b/ckan/i18n/nl/LC_MESSAGES/ckan.po index c8248c9f266..b864134202d 100644 --- a/ckan/i18n/nl/LC_MESSAGES/ckan.po +++ b/ckan/i18n/nl/LC_MESSAGES/ckan.po @@ -3,17 +3,22 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# sandervdwaal , 2017 +# Adrià Mercader , 2017 +# Peter Vos , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Peter Vos , 2017\n" "Language-Team: Dutch (https://www.transifex.com/okfn/teams/11162/nl/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: nl\n" @@ -1536,7 +1541,7 @@ msgstr[1] "meer dan {years} jaren geleden" #: ckan/lib/formatters.py:146 msgid "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" -msgstr "{maand} {dag}, {jaar}, {uur:02}:{min:02} ({tijdzone})" +msgstr "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" #: ckan/lib/formatters.py:151 msgid "{month} {day}, {year}" diff --git a/ckan/i18n/no/LC_MESSAGES/ckan.po b/ckan/i18n/no/LC_MESSAGES/ckan.po index 29874ca7b33..82cd8d7fa2f 100644 --- a/ckan/i18n/no/LC_MESSAGES/ckan.po +++ b/ckan/i18n/no/LC_MESSAGES/ckan.po @@ -3,17 +3,21 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Hilde Austlid , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Hilde Austlid , 2017\n" "Language-Team: Norwegian (https://www.transifex.com/okfn/teams/11162/no/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: no\n" diff --git a/ckan/i18n/pl/LC_MESSAGES/ckan.po b/ckan/i18n/pl/LC_MESSAGES/ckan.po index 66bb25d3b21..6958e62cde2 100644 --- a/ckan/i18n/pl/LC_MESSAGES/ckan.po +++ b/ckan/i18n/pl/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Polish (https://www.transifex.com/okfn/teams/11162/pl/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: pl\n" diff --git a/ckan/i18n/pt_BR/LC_MESSAGES/ckan.po b/ckan/i18n/pt_BR/LC_MESSAGES/ckan.po index e337528b00c..c5704c2c3be 100644 --- a/ckan/i18n/pt_BR/LC_MESSAGES/ckan.po +++ b/ckan/i18n/pt_BR/LC_MESSAGES/ckan.po @@ -3,17 +3,22 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Luiz Felipe F M Costa , 2017 +# Augusto Herrmann , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Augusto Herrmann , 2017\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/okfn/teams/11162/pt_BR/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: pt_BR\n" diff --git a/ckan/i18n/pt_PT/LC_MESSAGES/ckan.po b/ckan/i18n/pt_PT/LC_MESSAGES/ckan.po index f5a14e06fac..1c36a4394d6 100644 --- a/ckan/i18n/pt_PT/LC_MESSAGES/ckan.po +++ b/ckan/i18n/pt_PT/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/okfn/teams/11162/pt_PT/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: pt_PT\n" diff --git a/ckan/i18n/ro/LC_MESSAGES/ckan.po b/ckan/i18n/ro/LC_MESSAGES/ckan.po index 65ee250f2f7..501006dbfc4 100644 --- a/ckan/i18n/ro/LC_MESSAGES/ckan.po +++ b/ckan/i18n/ro/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Romanian (https://www.transifex.com/okfn/teams/11162/ro/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: ro\n" diff --git a/ckan/i18n/ru/LC_MESSAGES/ckan.po b/ckan/i18n/ru/LC_MESSAGES/ckan.po index 5e204cabbb7..37862e36b4c 100644 --- a/ckan/i18n/ru/LC_MESSAGES/ckan.po +++ b/ckan/i18n/ru/LC_MESSAGES/ckan.po @@ -3,17 +3,22 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# Kate Svetocheva , 2017 +# Sergey Motornyuk , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Sergey Motornyuk , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Sergey Motornyuk , 2018\n" "Language-Team: Russian (https://www.transifex.com/okfn/teams/11162/ru/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: ru\n" @@ -1549,11 +1554,11 @@ msgstr[3] "больше {years} лет назад" #: ckan/lib/formatters.py:146 msgid "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" -msgstr "{месяц} {день}, {год}, {часов:02}:{минут:02} ({timezone})" +msgstr "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" #: ckan/lib/formatters.py:151 msgid "{month} {day}, {year}" -msgstr "{месяц} {день}, {год}" +msgstr "{month} {day}, {year}" #: ckan/lib/formatters.py:167 msgid "{bytes} bytes" diff --git a/ckan/i18n/sk/LC_MESSAGES/ckan.po b/ckan/i18n/sk/LC_MESSAGES/ckan.po index b779e7791aa..d98a8e8e574 100644 --- a/ckan/i18n/sk/LC_MESSAGES/ckan.po +++ b/ckan/i18n/sk/LC_MESSAGES/ckan.po @@ -3,21 +3,24 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Adrià Mercader , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Adrià Mercader , 2018\n" "Language-Team: Slovak (https://www.transifex.com/okfn/teams/11162/sk/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: sk\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" #: ckanext/datapusher/helpers.py:21 msgid "Complete" @@ -380,6 +383,7 @@ msgid_plural "{num} Datasets" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/group/snippets/group_item.html:34 #: ckan/templates/organization/snippets/organization_item.html:33 @@ -1457,6 +1461,7 @@ msgid_plural "{n} new activities from {site_title}" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:19 msgid "January" @@ -1516,6 +1521,7 @@ msgid_plural "{mins} minutes ago" msgstr[0] "pred {mins} minutami" msgstr[1] "pred {mins} minútou" msgstr[2] "pred {mins} minutami" +msgstr[3] "pred {mins} minutami" #: ckan/lib/formatters.py:119 msgid "{hours} hour ago" @@ -1523,6 +1529,7 @@ msgid_plural "{hours} hours ago" msgstr[0] "pred {hours} hodinami" msgstr[1] "pred {hours} hodinou" msgstr[2] "pred {hours} hodinami" +msgstr[3] "pred {hours} hodinami" #: ckan/lib/formatters.py:125 msgid "{days} day ago" @@ -1530,6 +1537,7 @@ msgid_plural "{days} days ago" msgstr[0] "pred {days} dňami" msgstr[1] "pred {days} dňom" msgstr[2] "pred {days} dňami" +msgstr[3] "pred {days} dňami" #: ckan/lib/formatters.py:128 msgid "{months} month ago" @@ -1537,6 +1545,7 @@ msgid_plural "{months} months ago" msgstr[0] "pred {months} mesiacmi" msgstr[1] "pred {months} mesiacom" msgstr[2] "pred {months} mesiacmi" +msgstr[3] "pred {months} mesiacmi" #: ckan/lib/formatters.py:130 msgid "over {years} year ago" @@ -1544,6 +1553,7 @@ msgid_plural "over {years} years ago" msgstr[0] "pred viac než {years} rokmi" msgstr[1] "pred viac než {years} rokom" msgstr[2] "pred viac než {years} rokmi" +msgstr[3] "pred viac než {years} rokmi" #: ckan/lib/formatters.py:146 msgid "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" @@ -1639,6 +1649,7 @@ msgid_plural "{number} views" msgstr[0] "{number} videní" msgstr[1] "{number} videnie" msgstr[2] "{number} videní" +msgstr[3] "{number} videní" #: ckan/lib/helpers.py:1650 msgid "{number} recent view" @@ -1646,6 +1657,7 @@ msgid_plural "{number} recent views" msgstr[0] "{number} nedávnych videní" msgstr[1] "{number} nedávne videnie" msgstr[2] "{number} nedávnych videní" +msgstr[3] "{number} nedávnych videní" #: ckan/lib/mailer.py:39 #, python-format @@ -2428,6 +2440,7 @@ msgid_plural "Input is too short, must be at least %(num)d characters" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/public/base/javascript/modules/basic-form.js:4 msgid "There are unsaved modifications to this form" @@ -2618,6 +2631,7 @@ msgid_plural "Dashboard (%(num)d new items)" msgstr[0] "Zobraziť (%(num)d novú položku)" msgstr[1] "Zobraziť (%(num)d nové položky)" msgstr[2] "Zobraziť (%(num)d nové položky)" +msgstr[3] "Zobraziť (%(num)d nové položky)" #: ckan/templates/header.html:29 ckan/templates/user/dashboard.html:6 msgid "Dashboard" @@ -3439,6 +3453,7 @@ msgid_plural "{count} members" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/organization/new.html:3 #: ckan/templates/organization/new.html:5 @@ -4289,6 +4304,7 @@ msgid_plural "{number} datasets found for \"{query}\"" msgstr[0] "{number} dataset nájdený na dopyt \"{query}\"" msgstr[1] "{number} datasety nájdené na dopyt \"{query}\"" msgstr[2] "{number} datasetov nájdených na dopyt\"{query}\"" +msgstr[3] "{number} datasetov nájdených na dopyt\"{query}\"" #: ckan/templates/snippets/search_result_text.html:16 msgid "No datasets found for \"{query}\"" @@ -4300,6 +4316,7 @@ msgid_plural "{number} datasets found" msgstr[0] "{number} dataset nájdený" msgstr[1] "{number} datasety nájdené" msgstr[2] "{number} datasetov nájdených" +msgstr[3] "{number} datasetov nájdených" #: ckan/templates/snippets/search_result_text.html:18 msgid "No datasets found" @@ -4311,6 +4328,7 @@ msgid_plural "{number} groups found for \"{query}\"" msgstr[0] "{number} skupina nájdená na dopyt \"{query}\"" msgstr[1] "{number} skupiny nájdené na dopyt \"{query}\"" msgstr[2] "{number} skupín nájdených na dopyt \"{query}\"" +msgstr[3] "{number} skupín nájdených na dopyt \"{query}\"" #: ckan/templates/snippets/search_result_text.html:22 msgid "No groups found for \"{query}\"" @@ -4322,6 +4340,7 @@ msgid_plural "{number} groups found" msgstr[0] "{number} skupina nájdená" msgstr[1] "{number} skupiny nájdené" msgstr[2] "{number} skupín nájdených" +msgstr[3] "{number} skupín nájdených" #: ckan/templates/snippets/search_result_text.html:24 msgid "No groups found" @@ -4333,6 +4352,7 @@ msgid_plural "{number} organizations found for \"{query}\"" msgstr[0] "{number} organizácia nájdená na dopyt \"{query}\"" msgstr[1] "{number} organizácie nájdené na dopyt \"{query}\"" msgstr[2] "{number} organizácií nájdených na dopyt \"{query}\"" +msgstr[3] "{number} organizácií nájdených na dopyt \"{query}\"" #: ckan/templates/snippets/search_result_text.html:28 msgid "No organizations found for \"{query}\"" @@ -4344,6 +4364,7 @@ msgid_plural "{number} organizations found" msgstr[0] "{number} organizácia nájdená" msgstr[1] "{number} organizácie nájdené" msgstr[2] "{number} organizácií nájdených" +msgstr[3] "{number} organizácií nájdených" #: ckan/templates/snippets/search_result_text.html:30 msgid "No organizations found" diff --git a/ckan/i18n/sl/LC_MESSAGES/ckan.po b/ckan/i18n/sl/LC_MESSAGES/ckan.po index cdf2597646a..7fdea256003 100644 --- a/ckan/i18n/sl/LC_MESSAGES/ckan.po +++ b/ckan/i18n/sl/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Slovenian (https://www.transifex.com/okfn/teams/11162/sl/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: sl\n" diff --git a/ckan/i18n/sq/LC_MESSAGES/ckan.po b/ckan/i18n/sq/LC_MESSAGES/ckan.po index c63924834f0..9d4620a6061 100644 --- a/ckan/i18n/sq/LC_MESSAGES/ckan.po +++ b/ckan/i18n/sq/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Albanian (https://www.transifex.com/okfn/teams/11162/sq/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: sq\n" diff --git a/ckan/i18n/sr/LC_MESSAGES/ckan.po b/ckan/i18n/sr/LC_MESSAGES/ckan.po index d091025ebb5..07a04237a2a 100644 --- a/ckan/i18n/sr/LC_MESSAGES/ckan.po +++ b/ckan/i18n/sr/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Serbian (https://www.transifex.com/okfn/teams/11162/sr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: sr\n" diff --git a/ckan/i18n/sr_Latn/LC_MESSAGES/ckan.po b/ckan/i18n/sr_Latn/LC_MESSAGES/ckan.po index 62976120de8..aa043b6513e 100644 --- a/ckan/i18n/sr_Latn/LC_MESSAGES/ckan.po +++ b/ckan/i18n/sr_Latn/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/okfn/teams/11162/sr%40latin/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: sr@latin\n" diff --git a/ckan/i18n/sv/LC_MESSAGES/ckan.po b/ckan/i18n/sv/LC_MESSAGES/ckan.po index 5d7cb535723..09526447021 100644 --- a/ckan/i18n/sv/LC_MESSAGES/ckan.po +++ b/ckan/i18n/sv/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Swedish (https://www.transifex.com/okfn/teams/11162/sv/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: sv\n" diff --git a/ckan/i18n/th/LC_MESSAGES/ckan.po b/ckan/i18n/th/LC_MESSAGES/ckan.po index 47cf4854751..fa17333d9d8 100644 --- a/ckan/i18n/th/LC_MESSAGES/ckan.po +++ b/ckan/i18n/th/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Thai (https://www.transifex.com/okfn/teams/11162/th/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: th\n" diff --git a/ckan/i18n/tr/LC_MESSAGES/ckan.po b/ckan/i18n/tr/LC_MESSAGES/ckan.po index 12743ac080e..feb9f3adf57 100644 --- a/ckan/i18n/tr/LC_MESSAGES/ckan.po +++ b/ckan/i18n/tr/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Turkish (https://www.transifex.com/okfn/teams/11162/tr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: tr\n" diff --git a/ckan/i18n/uk/LC_MESSAGES/ckan.po b/ckan/i18n/uk/LC_MESSAGES/ckan.po index f4461acadbf..dedd60892fe 100644 --- a/ckan/i18n/uk/LC_MESSAGES/ckan.po +++ b/ckan/i18n/uk/LC_MESSAGES/ckan.po @@ -3,21 +3,24 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Kate Svetocheva , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Kate Svetocheva , 2017\n" "Language-Team: Ukrainian (https://www.transifex.com/okfn/teams/11162/uk/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: uk\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" #: ckanext/datapusher/helpers.py:21 msgid "Complete" @@ -372,6 +375,7 @@ msgid_plural "{num} Datasets" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/group/snippets/group_item.html:34 #: ckan/templates/organization/snippets/organization_item.html:33 @@ -1438,6 +1442,7 @@ msgid_plural "{n} new activities from {site_title}" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:19 msgid "January" @@ -1497,6 +1502,7 @@ msgid_plural "{mins} minutes ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:119 msgid "{hours} hour ago" @@ -1504,6 +1510,7 @@ msgid_plural "{hours} hours ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:125 msgid "{days} day ago" @@ -1511,6 +1518,7 @@ msgid_plural "{days} days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:128 msgid "{months} month ago" @@ -1518,6 +1526,7 @@ msgid_plural "{months} months ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:130 msgid "over {years} year ago" @@ -1525,6 +1534,7 @@ msgid_plural "over {years} years ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/formatters.py:146 msgid "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" @@ -1620,6 +1630,7 @@ msgid_plural "{number} views" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/helpers.py:1650 msgid "{number} recent view" @@ -1627,6 +1638,7 @@ msgid_plural "{number} recent views" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/lib/mailer.py:39 #, python-format @@ -2399,6 +2411,7 @@ msgid_plural "Input is too short, must be at least %(num)d characters" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/public/base/javascript/modules/basic-form.js:4 msgid "There are unsaved modifications to this form" @@ -2587,6 +2600,7 @@ msgid_plural "Dashboard (%(num)d new items)" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/header.html:29 ckan/templates/user/dashboard.html:6 msgid "Dashboard" @@ -3354,6 +3368,7 @@ msgid_plural "{count} members" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/organization/new.html:3 #: ckan/templates/organization/new.html:5 @@ -4169,6 +4184,7 @@ msgid_plural "{number} datasets found for \"{query}\"" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:16 msgid "No datasets found for \"{query}\"" @@ -4180,6 +4196,7 @@ msgid_plural "{number} datasets found" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:18 msgid "No datasets found" @@ -4191,6 +4208,7 @@ msgid_plural "{number} groups found for \"{query}\"" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:22 msgid "No groups found for \"{query}\"" @@ -4202,6 +4220,7 @@ msgid_plural "{number} groups found" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:24 msgid "No groups found" @@ -4213,6 +4232,7 @@ msgid_plural "{number} organizations found for \"{query}\"" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:28 msgid "No organizations found for \"{query}\"" @@ -4224,6 +4244,7 @@ msgid_plural "{number} organizations found" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: ckan/templates/snippets/search_result_text.html:30 msgid "No organizations found" diff --git a/ckan/i18n/uk_UA/LC_MESSAGES/ckan.po b/ckan/i18n/uk_UA/LC_MESSAGES/ckan.po index 76b7572ab12..6e206fdd607 100644 --- a/ckan/i18n/uk_UA/LC_MESSAGES/ckan.po +++ b/ckan/i18n/uk_UA/LC_MESSAGES/ckan.po @@ -3,21 +3,26 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Zoriana Zaiats, 2017 +# Vanya Yani , 2018 +# Adrià Mercader , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Zoriana Zaiats, 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: Adrià Mercader , 2018\n" "Language-Team: Ukrainian (Ukraine) (https://www.transifex.com/okfn/teams/11162/uk_UA/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: uk_UA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" #: ckanext/datapusher/helpers.py:21 msgid "Complete" @@ -379,6 +384,7 @@ msgid_plural "{num} Datasets" msgstr[0] "{num} набір даних" msgstr[1] "{num} набори даних" msgstr[2] "{num} наборів даних" +msgstr[3] "{num} наборів даних" #: ckan/templates/group/snippets/group_item.html:34 #: ckan/templates/organization/snippets/organization_item.html:33 @@ -1461,6 +1467,7 @@ msgid_plural "{n} new activities from {site_title}" msgstr[0] "{n} нова активність від {site_title}" msgstr[1] "{n} нові активності від {site_title}" msgstr[2] "{n} нових активностей від {site_title}" +msgstr[3] "{n} нових активностей від {site_title}" #: ckan/lib/formatters.py:19 msgid "January" @@ -1520,6 +1527,7 @@ msgid_plural "{mins} minutes ago" msgstr[0] "{mins} хвилину тому" msgstr[1] "{mins} хвилини тому" msgstr[2] "{mins} хвилин тому" +msgstr[3] "{mins} хвилин тому" #: ckan/lib/formatters.py:119 msgid "{hours} hour ago" @@ -1527,6 +1535,7 @@ msgid_plural "{hours} hours ago" msgstr[0] "{hours} годину тому" msgstr[1] "{hours} години тому" msgstr[2] "{hours} годин тому" +msgstr[3] "{hours} годин тому" #: ckan/lib/formatters.py:125 msgid "{days} day ago" @@ -1534,6 +1543,7 @@ msgid_plural "{days} days ago" msgstr[0] "{days} день тому" msgstr[1] "{days} дні тому" msgstr[2] "{days} днів тому" +msgstr[3] "{days} днів тому" #: ckan/lib/formatters.py:128 msgid "{months} month ago" @@ -1541,6 +1551,7 @@ msgid_plural "{months} months ago" msgstr[0] "{months} місяць назад" msgstr[1] "{months} місяці назад" msgstr[2] "{months} місяців назад" +msgstr[3] "{months} місяців назад" #: ckan/lib/formatters.py:130 msgid "over {years} year ago" @@ -1548,6 +1559,7 @@ msgid_plural "over {years} years ago" msgstr[0] "більше {years} року назад" msgstr[1] "більше {years} років назад" msgstr[2] "більше {years} років назад" +msgstr[3] "більше {years} років назад" #: ckan/lib/formatters.py:146 msgid "{month} {day}, {year}, {hour:02}:{min:02} ({timezone})" @@ -1643,6 +1655,7 @@ msgid_plural "{number} views" msgstr[0] "{number} перегляд" msgstr[1] "{number} перегляди" msgstr[2] "{number} переглядів" +msgstr[3] "{number} переглядів" #: ckan/lib/helpers.py:1650 msgid "{number} recent view" @@ -1650,6 +1663,7 @@ msgid_plural "{number} recent views" msgstr[0] "{number} недавній перегляд" msgstr[1] "{number} недавніх переглядів" msgstr[2] "{number} недавніх переглядів" +msgstr[3] "{number} недавніх переглядів" #: ckan/lib/mailer.py:39 #, python-format @@ -2442,6 +2456,7 @@ msgid_plural "Input is too short, must be at least %(num)d characters" msgstr[0] "Ввід надто короткий, має бути хоча би один символ" msgstr[1] "Ввід надто короткий, має бути хоча би %(num)d символа" msgstr[2] "Ввід надто короткий, має бути хоча би %(num)d символ" +msgstr[3] "Ввід надто короткий, має бути хоча би %(num)d символ" #: ckan/public/base/javascript/modules/basic-form.js:4 msgid "There are unsaved modifications to this form" @@ -2634,6 +2649,7 @@ msgid_plural "Dashboard (%(num)d new items)" msgstr[0] "Панель приладів (%(num)d новий елемент)" msgstr[1] "Панель приладів (%(num)d нові елементи)" msgstr[2] "Панель приладів (%(num)d нових елементів)" +msgstr[3] "Панель приладів (%(num)d нових елементів)" #: ckan/templates/header.html:29 ckan/templates/user/dashboard.html:6 msgid "Dashboard" @@ -3443,6 +3459,7 @@ msgid_plural "{count} members" msgstr[0] "{count} член" msgstr[1] "{count} члена" msgstr[2] "{count} членів" +msgstr[3] "{count} членів" #: ckan/templates/organization/new.html:3 #: ckan/templates/organization/new.html:5 @@ -4304,6 +4321,7 @@ msgid_plural "{number} datasets found for \"{query}\"" msgstr[0] "{number} набір даних знайдений за запитом \"{query}\"" msgstr[1] "{number} набори даних знайдено за запитом \"{query}\"" msgstr[2] "{number} наборів даних знайдено за запитом \"{query}\"" +msgstr[3] "{number} наборів даних знайдено за запитом \"{query}\"" #: ckan/templates/snippets/search_result_text.html:16 msgid "No datasets found for \"{query}\"" @@ -4315,6 +4333,7 @@ msgid_plural "{number} datasets found" msgstr[0] "{number} набір даних знайдено" msgstr[1] "{number} набори даних знайдено" msgstr[2] "{number} наборів даних знайдено" +msgstr[3] "{number} наборів даних знайдено" #: ckan/templates/snippets/search_result_text.html:18 msgid "No datasets found" @@ -4326,6 +4345,7 @@ msgid_plural "{number} groups found for \"{query}\"" msgstr[0] "{number} групу знайдено за запитом \"{query}\"" msgstr[1] "{number} групи знайдено за запитом \"{query}\"" msgstr[2] "{number} груп знайдено за запитом \"{query}\"" +msgstr[3] "{number} груп знайдено за запитом \"{query}\"" #: ckan/templates/snippets/search_result_text.html:22 msgid "No groups found for \"{query}\"" @@ -4337,6 +4357,7 @@ msgid_plural "{number} groups found" msgstr[0] "{number} групу знайдено" msgstr[1] "{number} групи знайдено" msgstr[2] "{number} груп знайдено" +msgstr[3] "{number} груп знайдено" #: ckan/templates/snippets/search_result_text.html:24 msgid "No groups found" @@ -4348,6 +4369,7 @@ msgid_plural "{number} organizations found for \"{query}\"" msgstr[0] "{number} організацію знайдено за запитом \"{query}\"" msgstr[1] "{number} організації знайдено за запитом \"{query}\"" msgstr[2] "{number} організацій знайдено за запитом \"{query}\"" +msgstr[3] "{number} організацій знайдено за запитом \"{query}\"" #: ckan/templates/snippets/search_result_text.html:28 msgid "No organizations found for \"{query}\"" @@ -4359,6 +4381,7 @@ msgid_plural "{number} organizations found" msgstr[0] "{number} організацію знайдено" msgstr[1] "{number} організації знайдено" msgstr[2] "{number} організацій знайдено" +msgstr[3] "{number} організацій знайдено" #: ckan/templates/snippets/search_result_text.html:30 msgid "No organizations found" diff --git a/ckan/i18n/vi/LC_MESSAGES/ckan.po b/ckan/i18n/vi/LC_MESSAGES/ckan.po index 3bfc250152a..a2d898673ca 100644 --- a/ckan/i18n/vi/LC_MESSAGES/ckan.po +++ b/ckan/i18n/vi/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Vietnamese (https://www.transifex.com/okfn/teams/11162/vi/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: vi\n" diff --git a/ckan/i18n/zh_CN/LC_MESSAGES/ckan.po b/ckan/i18n/zh_CN/LC_MESSAGES/ckan.po index 6b500cbb4ba..0fc12fe5583 100644 --- a/ckan/i18n/zh_CN/LC_MESSAGES/ckan.po +++ b/ckan/i18n/zh_CN/LC_MESSAGES/ckan.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" "Last-Translator: Adrià Mercader , 2017\n" "Language-Team: Chinese (China) (https://www.transifex.com/okfn/teams/11162/zh_CN/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: zh_CN\n" diff --git a/ckan/i18n/zh_TW/LC_MESSAGES/ckan.po b/ckan/i18n/zh_TW/LC_MESSAGES/ckan.po index 24611d1df47..7c517285580 100644 --- a/ckan/i18n/zh_TW/LC_MESSAGES/ckan.po +++ b/ckan/i18n/zh_TW/LC_MESSAGES/ckan.po @@ -3,17 +3,21 @@ # This file is distributed under the same license as the ckan project. # FIRST AUTHOR , 2017. # +# Translators: +# Adrià Mercader , 2017 +# wh pai , 2018 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: ckan 2.7.0b0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2017-06-21 15:47+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Adrià Mercader , 2017\n" +"PO-Revision-Date: 2017-06-21 12:27+0000\n" +"Last-Translator: wh pai , 2018\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/okfn/teams/11162/zh_TW/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" "Language: zh_TW\n" @@ -105,7 +109,7 @@ msgstr "DataStore" #: ckanext/datastore/controller.py:46 #, python-format msgid "format: must be one of %s" -msgstr "" +msgstr "格式: 必須為 %s 其中之一" #: ckanext/datastore/controller.py:58 msgid "DataStore resource not found" @@ -201,13 +205,13 @@ msgstr "範例:Python" #: ckanext/datastore/templates/datastore/dictionary.html:16 msgid "Field {num}." -msgstr "" +msgstr "欄位 {num}." #: ckanext/datastore/templates/datastore/dictionary.html:18 #: ckanext/datastore/templates/package/resource_read.html:20 #: ckanext/datatablesview/templates/datatables/datatables_form.html:18 msgid "Label" -msgstr "" +msgstr "標籤" #: ckan/templates/group/snippets/group_form.html:20 #: ckan/templates/organization/snippets/organization_form.html:20 @@ -227,16 +231,16 @@ msgstr "儲存" #: ckanext/datastore/templates/package/resource_edit_base.html:6 #: ckanext/datastore/templates/package/resource_read.html:14 msgid "Data Dictionary" -msgstr "" +msgstr "資料字典" #: ckanext/datastore/templates/package/resource_read.html:18 #: ckanext/datatablesview/templates/datatables/datatables_form.html:17 msgid "Column" -msgstr "" +msgstr "欄位" #: ckanext/datastore/templates/package/resource_read.html:19 msgid "Type" -msgstr "" +msgstr "型式" #: ckan/public/base/javascript/modules/activity-stream.js:97 #: ckan/public/base/javascript/modules/popover-context.js:62 @@ -263,15 +267,15 @@ msgstr "表格" #: ckanext/datatablesview/templates/datatables/datatables_form.html:6 msgid "Responsive display" -msgstr "" +msgstr "響應式顯示" #: ckanext/datatablesview/templates/datatables/datatables_form.html:12 msgid "Show Columns" -msgstr "" +msgstr "顯示欄位" #: ckanext/datatablesview/templates/datatables/datatables_view.html:28 msgid "Hide/Unhide Columns" -msgstr "" +msgstr "隱藏/顯示欄位" #: ckanext/example_iconfigurer/templates/admin/config.html:11 msgid "Datasets per page" @@ -443,19 +447,19 @@ msgstr "讀取資料檢視發生錯誤" #: ckanext/reclineview/theme/public/recline_view.js:75 msgid "Could not load view" -msgstr "" +msgstr "無法載入檢視器" #: ckanext/reclineview/theme/public/recline_view.js:77 msgid "DataStore returned an error" -msgstr "" +msgstr "DataStore 錯誤" #: ckanext/reclineview/theme/public/recline_view.js:79 msgid "DataProxy returned an error" -msgstr "" +msgstr "DataProxy 錯誤" #: ckanext/reclineview/theme/public/recline_view.js:193 msgid "Grid" -msgstr "" +msgstr "網格" #: ckan/templates/package/snippets/view_form_filters.html:46 #: ckanext/reclineview/theme/public/recline_view.js:215 @@ -965,7 +969,7 @@ msgstr "%s 已被刪除。" #: ckan/controllers/group.py:653 #, python-format msgid "User %r not authorized to edit members of %s" -msgstr "" +msgstr "使用者 %r 無權修改 %s 的成員" #: ckan/controllers/group.py:705 #, python-format @@ -1054,7 +1058,7 @@ msgstr "無效的版本格式:%r" #: ckan/controllers/package.py:396 msgid "Viewing datasets of type \"{package_type}\" is not supported ({file_!r})." -msgstr "" +msgstr "資料集閱讀器 \"{package_type}\" 無法解讀 ({file_!r})." #: ckan/controllers/package.py:435 ckan/controllers/package.py:817 #: ckan/controllers/package.py:918 ckan/controllers/package.py:966 @@ -1655,7 +1659,7 @@ msgstr "請輸入一個整數" #: ckan/lib/navl/validators.py:124 msgid "Must be a Unicode string value" -msgstr "" +msgstr "需為Unicode編碼文字" #: ckan/logic/__init__.py:98 ckan/logic/action/__init__.py:60 msgid "Package resource(s) invalid" @@ -1899,7 +1903,7 @@ msgstr "已有一個 schema 欄位具有相同名稱" #: ckan/logic/validators.py:846 msgid "Email {email} is not a valid format" -msgstr "" +msgstr "Email {email} 格式錯誤" #: ckan/logic/action/create.py:183 ckan/logic/action/create.py:665 #, python-format @@ -2381,7 +2385,7 @@ msgstr "沒有匹配的資料" #, python-format msgid "Input is too short, must be at least one character" msgid_plural "Input is too short, must be at least %(num)d characters" -msgstr[0] "" +msgstr[0] "輸入內容必須至少要 %(num)d 字元" #: ckan/public/base/javascript/modules/basic-form.js:4 msgid "There are unsaved modifications to this form" @@ -2509,7 +2513,7 @@ msgstr "新增篩選條件" #: ckan/public/base/javascript/modules/resource-view-filters.js:52 msgid "Select a field" -msgstr "" +msgstr "選擇1個欄位" #: ckan/public/base/javascript/modules/slug-preview.js:57 #: ckan/templates/group/edit_base.html:22 ckan/templates/group/members.html:28 @@ -3217,7 +3221,7 @@ msgstr "群組" #: ckan/templates/macros/autoform.html:62 msgid "Site logo" -msgstr "" +msgstr "網站 LOGO" #: ckan/templates/macros/form.html:126 #, python-format @@ -3362,7 +3366,7 @@ msgstr "" #: ckan/templates/organization/members.html:14 msgid "{count} member" msgid_plural "{count} members" -msgstr[0] "" +msgstr[0] "{count} 位成員" #: ckan/templates/organization/new.html:3 #: ckan/templates/organization/new.html:5 @@ -3649,7 +3653,7 @@ msgstr "值" #: ckan/templates/package/resource_read.html:154 msgid "Data last updated" -msgstr "" +msgstr "最後更新資料" #: ckan/templates/package/resource_read.html:155 #: ckan/templates/package/resource_read.html:159 @@ -3660,7 +3664,7 @@ msgstr "未知的" #: ckan/templates/package/resource_read.html:158 msgid "Metadata last updated" -msgstr "" +msgstr "最後更新的詮釋資料" #: ckan/templates/package/resource_read.html:162 #: ckan/templates/package/snippets/additional_info.html:70 From 51081a7ecbe783e9b2accbdd698c689c8002b224 Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Tue, 11 Dec 2018 14:18:56 +0100 Subject: [PATCH 24/28] Update .mo files --- ckan/i18n/ar/LC_MESSAGES/ckan.mo | Bin 92752 -> 90320 bytes ckan/i18n/bg/LC_MESSAGES/ckan.mo | Bin 98504 -> 98504 bytes ckan/i18n/ca/LC_MESSAGES/ckan.mo | Bin 79655 -> 79655 bytes ckan/i18n/cs_CZ/LC_MESSAGES/ckan.mo | Bin 80576 -> 81199 bytes ckan/i18n/da_DK/LC_MESSAGES/ckan.mo | Bin 76422 -> 76422 bytes ckan/i18n/de/LC_MESSAGES/ckan.mo | Bin 80580 -> 80579 bytes ckan/i18n/el/LC_MESSAGES/ckan.mo | Bin 109487 -> 109487 bytes ckan/i18n/en_AU/LC_MESSAGES/ckan.mo | Bin 74028 -> 74028 bytes ckan/i18n/en_GB/LC_MESSAGES/ckan.mo | Bin 74032 -> 74032 bytes ckan/i18n/es/LC_MESSAGES/ckan.mo | Bin 81029 -> 81029 bytes ckan/i18n/es_AR/LC_MESSAGES/ckan.mo | Bin 80544 -> 80544 bytes ckan/i18n/fa_IR/LC_MESSAGES/ckan.mo | Bin 74765 -> 75250 bytes ckan/i18n/fi/LC_MESSAGES/ckan.mo | Bin 78439 -> 78471 bytes ckan/i18n/fr/LC_MESSAGES/ckan.mo | Bin 83778 -> 83760 bytes ckan/i18n/gl/LC_MESSAGES/ckan.mo | Bin 76014 -> 76014 bytes ckan/i18n/he/LC_MESSAGES/ckan.mo | Bin 85883 -> 87353 bytes ckan/i18n/hr/LC_MESSAGES/ckan.mo | Bin 77993 -> 77993 bytes ckan/i18n/hu/LC_MESSAGES/ckan.mo | Bin 75720 -> 75720 bytes ckan/i18n/id/LC_MESSAGES/ckan.mo | Bin 74905 -> 74905 bytes ckan/i18n/is/LC_MESSAGES/ckan.mo | Bin 79117 -> 79112 bytes ckan/i18n/it/LC_MESSAGES/ckan.mo | Bin 79077 -> 79077 bytes ckan/i18n/ja/LC_MESSAGES/ckan.mo | Bin 86771 -> 86771 bytes ckan/i18n/km/LC_MESSAGES/ckan.mo | Bin 84077 -> 84077 bytes ckan/i18n/ko_KR/LC_MESSAGES/ckan.mo | Bin 80465 -> 80465 bytes ckan/i18n/lt/LC_MESSAGES/ckan.mo | Bin 77043 -> 77633 bytes ckan/i18n/lv/LC_MESSAGES/ckan.mo | Bin 78439 -> 78439 bytes ckan/i18n/mk/LC_MESSAGES/ckan.mo | Bin 74983 -> 74977 bytes ckan/i18n/mn_MN/LC_MESSAGES/ckan.mo | Bin 101084 -> 101081 bytes ckan/i18n/ne/LC_MESSAGES/ckan.mo | Bin 74292 -> 74292 bytes ckan/i18n/nl/LC_MESSAGES/ckan.mo | Bin 77073 -> 77074 bytes ckan/i18n/no/LC_MESSAGES/ckan.mo | Bin 76409 -> 76409 bytes ckan/i18n/pl/LC_MESSAGES/ckan.mo | Bin 76547 -> 76547 bytes ckan/i18n/pt_BR/LC_MESSAGES/ckan.mo | Bin 80754 -> 80754 bytes ckan/i18n/pt_PT/LC_MESSAGES/ckan.mo | Bin 81115 -> 81115 bytes ckan/i18n/ro/LC_MESSAGES/ckan.mo | Bin 78179 -> 78179 bytes ckan/i18n/ru/LC_MESSAGES/ckan.mo | Bin 97232 -> 97195 bytes ckan/i18n/sk/LC_MESSAGES/ckan.mo | Bin 79117 -> 79729 bytes ckan/i18n/sl/LC_MESSAGES/ckan.mo | Bin 77403 -> 77403 bytes ckan/i18n/sq/LC_MESSAGES/ckan.mo | Bin 80813 -> 80813 bytes ckan/i18n/sr/LC_MESSAGES/ckan.mo | Bin 80646 -> 80646 bytes ckan/i18n/sr_Latn/LC_MESSAGES/ckan.mo | Bin 76129 -> 76134 bytes ckan/i18n/sv/LC_MESSAGES/ckan.mo | Bin 76781 -> 76781 bytes ckan/i18n/th/LC_MESSAGES/ckan.mo | Bin 104948 -> 104948 bytes ckan/i18n/tl/LC_MESSAGES/ckan.mo | Bin 74087 -> 74087 bytes ckan/i18n/tr/LC_MESSAGES/ckan.mo | Bin 74417 -> 74417 bytes ckan/i18n/uk/LC_MESSAGES/ckan.mo | Bin 75088 -> 75715 bytes ckan/i18n/uk_UA/LC_MESSAGES/ckan.mo | Bin 101638 -> 102682 bytes ckan/i18n/vi/LC_MESSAGES/ckan.mo | Bin 82388 -> 82388 bytes ckan/i18n/zh_CN/LC_MESSAGES/ckan.mo | Bin 71743 -> 71743 bytes ckan/i18n/zh_TW/LC_MESSAGES/ckan.mo | Bin 72023 -> 71975 bytes 50 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ckan/i18n/ar/LC_MESSAGES/ckan.mo b/ckan/i18n/ar/LC_MESSAGES/ckan.mo index 4dff5cd511b98437d5ef2764f22b00b32505c389..51c0460b312f65f24a64c2b1c22d85bc6fbc8c41 100644 GIT binary patch delta 13582 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 A#{d8T delta 45 zcmX@n$abQUZNt8`qLHqSLAt*Fx-O0i9{yIop4w6Vey*D@uQg_5Hq|rU%(;I5MF4ug B5M%%V diff --git a/ckan/i18n/ca/LC_MESSAGES/ckan.mo b/ckan/i18n/ca/LC_MESSAGES/ckan.mo index ab6093289021ec904fb1016a0bb172ce94671cf2..73b1c7794a09f836699ab567c30d7f4d74b59a24 100644 GIT binary patch delta 45 zcmZ4fj%E2fmJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_r4H=n@^-MOiuUF^*0BMvC AZvX%Q delta 45 zcmZ4fj%E2fmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;GB*;LPXGy8gl4gisE B5DWkS diff --git a/ckan/i18n/cs_CZ/LC_MESSAGES/ckan.mo b/ckan/i18n/cs_CZ/LC_MESSAGES/ckan.mo index 560fe60e529b0240e93cb0699e89210f3ccccdfc..02521cce07759f8ec187177abe1952636ebee449 100644 GIT binary patch delta 7936 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 delta 7880 zcmXZf33QHE9>?+fN>UODi4a@DizE^xlE@+}Y7e0mMy+jh%GiR~N~a!ls#T|_R6DQI zs_AB?nrdu09a9W#EmftBD$_*~9aLL`mKL4wFZZ6F)6c#4d7iuc@BiL6HvbyD=X&rv zuf=)4_>3v4G-jqTCVR6n>9`Rm;z@jz=RMys=2Pmss*EWOHfGfpW6n{p-C@kbA;ui4 zHs)L2>;0ZF`LrkOHs&)d!>gFJ$CzF`PyV+tG1RB-Wei-p*LY?Hg--iSojY(O^}F9U z<{my+i<78d`oNgZSo)zciRfVwzJYgRtutxAG4-iW#g;f5hvC!M7*Asm{)7|o+J4U% zKZTJ8jETpGF%DnCiMSI>vHd|~(r_NCgN>*TH(@i}iQ#w*@4~OK4b~z7GQo$8iN-J- zg>A4MKI~CwO<^tiaR)ZQ6Bvr8Q7>LZttk8>VtiM=qy?_M6g9CjY=pB={V&EQ z_@aBh88u;VH-%UVhp{PMKz(orwX#-+?T2a3-q@V>KVTG=qXt^+dV;%f$ogYO)W~UV~cLe$;oDQKu`i#@7FYo@TUyLL=OUn!r9(79T@(@C7!-JE#doAGh!4 zU@-N5sAL?3T1Y7>dBYt+C|L$|*uNQ965Q7mXj2VIPsEI5@4fH%J zIX7Ti+=UtVH8#hnFN_(A$*2h}K%Jt;P!W9@wPls4oY{}+@4V+;2tH|7)&v#8UN{Mh zQ6b)f3S~8F=KGvAr~zuR8D7Pf7<$T1qyu)Lo`Py0jT(3kDw(}!DQHG7qh`Fzy>JS( zvKy!uBmZOHi$h&V1*oJNkA7T&_u?z4T)KujJwadEEeu61tUW5XI@`KuGAQW9eAEhi zp^~Y@zF}Zmp@^^S^H|h(T`^MUzYm2m zG>kxnunN`De&;Dv=q|hG^}n_&i9-#Ph+04@YHKpF6ZS<#ZYH+CN3k{j74_q@1sm!7 zH~Yp87>^67=b%Eg1=aDps2T6Z0a%0D^SIM4l&BoZKrJ8#mHj2Cq`n`O#Pd+?OE3*r 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 Q>l*M1d{YA9g}x5|2V)V_(f|Me diff --git a/ckan/i18n/da_DK/LC_MESSAGES/ckan.mo b/ckan/i18n/da_DK/LC_MESSAGES/ckan.mo index 0cfc6e55d08b4687e688c4c4ae34e7e0d1de653a..1f15ee6ad39bb1520bc8e04d79a73370521f4ea9 100644 GIT binary patch delta 45 zcmZp>%F=d~Wy8L;qDBUW=DG%Ex<-ZyhDKIK=Gq28u=(;@2S#RNJ(JC1>kFy@SA-5+ delta 45 zcmZp>%F=d~Wy8L;qLHqSLAt*Fx-O0i9{yIop4w6Vey*D@uXSK#Hq|rUEVjO&8UTM@ B5BUH9 diff --git a/ckan/i18n/de/LC_MESSAGES/ckan.mo b/ckan/i18n/de/LC_MESSAGES/ckan.mo index dea2dc580f9052f7967f7f29c461ee6f8ef05fd4..22f44a2c8e650906bb76578c5dd3d7073d2f57aa 100644 GIT binary patch delta 7697 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 diff --git a/ckan/i18n/el/LC_MESSAGES/ckan.mo b/ckan/i18n/el/LC_MESSAGES/ckan.mo index 7136245e9d5f8a5e58a229039aed35ad46082f9a..784dbc7b3a4ef263ce0f462874e6d4b38c53fb43 100644 GIT binary patch delta 50 zcmZ2~oo)SfwhjB%iW(Uhn(G>v=^7a-7#dj_nQI#W!Q{(p-5D(=ORsy!Y^-OpnP>gt FKLEVS5y=1m delta 50 zcmV-20L}le*9NcG2C%-Z6eNKZOVNh?}UPDPW`tw#YjlN+w?12rx) Ivkb4J{OqC=WdHyG diff --git a/ckan/i18n/en_AU/LC_MESSAGES/ckan.mo b/ckan/i18n/en_AU/LC_MESSAGES/ckan.mo index a885ad05f3a21ca1b909b8158ed275808c039e44..0f723eae2cd8bad2fb4f1beaf50457df2b84752e 100644 GIT binary patch delta 51 zcmZ2;h-J+omJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rof%n-^-Q=n>sY%mZjRe< Gt^feFp%9Az delta 51 zcmZ2;h-J+omJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;hK#Z=FjYqO5E3*+Xv H4d)5~=P42> diff --git a/ckan/i18n/en_GB/LC_MESSAGES/ckan.mo b/ckan/i18n/en_GB/LC_MESSAGES/ckan.mo index 31e76fdcddfe157425e09bc872dd4ea6819a1a1b..371b22417fd02f99ae5d4ebd9f5185f9971f6e82 100644 GIT binary patch delta 45 ycmdmRh-Cv1?OQ8qWMF8nYhb2pWT;?hWMyQoZ2$zDFR%4rWH#0_*(|qSs0aXGE)FvQ delta 45 zcmdmRh-Cv1?OQ7v>FOAy>+7%U;;7)^Z{_Q$9p&%my7}^24@PEFJ>$)C>xGH{hX@bQ diff --git a/ckan/i18n/es/LC_MESSAGES/ckan.mo b/ckan/i18n/es/LC_MESSAGES/ckan.mo index 17da622860aed80709f4b8fa6095afda68d8dc1e..69b9d17eb3088594bef003db0742904a262491a0 100644 GIT binary patch delta 45 zcmZqu$+5;}Vr~wk delta 45 zcmZqu$v=^7a-7#dj_nQI#W!RE_rof(;p^-MNPu5a%K0BdCq A{Qv*} delta 45 zcmZ4Rm1V(KmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;hK*;LPXv*h~rZUB=% B5Sjo0 diff --git a/ckan/i18n/fa_IR/LC_MESSAGES/ckan.mo b/ckan/i18n/fa_IR/LC_MESSAGES/ckan.mo index 38205a57854f26927a0a6b67689556a504558fd7..b5797a5d93f232b873e3a8f3b612e342c57920d6 100644 GIT binary patch delta 7720 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 buT=htqAelwPLFJp|G|kG9r6d~o-Fr&xR=fF delta 7811 zcmXZgeSFVVAII_Yvtb)!Hk+B5-)3Vrb04!AlP#9pl8g|!Tv^E@Ls9g-bcNJKmlo?v zEktrph;q}eh>%PZmAmdqxZEW|uGjl_&L8zW=X}rioX`23bH2YlT;3l%`?KJ6OB#9= zK4UtsHm1-RQ+us3t#LGtz&EfB&u`&-)LX7M=8qs_zQ)7UD>fOkDcG2$9~iTUeh+Om zrX%gQw;4mxbl7gpmv{vedA@sxF?Fb)`Pi5>_~*yQGt((7FE?f^w*0R#_hT8}#7o!< z&wpY}UCi2POdR&bF8CN`;R@%^Se?3mm+ha5ovG(w7*4?;oQWgwkFAp`4v zYD{Ci8}sn*n2jq@1D!?<&}6qUA()0Wu`O!iTvzXb@ze)kC>CQPPC<=RhI;RWN1+9U zvzUwZ_ZU+R2V-pfd4n^`D*BQ2ncaW*6W^ zQK&~lJnBI^)C;+&2=8+a!w~9^qXL_NG5CUOU*Ou8paR|K+=&Y4ON_?js0CcM?c{&2 zJrrT+=RrJH#T?XO?1n9IBDTV%*dC8y8w}rPOgiS`OdNx0cons!jrJSU9DAcO{S2yo zIkw{bnWGf+LdfTI!nUZCPeX0Rd(O33lllj!z;>cm^gC+BH4YdPg>jgVEwCX@z-IU= zDr4I)6DzSB^P8Gq*wpqzrG5~G<721+CSe1dkA8d~HBluh6Q@yuCLFZ4A_a$1ABCy7 z6Lpx+p>9{}3S;iU7tl+gu%ALLyo9yU9I~f50+Xo5qE?=be(ZtjSA@Yh85O{DSRJQh z2+nrx^IiK}sCkxR1a3S;{Vs3o7vM zQJK7f3aAmEN3F04Dv%DS_w!Km4MM&5q(`9!g%?pDhSx9@D^U}jK&ALkR7&rl0t@-d zW*`u6>THuRtx#+e1O0)PopEjWhU&9WVhkaVu2B9Z~)7 zLw(W4peCM!EpZ`gD=IJyPhm8kMU7*Q+6;vv0eB{Yf-(?m8%#3l#pbTP1M2#8Lk;i* zYQm>b--#Dd8JL4g`65)t-banI88!YVsQ11=ot^Ijvi}z-^rhjJd(i7^+hH&&g`-g~ z7NaJ3!8s2Vz`M>>sDa-{{f3mg_McGipT#J=g>5k68v@k*??yor^}&%?h&n{uP!sIL zy0{l}@FXgb_-}2$4Ae^7p(f~pIwSp20gXiM^*B@@lTiV_jGj`umVzeQf{JVhYQRgV z(|Ze*($Hfz&|0WHjztaJ6cunwXM5D1=b#qW-_?g=EcNlI{{K4W?tcjl^=VjynrJKP z#d6e2_qqBp)c4_M)XIX78&d@%Q2|Ax7LtrwKpJYiyHE?wLiOwBp5K3*{ObcVlm-p_ zEau@Gs7OztQhyyaVfYDq>KmX|kb}xV9%f@N)Pyghwqmw>zR0yNM{U6xtcT?u1$F!y zKf-gEkIPQ-5yJDR6{VfB8ENIrLhWH5YRg8WGPnS>@=d5SP>!9k0vllM@9c*v9Tk9g z9|f(T2=(GP)C#6Jr=e0e0~N?Cu0GGz%TU*A3HoszDpQA0XXljj94hrUTs`Fbz!~vO zGzCqNj+(d~DwQ2kXJDe!Lj^bsHQ{ThEm(+}a2aYLo80s5sQ!CVfgi?4@LLRQ-4Du; zM+zxuq6bhf3_~5dBGd|=K}|RlmEscA0IN}fZ$wS7-PLzu5cSVd{VFgLkGlF<)VP9&@Rux%%U%y_}2+Y!>QJzJZN!EhgYW)S1F%=PJ}~*@_u>5YzBBYQWUfHX~W6ObkY) zemrXY85kHBwSc!ylmCVkR@0D<`%x?Y1GNJG8QZZn#!&By$ykW(aVl!X8!;aDVFx^o zI!ldywbv~Tn^NzG%Ge~-RxI^g!+O-IKZ%++?yMak9TjkL>!IE+)J)~5vt#IBtXv`q!9Q5qB@>KWgzIh9k?zk#fhkaJD~dYM+Np6 zYNh`{Eo3n&L+f3=0(Bcsp#r~wJTq60y%_#K8&EW= zo`m6;=IWWKKyqEZ0Chd@!!#U+)$mQ!ZFmP8GQU~w8unmq>IYCSoY`;_tqF#uepTZCd8gMEq)o-H?$tLvU0aQva zU=s|#Y)^4J)S()ITKNRjdsDF{&cje#j5Tl-Dg#?knfv%M`PaY)Xwa|SIrpI16}y)m zP^r2HwX$B$;TV_@wPjN=0vDhHScO{gE)4vPV;$<(-Se=k_PQrsCI9N!hX%b^go=0? zM&iq;iOR4pE<;VU&3ORT|0D+E84Sbou6`Xg&TZEo@w*MA0jghyM?nK*qEd4=*2V%< z$_AlQIm*?GQ3F1Q3S=(U!o{cstVfNr*R@w*YwD*^^VGR!$8UgIn3qmL6STt^?26iw zLevXSV@I5Z+Ow^wlQJ_-rIGp|t43SLJI zune{5n^AkV9krr^s6dan`j4m-o<#-lJNoes>OKE;Ya7(_Jk*N&U{f3zkp1^4WYVw< zwes%*4;aYV^oD)0FY2rmViJx=9lrUfz&B!j+=ZI(BnHj|>N=lC1rYwHy`C|c!u+NU z1zo>FjKybA5td*lA1TK^)UV&N{}_n_%K?TknDQP#=%!_>uD$ zY(qWrFBad5LOz9Dd88| z0>7f|QCm=qI!jYfx8`}&7R*BhS{CH_0*7yhYdC;9<>yf^-bAI&7wik{Wd{1Gw?TbE z`@8mmm`{BOY6}*lR=gMW_rht+#hO*^LVII0^)Vg=z3@CX!{zA5N=(G7sFlW4vjY}j z0`*5R4`-mx%6?S;E2uLOUEO9b6XU5Dp#qwLdcMT9dwVD-6+bzHLu>%a*qHWw)C5JS zesfU)tVc~)flBFR=S{3mJvh{kQxo-}%D`&a8FgFokxYAL00rIuk*ND!Y#;EKsW0$> znT>j35vt#MS1(7cqyjbY71a0OPt+Dx4YPqpq3Uf=AFN!|wR`}3>i2&T1+8Q$>aguW zo%-vTg()?BfiKu_)K<*EcKD&IUqEFjv8FF@I|@)+ISDgyv8x|L^{X0g=gGhp%x{Ld zhS{izcQ}7T1r}S&zLS%5lQPopL-L%p{f)&C-T z859~s*p(Gv2kKK$6K_OawyQD@>QR3P(FXW;DsZeS|< zBkipyh~)n3!B`sf!aUUBS%59^9n@Y`qW11<)EPO4Itw>kJtWGuN2B&S2}7|J>Q^)i z^?|wvyW_*C`Ibd-|8;0q)1dpf1y%n7705TJ!}mSv6ko!6Sf#H0pv0k`XSjL}DzJX2 zKp#d;GzN7@i&58bGAeVW9tB;q&8QR~LtU?G(KhudSf6?>YU088AQodG?#1^oDaP*k ze$sLW17&F8JBpglQ`DOfeu9>R3gC$$i>aRO@Z*I^etg-U6o z`gQ@CsI460>io{tFi>N)jgE|9MRG6My-|DHAN7aFVAMEcP<#9=Dv$-PUhbZMhmp*0{zpNFt4c$A2%}H~HFIX8 zGSVBhvZ1Jq6}k3etU~>H)S;V>%H*r4L%k4n8$Li~t{kc1+V-}n(>nljaXRV@>_#o%C)5HiJAFy^`w@Z4V6>~JpfaA8 zi28%#6V$!kjhf(BROA<2{V!)wvV9(sydf?7wc_YO`CaeN=-oFXudBaD z->lvR>4W?B$uFr~y|qT`Z2yyECKitvlhdl??KR_q?`qLDY(w+xta=;z?A};wga50y z!#4bJszK)s6PNZ14*lDR$>XQ``G09ylCO2?_es9Yl1VG-l@4s|8((r~MYYm1jeW5t zO7WS9ct{Ip$k>Z zWhk-M ziNyvxjj4-mFdK_77neKFVJLCEuZ^jQY4|kexOf^ee)9p2#6@3w#ymlx!Y*TyFca0$ z0MtN6V+Z^W6ES+XZ6FIP5$9kycEfV`9ERc`tb)T)&nIIP&cIf<5S5AJ9)+3|Zelz} zePcgJMa`f&>Ul@3iiH@B6EGBKyZQyF_e-z>e&O8jp8tdz&}~;Aw#S(A#9lQD>YyH~ zgEr3os0K%(W;)Tub1{;5DMsKr)OTA^?;XT)c-F<&Py;sK8smp5sCJuLJ=30oM%))` zU?GO#B+SHjF$K3_Dqh44jQNiB#g5njU&HtC6Ksgh_8OCng_we~QQvPxy?+rKvj0q# zeRfUSVhPHxdLHq3{Ou!`KwituMP!pJf^>Gm@<-1WCI)(M{7HW^h ze$U>bf0IEW0pCES=6x)WtFR7kL3MNz0|PiwqaZ8!wAG!;+-jKxZrh#FuE zR3>|%-W!g79Ovp6peC>p^}Tn%z3?+?WRFp)j{DK3Gz%*b_e4JqL~Yh7SQnR~2Jj7P zGoC=TQ|GvySPts_E~w0mK%J^_$N)X_cULhL)zK`}9lZ!O^Cj3ASD-fANz{A4pmzNY zjKTY;fkd6K^|eu{Pe#>eq2B9^)vzE?&-%YfVK5al0u>w!XXr`0ORJ-w=c%Yo^Q^1S z#|YvvsI{Kx>Stgk@nY0~4`CHNjvBxgqOXpjC)8w#3HUwj7(QG4Jjs)75c2L8gf z82yudzaJ`gWYmKiI{uqGmQ8wRV$Hsh^6vNM@l@yU@87HL6OB{0EzV|d%qJPtmf*O9s zJ$Mb3s<%;lU@>YS8?gcI#K2NuS>gvSHow_+!ciT@xHtjTP73P%9Mr(uVHo|Jz7({p zU&g?lj5)+JT)Y=GlM|>+TtdD70249xg8d~n7q#XESQjUv2D}_!!UL$y+~}fhr#*UV zur~#*)!&?NU@-AaOvibchTBn_?uIk$lKoZ7kBzABh8ox;tci;;7fUf5|3YQ5++{m} z8kfnxI!>lSGtY5$Mtv{>U>x2nkAyvswJv}XD|(mP{;J&r~zI=KZabh14=|?wg8ox zVpNAqom-syJPI1&8Po-$KYP?sHfqNGu{;jM2z(Wl;tALoKg1OL9wYIQdmeVfZqg)F z`x(xzsDTVe?FDZ#1>NxrFceo~1>A(n%nnS)i`W`tZ`$|zU^(I!Q5_edcKKLT!&6Z= z+#=M3wm6TVCUgsfbpFjPo8n;9$YM|fNI}gw3pK#@sDTVX9nWdl2$!QWbrjX%Y1E7# zxVYMF`&|ZVf-hrlEW&8@UrHgHii4;bN8Pc%ZZ}1Z`~_48<1reixOhHRCSHu%R2xwl zDRuETr~w|rDj58`ZKpcwy*d~}|0b1!j$0e|LPylO?v9%A>sT9Cpg!D#+5?AByZjbr zV8mTJz}A>R+#S`JllX2e^N)SK(*)u(Wqf_8uWJ)7DNs1z1p8cxC_T#MRl$FK%Bhyhg-~x=okMEQJK*LnDpyC*6Z7V*osZB+_n2WL4 z)zufFmf}s+Kxd&+yaub|c8tMOsP}F=Lm%4A#9QGlY7eYL&7=e? z;ts5Yhf(jHN6qjys-yCM*!OCpW}J>1a642x&*Bp}(AB?#YHucLFL{ey#VU-aVk>I1 z9Y+n|5w^m}KkWcIqSmxG>iNqq9)+6G1k|yejmqFhs6Dg^wf1K)880FO;P1b`><2Yb zBTGhQq7`Z>@?6{%mEvBg<2V4dBn7U16l&n(P#wRI+FR?fCLTw9e-B&YpO~!k-~2H@ zAgIVk9i!c-WAgy(q2Krdscw%-X&+SmQ1s&*R7N(SI^Kr57mlE2e8I)nQ3EdH^92S} z5gU3`q*KuGdl9u+reOju!=^rdx?v~chh=i7cc`^YF?U~{LU+VOh2!t2h3 zs28`RQg+4}RndNsjhbOTs-t&N_rPk@uHS|_4F^zH_DR&SzJtnWS^h&<_e4djXX;YW zv1x&7sGBn%)j%<-;pxsr&h@AP?!*wh>FV#HIt;IDGa8SP#4S+u?NAp~UwldDzkq^{ z#ST=;t~zT+`%D+&-q;M6p*Gz~)M<&W;xk$JJZf{!N1cv6*aCy9`T~E*WMgyU$*A@} z$JTfaThYHsjjhL6LV3n)c2C`8fj&W|lJmMSJ1T$jofC^FXeS#YBY1H%h z>h^ed$EL(H(9?0*K|z+SVK-YR)UKV2O7YjICAx*WAHw78`|Z(BJPo_yDpZOep;BHx z-X6;ur~$M?eLo(Rk?Ib%&2a9n)E;W4aQxH%d`^ z=Lc7R#>MwgKPAIz*}V{pors&DHsjxGasE}9N`)Gli@KwiqjvE|)NU(Ri%-_JYkCv4R7rJg2f3&vd>*yt)36KL+y?0sF^-M-Fz|iZ3nriwe5p?{{_^=G6=PYMxky}4|Uak?BboMQ*u`7{NJUZ z55kh|0Af&a5^D1`MGdeMDpUQPMb2>;MEyIcWA`rV`}wG2yxi6Qh=EL_HuoL$)bL{p znt4~Pev+?+=tnZmEAH7uX$Gu^Qgs)GX5$ctS3y7MjPah88TQGW5zG5MqY*{|dm4@rA< x(9ogz>936(J7&nR{2?O-jmR53vT$Vap!9-~!*k}{Tyr<5ae9-DmrCB6@_&{{!1DkA delta 7696 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 UH79ueoq+oB$y@%nzSaEy1KR47bN~PV delta 7709 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 F@qbLdpRfP` diff --git a/ckan/i18n/gl/LC_MESSAGES/ckan.mo b/ckan/i18n/gl/LC_MESSAGES/ckan.mo index 9af1550299f81df1066802e98f8fe91aebd92005..383f348d20a8f90adae08c3eb3b1cef63bed80e9 100644 GIT binary patch delta 56 zcmaENk>%Y*mJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!Q{(p?HMg53$OdgVytJvwOPmd Mt-$85`+sHt06|t22LJ#7 delta 56 zcmV-80LTCC(FE?%1hBrX6eNKZOVNh?}UPDPW`tv>-blM}A-1T`)* O3bQOb?GUr|zxil-))u1x diff --git a/ckan/i18n/he/LC_MESSAGES/ckan.mo b/ckan/i18n/he/LC_MESSAGES/ckan.mo index de20929c900423a7f87ec078c18339b85d80b1ed..56ca482acb3f751ccf4207476bc6367e2c52f232 100644 GIT binary patch delta 8112 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 H(*FMeA2O2? diff --git a/ckan/i18n/hr/LC_MESSAGES/ckan.mo b/ckan/i18n/hr/LC_MESSAGES/ckan.mo index e1e04b4d229a9a6f6c0c54a6f50fcd8274ca08a9..cd602f6434956f44070027e317e9351f23418617 100644 GIT binary patch delta 45 zcmZ4akY(jVmJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rs~DM$^-MMgtdDF20BWNT A9RL6T delta 45 zcmZ4akY(jVmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quytayw*;LPXbHMt@MgWq1 B5V`;W diff --git a/ckan/i18n/hu/LC_MESSAGES/ckan.mo b/ckan/i18n/hu/LC_MESSAGES/ckan.mo index 6ecc77eb9c0b7f9f7d6d02c9870790fc121d8081..c0aa4ba63f02de14122e68aa57040aeb4e02e181 100644 GIT binary patch delta 51 zcmX?cp5?@OmJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rjTu>t^-Q=n>sY&qYz{bF Gkpck38xVy6 delta 51 zcmX?cp5?@OmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;eJ#Z=FjYqO5Eo5<#X H!xbq2^`jCZ diff --git a/ckan/i18n/id/LC_MESSAGES/ckan.mo b/ckan/i18n/id/LC_MESSAGES/ckan.mo index 4150ff6cd89c841a512d339b3be1d3d2bb5c52fa..c3013c99171407831ef71310e3881693ec843c9c 100644 GIT binary patch delta 45 zcmbPvl4a&emJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rwHcX>^-MN1uAfl~09gzU AVgLXD delta 45 zcmbPvl4a&emJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyjGi$*;LPXGvoRhr2v5D B5B~rF diff --git a/ckan/i18n/is/LC_MESSAGES/ckan.mo b/ckan/i18n/is/LC_MESSAGES/ckan.mo index 9b45f7bc671e072b44b071261acb169ee073562c..897633d1fe5cdf383287159d8c2efe9feb1e74c7 100644 GIT binary patch delta 7769 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 F{{V;C)E)o; delta 7786 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 Ru_0rMpZtHr$~&Xd{|As?*?a&1 diff --git a/ckan/i18n/it/LC_MESSAGES/ckan.mo b/ckan/i18n/it/LC_MESSAGES/ckan.mo index a65ab28394a77ac1af178c8e9b930a19f18d2d94..b6b47d2467b1a8246f84f8492357209681119b7f 100644 GIT binary patch delta 45 zcmaF*lI7`3mJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_r4H=n@^-MOiufNv{0Dg84 AoB#j- delta 45 zcmaF*lI7`3mJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;GB*;LPXGyD2`tpKJ_ B5jg+= diff --git a/ckan/i18n/ja/LC_MESSAGES/ckan.mo b/ckan/i18n/ja/LC_MESSAGES/ckan.mo index 8d90aa3331bbfb926060791078556fef07282486..c09a9c9a07bceec074657bfb8011bfffcb9ab1d8 100644 GIT binary patch delta 45 zcmeyol=bsc)(!jCiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_r)ft(M^-MPZUH5G<0C21j AQvd(} delta 45 zcmV+|0Mh^Sr3Le)1+c!Y6eNKZOVNh?}UPDQiRttSBkH7+x={jT<- Dn1&JX diff --git a/ckan/i18n/km/LC_MESSAGES/ckan.mo b/ckan/i18n/km/LC_MESSAGES/ckan.mo index 66d95644406f2b7dd1ed7a93a3b3144755671258..f9d333ee3588d9ac7a2c160b294534fec7df429b 100644 GIT binary patch delta 45 zcmaDmf%WYK)(!jCiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rH5i$V^-MPZTbDl*0A`>M AjsO4v delta 45 zcmaDmf%WYK)(!jCiblFR2I>0x>$*59c=%iSdTK}c`?+quyjFve*;LPX^S^cZGXaiz B5i0-y diff --git a/ckan/i18n/ko_KR/LC_MESSAGES/ckan.mo b/ckan/i18n/ko_KR/LC_MESSAGES/ckan.mo index c94a9807c44b5587b30c94633f0f24d68e97e6e2..bbb9767c83673a15b6aa6bf30671ccd4f00cac2d 100644 GIT binary patch delta 45 zcmcckh2`QGmJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rWf+-_^-MN@S{L690DT(| A<^TWy delta 45 zcmcckh2`QGmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyjF&h*;LPX^QU$3-2kNZ B5rY5# diff --git a/ckan/i18n/lt/LC_MESSAGES/ckan.mo b/ckan/i18n/lt/LC_MESSAGES/ckan.mo index f4f3a81daab64f68b958a48d5aad122331203b93..02aab8ea2c3364bd70c0d99a793dd54cdc236810 100644 GIT binary patch delta 7952 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 XNV+#F*gnI%HCUYCJr!J+;SKsPo#h!w delta 7876 zcmXZhd0f|3zQ^(NWfK8GWD!*ChYEtornw}7kUD9K+anje8J3haSz3---tudW=2Ta1 zf%cnjcT$>ex5mV+v>CC~7B$myX(3x2Ew>uC#AS4HUhm&I|MWbc^F80Qe9k%FA3oal zUBoZV5o=$~@Z-XaDO+vKBxB5oHOBPESMg5#7OOpD2CX&bb>bE4jJXtU%&_&w93(E^ zXiQF|F)5pjX`o$MlQB0@e|U>Ao3X>Y#_Y#0Fq7wRyk|@z@$Rk0G~%~gjc*oH_^)lo zEW&o%jhTi)yoy(GBwl*om}DICfiVHB!a+D62jJhFE!c{<=tJASKWagh7>iFK^EY)k z6<_$!Hzt?DB`S(A^CM%r;yAn==VA#Sz%oqOVLKRwTFE$!!5ZgGj3AzmDd=M~F2{EG zGOC|-7>8%oAVA??*bzJLG$slMU;80r``k#(r|no#XO!47x` zQ}LpE-e#9wfS*A@0~exFGy>b=MAQuLb2YQG6J@J`ggU%C3@*qZn< z>bjmR?Wp!MQ0<;^aRUx!eDfX!4G{jRO=TRmAn`4 zIn-e;`OIcu1}gp|R^cw}ja~PVf318Xg?M}d6Yx3I%2%RRvI^ty3+#zUQSI7txg#-v zI<(o?3iDA5>VxXH3}dkpm7ywZix2H5|4PY|ROk@C=zJTKi1(pV_aiD3;Ro!5vQQHm zgBo}WYM>fS#Mv%hjM}ngF8&Lq6aN*}?!W=^uLeK5imO;m+=kDaRyYW?lF_J{Pr^<( z3v+O(tKW!O#CuT_xq$63{BzrXDrx~eQ41c0>hEr!f>QH1_Qt1C9c;n*_zCKRa?2NX z#UoJ@t3sWT`!E&fp;lCj%H&GanP@^y_#;<;)Wz3P3-ddDX+IEIm_|i8Dn(VOJ(`W` zXpyV0MGf#eYDFKQ20n&`c-h4{U)hNdKyBe5)Y+JV>hEqF`(`Eu9kzL{!IQ4RGpNig zLmj%6F5ZLfiJMU!o>eD&Wa4wE znMQqWUu^5lK^?ww)Wj=M6P<+WxCZqb@-QmJFQ7880+VnH_QHJ_qx&Cm$PSc%(}>ei zr}}Z{B1|EE7E7@KwX*L~890k-e;GBvb<~QJzOfVPike6rpG+f;xmBqgMJU>X05ny?+Xosq?7s!8J_9uy1WY>6k{`%~^_?(1dTf|0-0w z2lt{T@&u~GKcG6QLk;`}>dW^wD%A%u43D5D^do8l7f=iMCu-u6-`Rd+Q0)>??+3nf z_rHLO&QuIRUBhXphCx&+Uqh{QBkI(@i<;WxDP7j)u?N> z05#DdcExo#3O`3Jq}y?85&D|pKnhCfZ%_kF!YI5C3vrfnC29{pLv79XScGSsffIHi zV^RG~M}1Eo!ANYxXnYGb-j);OUn~2R3i*v|a1u4K^Vkuup$1MnX>Ut+%pop8eaUK2 z9sW1ofDNcywGDMPK1cO`0$XDXY5~_zlK%_}38#!1kNKE~zejbj2G#I=)Q9K*cEeLR z6cc{3D;|%kzaRVIbEtuLy81(?_s!3CYucmEM6pjn4@RO+{WMhSR$vUS#W>vT>UW~{ zx*4k7FF3Mh$Qk3o!Gv z{qY%tt%z$e8ec%QUx6CnP1NDrikGSjpc(caeAp zvwK;LI!qH#FU~~`v;Y(ESyaa_p(gq^>Xg5a%FHgz#{H-TTtW2{f8MrB#bm}eom@pR zs^fmBfp0rfrPg}T>UP>1*Ln2Xm@sm}eyW}qAc#MRD)*ps*c!*MVAH&WP7 zK{IW2!Jf(jRL8?n_0v%U*1C8-s-tFXhfysyGwG-=XSR#WP={~?#^QL?p}rH9u^BDo zU#EFK6*uFH?!h;xy*q_U*%eGe@1h+b1=UeLYNGwIElzOHr=zygM@{f0)ccL@`F6}B z{`w;M*FB87WcMf&)p1|cixn=u%{{Mn^}oYZo-c9FUq(&z4HvI-Hlc384ot)!P@m|F z?sagZd=j zg_`&h)b(t@V*LM*?0++bN-AQn*jgJi#t&RpLeGI%1^V$-)}gI`gzxlxd%T&tt{Vo zp$U#dz5hGR!IxdU1Ajw&4z(5iJuh^fYcQYqS@er2{FOpEoLO~Z6C*tHB6g4PeDiw>+o;f?8ye|_ z_OJ$f5idqf@Ez1CK8flmGs-?6h+5%H?1&q&1otC{%fz?xLbs?R28g?3G7dvccuFhZ z3+?G#D%8PZ)E+gUI#`2BZ4+uQk6{3R!f=d>w)JhXkT}IT6uT48LB0Pc7wzx|YXKDL#k#P{p*d z^&L^yIvdHfZ~9Wuo(w_V+ba9O+>fC{g?gb5b^TsJ9inxp!@2`C@DPvbns@)wpO~3#5QBX?upi+GawXz-wUg)1r6H(Wt4s{5(Vqd)MENpA9*FC5S z)uC?72iPCaptd3>(e_(~HxfUEy%^tYrl1#3V;>B(vja~+P3(Ep^UbIU`~%ftR+4Ln zdhdBu$2*+Yus3mWvfaYFQHOLXYN1=uSA(+@hG4f8&s5-jsKc}hb=~%$Qg;Fi@EU4` zd8zJ9pfWNSwb!drDSj7q_;$JH$50E%Xm2wyzCHI}U#2Ii&>l9TzWwi@2H1+~=qJa@>9t$Z;~z(3(6ynwG`WkLoMhb zjK!yrjQFOGg0|p)P$_;DmBP1O{RgP~zZW&&cc@HU!VF9ZSo2ZujX(`B8FfqUL1iR} zy4I^v3;7yLb^qft?VgN8?d4R|p3O$>*`u!h3Dh4F%TQ;c5!LQPjKbZhf%c;&d;;~w zyo~y}PU~XhQq)4GU_0IaxfJw;dKxuA(8cReDSHof*bbr&)iKlxe{uEKF^o8|t9_n~ z>Ms)qV)rFOP#s-C{m$of zw-cyAO?(mRc|DflcGSQL6g1<)p7sxlJ8%Z^U8n&* zMIEMtF8;xJ(s>%|Yu8NP@Kj0vhf}JCR*cK99GyR;A~0<9fXd-{lShvlT7O`5x!12g zxpCH*-X(!qGv+*e=Zw;v2eXQcN=u6a+1UXVi!w`#ivxoKMS%gKxU9679)+3}4J3d{nWiu$wnJB3PT_4GJE~ z@$L%Vp6g8yHs^X3!Ga#%pX;yxB`SEPhgVa-byZ|=K_1ooCn|U-&zl;o?&;lCe|A+= kec_vf6~qPa$oCcoujhOHgCh&P{NU3C-mGBfLa*z;0kF;V#Q*>R diff --git a/ckan/i18n/lv/LC_MESSAGES/ckan.mo b/ckan/i18n/lv/LC_MESSAGES/ckan.mo index 623c5940f08c3ddc2b6176cd60c1e866a38e03c2..557146d6bd418dc152bda0f0d095a07e1dfc321a 100644 GIT binary patch delta 45 zcmaFv=^7a-7#dj_nQI#W!RE_rLl~Kj^-MNvt+#Ck0DeRd AIRF3v delta 45 zcmaF0x>$*59c=%iSdTK}c`?+quyf%c9*;LPXv(|dsW&oxh B5Y_+y diff --git a/ckan/i18n/mk/LC_MESSAGES/ckan.mo b/ckan/i18n/mk/LC_MESSAGES/ckan.mo index a99c0216a83139075895b90a44859366c5d07e78..9c17f4274d8e529f5f36d8f85866d1102edb8a40 100644 GIT binary patch delta 7725 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 B$C&^C delta 7729 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ⅅb)U5@ zY=g?;o~WKrL2r++D)DLz!q43MM^FvFh-!%cb9UrvqkbDkU?O(I8aNlVQ7u7j(WlU( z7T%_yA+J5t8i6B;yP$^fBh>o!VYN)c;iyBY3^fvspSN>89Mg!`;yApCI@E^GvS-Oc z)P8diRe$6QtbhF!TJ(Z#*;lA#QE9ea*RiPNnSgC@Gj_&HsBDj%V;k@WY8f9uCE01z zl$p8qcuqj&RZVBY5)K7rU#z{IzDY8Vm8%Wx9g|>0mevnBLDyZ delta 7710 zcmXZgdwkDjAII_Qi+(ca^Kp!j(=aoe&1MdpLt~R^v2vaobDlY+pHWzMAyV8qRCJ@0 zGG(czThHm_|my4n6}@!?|5Ms zt|MN1(7EQAbjZ1A%)v}tg?V@p$6|JgbF{~Oj8$+yPRCQ&46_b9R~qMFE*2gRI@gWD zFI-5&$Rqs2S-1o@;b@FIYOX<5Q0ka-jWK{tu?6bG{je4e!VZ|{$Lmnfzm0`>0@a`) z!Q;+FP?(GQ@QYXt4`3@igT1ig3FjK&AZ&rtFbvnCp4*J|@d(z$%UBx&C#``EQ4Q#U zx}Sq}F*ut-0)-W*iVk5zyoIW;{#RB}EGkaNa2)4bglfn}td4J?I`A>pz>}!wFJfD) z@U_JWX3!0$pq5TY4cQVbk9$x2V!1xqs$6dq4J+ za|4N2V+LNvEbR8Z43b0?vbpd(Dhd0YwhFJH8j^Cxxk@+y8{u$NL+4^V7Gr(9h%p%U z1NnlsQ1@k z1q}bmx!KqX)#LwQZ@hsi*y9|dfJN8?oBz!FsT9UiP{muZ0iMKKcolWO;(6!p!c6Ro zGq5FohynZ!)quZHbM9TRW9#3L~R zPhthUft|4IMH`_cY(bojp%38@;?)?2*H9x^>XI$Hy4apL0o!1nAFm2h(0cqFAHeT1 z91}0IOJO!v!jq^9f5zr`8}(fC-)(*OL?vY|Cg5spj3-b@cLQTF?hm^^36;#j*C=FA z_yX0k@IP(&^u-Ru>rf+9f|`=6s1LOM%X|pah}WYUd>K39gex`@>roAU12vLIeb1Od zcZq^}cnj6T@>lJ}Cccqa!1Xvk-h!Iz9e#WaH5I2Z8pEzxvL&HLU;t`4PDSO~YkqtT z+i3k%zV6&B+~|Vp={eMk<^Q%JibTczQ1>Td4P1`3a1(0Iclp;p$8_RTsE)O}VcDMK zJ02%-eKp>t^;_|#eIN>t5)VZ6u;neQI0fqxXW(ociw*E6ERUuCp%Yjc^ajR_cu z15ra?h}Cd0-j6S0P!-(p9|-)Q58+W>bMy1#FtPFc@@?3y;udmLG|=E)JWVy z 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 ADF6Tf delta 45 zcmex)h2`fJmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;47*;LPXGtc_mY5=8z B5XJxi diff --git a/ckan/i18n/pl/LC_MESSAGES/ckan.mo b/ckan/i18n/pl/LC_MESSAGES/ckan.mo index ad820276077441cc28755ae2b2143415e7b0ed37..2c55f31b4b888b05951749db4f1bbd14c9f60e69 100644 GIT binary patch delta 51 zcmZp^#?pL^Wy8L;qDBUW=DG%Ex<-ZyhDKIK=Gq28u=(=ZLyRoOdL~?(b*$Y)Hs3$2 Gk`4g3DG=5G delta 51 zcmZp^#?pL^Wy8L;qLHqSLAt*Fx-O0i9{yIop4w6Vey*D@uRX-bVyb7%wOPm7O=R=^ H!z$?j=&=%W diff --git a/ckan/i18n/pt_BR/LC_MESSAGES/ckan.mo b/ckan/i18n/pt_BR/LC_MESSAGES/ckan.mo index f87335d809dd3075640ecc7a1b57d842548945df..132656b0c5283eb14b917dfbcfcec61d3f29d18e 100644 GIT binary patch delta 45 zcmezLjpfrfmJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_r-58mT^-MO)tPkq}0Ec7` Ac>n+a delta 45 zcmezLjpfrfmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;78*;LPXv&{Oi9ssXC B5f%Ud diff --git a/ckan/i18n/pt_PT/LC_MESSAGES/ckan.mo b/ckan/i18n/pt_PT/LC_MESSAGES/ckan.mo index 61f5b5d8b91f0ca9d7193e9002cd05b6b54ade91..1b77564a0f05fad6c72f2de3eeb24111e69285aa 100644 GIT binary patch delta 45 zcmccpljZhLmJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rT^X5;^-MNPuRqWW0D)K! Ax&QzG delta 45 zcmccpljZhLmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;VG*;LPXv-J7{y#T2) B5mx{J diff --git a/ckan/i18n/ro/LC_MESSAGES/ckan.mo b/ckan/i18n/ro/LC_MESSAGES/ckan.mo index 50c4da41e5662755216fabfb3b6399ce04ebcc7f..d8989a409635e2d364aa11e9430f30bd348826e3 100644 GIT binary patch delta 45 zcmaF-h~@DkmJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rqZyfv^-MM!t~Y7|0DO=S AF8}}l delta 45 zcmaF-h~@DkmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyf&JV*;LPXv*CK9CIF;r B5X=Ao diff --git a/ckan/i18n/ru/LC_MESSAGES/ckan.mo b/ckan/i18n/ru/LC_MESSAGES/ckan.mo index f893c7532859af312fd387ec187a3124c31d58b2..d1e7c492f7212dd11558ee87342d507164e2bf33 100644 GIT binary patch delta 224 zcmcccoptqh)(umv>O~nC7=%k08O(sRCXi+U(g{F%E09hF((H^34AP~H43mL;p*%tklqcX`^y;_{sU?63Py&VAi9!~As0xqRxvWv0_kEP%?zYJ0_llB`YVtIncrT` z$iNSzd#V{F!2)xD0w9TnP*X;i_MDbsu-D#^-MO;TVHl$^1M}1+b5SW+Oh)x)?zZ4 delta 316 zcmZ4eo%OJ=Fn7=%k08T^5?DUfCX(yc&xE0FF2((H^33=XA?43mL;k1|Gv z>p=PrklqcXx0Ew7{0Gtn6^sl!L3AY}LoSfks$yiQ1=2HsG&7JEt7c@F2&AQeG|2ol zK$;&&Z>(mN1PdI5N*sgIr-Ah3`Rj8w&#+c25{-0q4AS-W*L87J@bI_t_0*2?_j8?m zd95#_`DVp+RgBE0dd8dQtuH$ge__vstrr_F_FrtPRj9tO<-*nrdoT9X>HyiBFYLRp prIw+ZkP4vMi|rRSTx;SN&ZD{}i diff --git a/ckan/i18n/sk/LC_MESSAGES/ckan.mo b/ckan/i18n/sk/LC_MESSAGES/ckan.mo index 821236304100df61c990677563de4cc01eb8308d..105581b48b23f581cf125c60c573c26997204303 100644 GIT binary patch delta 7912 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 A6aWAK delta 45 zcmcb8hvoJimJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyf&SY*;LPXv+a7hdH|q3 B5U~IN diff --git a/ckan/i18n/sq/LC_MESSAGES/ckan.mo b/ckan/i18n/sq/LC_MESSAGES/ckan.mo index 36efca66db6ad274803fd39ea3639d55b08c65c6..502185ad6d9cb5d761f3cc90a1b63aa55a57dd85 100644 GIT binary patch delta 45 zcmZ4con`HJmJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rjTo7Y^-MN%tY6v#0B^Vt A7ytkO delta 45 zcmZ4con`HJmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw-@3*;LPXGspU+Jph-I B5VZgR diff --git a/ckan/i18n/sr/LC_MESSAGES/ckan.mo b/ckan/i18n/sr/LC_MESSAGES/ckan.mo index cfb6ef9c29758d697379f6c85fed568990349d5a..3d2cefe261e59ff8ae543a428688f9acf0ce17a2 100644 GIT binary patch delta 45 zcmZqs#?tnUWy8L;qDBUW=DG%Ex<-ZyhDKIK=Gq28u=(=ZYDQ*bJ(JCW>$i3T0A`2} AX#fBK delta 45 zcmZqs#?tnUWy8L;qLHqSLAt*Fx-O0i9{yIop4w6Vey*D@udQZeHq|rU9JqdKHvo=e B5e5JN diff --git a/ckan/i18n/sr_Latn/LC_MESSAGES/ckan.mo b/ckan/i18n/sr_Latn/LC_MESSAGES/ckan.mo index 12901a648edc637cfc9b31a595d971e92d0b6437..f6debeda6e41bf4c7c7219a694903de56ce311cf 100644 GIT binary patch delta 7676 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 aDcs|kUV{g$OZ+Uy7f>rTb78O5!~YKmzrUye delta 7665 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 AhX4Qo delta 45 zcmaERo#pLymJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;GB*;LPXGyD2yH2|X( B5hMTr diff --git a/ckan/i18n/th/LC_MESSAGES/ckan.mo b/ckan/i18n/th/LC_MESSAGES/ckan.mo index 06e50b40c81f63f8a0dc937d4010643bc339e216..8e6015a6aed79f09c711f7678c36809716ce6ffd 100644 GIT binary patch delta 45 zcmeyeneEGFwhjB%iW(Uhn(G>v=^7a-7#dj_nQI#W!RE_r)ft(M^-MPZUHAPJ0Cq(X Ay8r+H delta 45 zcmV+|0Mh^Tvj+6D2C%-Z6eNKZOVNh?}UPDQiRttSBkH7+x={jT@w Do*xoe diff --git a/ckan/i18n/tl/LC_MESSAGES/ckan.mo b/ckan/i18n/tl/LC_MESSAGES/ckan.mo index 297944c2c18c07b1e666cdabacdb8264751e15be..6df286e726b7b4ce2810a328691f8fb04e4528ed 100644 GIT binary patch delta 24 gcmaEUh~@bqmJRIdS&a2exHjup`^at%KO+zd0Di^^A^-pY delta 24 gcmaEUh~@bqmJRIdSxohexi;%q`^at%KO+zd0Djg9BLDyZ diff --git a/ckan/i18n/tr/LC_MESSAGES/ckan.mo b/ckan/i18n/tr/LC_MESSAGES/ckan.mo index 361101da19dfce7999270751fadf059f81f90036..6e48c8faec8f9812b0af06e32817064f602f507c 100644 GIT binary patch delta 51 zcmdmZlx5>lmJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_r4H#LB^-Q=n>safHZZv2 delta 51 zcmdmZlx5>lmJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw-q`#Z=FjYqO5EzUXGN HBh_&L=fM%H diff --git a/ckan/i18n/uk/LC_MESSAGES/ckan.mo b/ckan/i18n/uk/LC_MESSAGES/ckan.mo index 55f6d74c002cca862df52b06bd34b40324b6e117..0ae61d18abd32d6cfa0b17b80e687f9c089a977a 100644 GIT binary patch delta 8073 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 diff --git a/ckan/i18n/vi/LC_MESSAGES/ckan.mo b/ckan/i18n/vi/LC_MESSAGES/ckan.mo index 130242618b82468ce48d52e4f4f2aef530f8c0b0..6bf13baf6d14df62d0ec0c125c49a19007f5caf0 100644 GIT binary patch delta 45 zcmcc8%zCAnb;G{3qDBUW=DG%Ex<-ZyhDKIK=Gq28u=(;@T}EbOJ(JDM>n~0M09M-$ Ar~m)} delta 45 zcmcc8%zCAnb;G{3qLHqSLAt*Fx-O0i9{yIop4w6Vey*D@uhnH_Hq|rU%)I{MBmjQ3 B5Jdn0 diff --git a/ckan/i18n/zh_CN/LC_MESSAGES/ckan.mo b/ckan/i18n/zh_CN/LC_MESSAGES/ckan.mo index 69bd426ab468e795f1054138b1f4863238ff0b00..1fba9ab14db5f12a12317803e89722a35e16d830 100644 GIT binary patch delta 50 zcmdnLfo1;&mJR#XiW(Uhn(G>v=^7a-7#dj_nQI#W!RE_rZ5dgN^-Q=X>saS(ZdkuR F0|2OG5SRb} delta 50 zcmdnLfo1;&mJR#XiblFR2I>0x>$*59c=%iSdTK}c`?+quyw;YH#Z=FjYqE}Y&gO>o G`!fL8PZBi% diff --git a/ckan/i18n/zh_TW/LC_MESSAGES/ckan.mo b/ckan/i18n/zh_TW/LC_MESSAGES/ckan.mo index a363fc94dacd82a819469534c6b2b2c1377ff49d..fa733498ecd87777ce065626a8e2a80accdc324b 100644 GIT binary patch delta 8230 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

YJx82 z8>j-3EuL(CYOb^PY}9zCP!HV&YY$rcg8&!$aFhslHbbqnKWc(h)WrWV7h?i(CicUK z2ppcP85%H_qD*P#IKr3s2!b-ns0*{_}&^GSfXNa*RdU{kVMocb^_`Qx1oMa zE~Ad3bO|?Lb<_kMQTGkA{3KLiYfvA!Q>goHAUhK9o^YWvELzfSQ8|ntu8R75pg!uo zZHbzoJL;`SMh!d_HQ{DdzvHN#yNY^PAEEl!DCOcd*q(SWzM}VkB^Rpfju~FsJqtBa zg*8TPWouLc38*jQ`>3_-)%7%i;7>jcqFR-T+3&^z=bM4 zggV3Xs1;sBO%PJS6<7=vmp7}JHL~ipo;&K5rcL6WYt$sZQPVhoT+>!fpKH*B|Alu; zOi69jXH??Ilo5%k$)j5N#|-nolQ`VpX3VhRsY3>hedmQ?$*D<+!$&lJD>tDG6qU8`My#(?{>1G$8R>Dsv}v}D z=Wce3{LiX0n%r6v!OC*i&G&cf(Wyt)xm(E*p~26lF;G_5$C*Xup7K>MGUel7#ys{@N-2;N-1Wx39mtW7^g2Y1=lG_KhkM##!gM>0+XNafSX5Q=lS| delta 8067 zcmXxpdvwibzQ^(3j)=r1A(Egj+0-Rb1W}h#6^gV?s#2G!LA%LTIZd*yTw1qwYfou( zIqj_OY~upbV?0M}d9465bzeB~%_julL?2TDC6P4eFE%7v}!yhpYZ=(iou-EfqFab4z6jXgW zHpWbR1cz9>C`>^sT8aty0jh(&s0R;X7yJjRgWG09&O_~5pq^`o8n6edU6%Q%`FnFZ zs$IFo;R*_^Ni0Tnw8{L$8XPgtnU}5pn#HmE+(eTxiRV*M6YFF7fvA3mqjqpCYJz3X zu=k=RUPEo|GK|3wFb%h3NBr81`EpD>k?OX<`e!MvgHIZeQ z&i(VYQP2*2jl+%u?NBw|jXz^H zwmjtG0ESgDpMqAf&ioM7;U3hH96+u7E7aCq$L`p&+MWFfRQt!w@#bVRXcl5)+LfB~ zs@Z=f{)>bL_#^5)uf*oK-~7Vz-=oel_V2E~D{A1usD6f{E?b_(Q_K+RXy&38^t$EW z{X6@wiY+Ac;C{@+Q>Y0wKI{hQfQr*mNAUor;Y8Gg=c6v=n^?DVs0kgw1U!j)JHACN z;Fj4g{JCo|1hut~VH}1~XFm(o;Zn=5LUp*_+-4p?-H9`(OIC~OC-#WzHxZTZh3YpK zRUa;*pxgQ!YK6;DE8L8Aw;9#2#`3jh+)>wYXH>_-u>%G$5no14d4ME z*!$EHhsk{~EFZu`^2MmP>P4%6+w$+3yD*dbqu7}7y_kQvt!a+q ziQA%PSdJQKJ|^QL9D%D*^%qfFdL1?4dMDgl(G*qR5tFeGs-K5Z?M7REGKN)AW)0?G zU*eZg4L>sXq1qj@_>B3j`LosgPP%rnsMjn3HNiC0gnFApQT^qeWdBuof`n%JlvO-y zK9Abcmn~j`dP`PdJbrBXL#TGgEWUtRz!i+f8QACcI0$c= z{m-}u%dsK(x#laViNArp@m*9uXHhG^Z1FYhN*sIE{Rm~EK0uG6b}T%Df@b!gr~zKJ zc(J+MT!ZzgUvF`xxfM0wPE^MSExuyjFdKZ~+9jdJYmY1-?4?;^usIwD(jW)bafP|q zTy1Vdb+iMul06omu=+18zGVJ@J!yB%;`A@oKj+_*f>wS%>MXOdCFY^F^cmDd=3on~ zKn=Xge8+qrbt$)4yw^O4n&453zd`j|t61;f1g5 zwX#X54(FoUFGPLYSE43#47=b3i{rm`6Kan-iu=P9)KM|u-)o+V=Lks ztG|W%(dl@}{R!6}?;;+HYBvKrhdOh@ACan6B_K|uvb7q6PSUT@$;_2TV(l&#jDJB%=b|PZ?Sk6>d5wC-PxO0 zF@b#jAKV0zu`_WS?5g*F7==M3icvG(fE}fW(8_tZ(&b7k9utre{~D(hhZh2prA8)!7A2bH{$)M@53(^C;jHmE(_}h z!W8N&P%Bz#{spy@M^G#O36rtjHP@~cjv?-Sjs2fZ;T00hB`zNbCQvdp_Kef}g}tybGtAFQ6V=imk8` z_2Y5?+u=F%<89PVw7cVWt`llUdZT`}2cdR$G^$;|;_1$?H`5XosIC7W^KEmpxeK+W zhb;al>eAMtI!^L@bJFO|TRP=>315LK_lWQCoQ&b^C8(A58Q4 z>i*`Ngxb;<%_`Ju_YLaTvssjD*AEr{9tWyDrs2m{f5GY-)}uY+dp#+rqcNxl=UKcK zwe?3)9n@NVaR(yhfyo&v>X#-!~S!biR_;;w=KLxdbm(4$$CmQ(p_a7B^Na!z;v{+x= zS$0D`m}&7?)LBkMU8b3+_qPIdXI7vlxWVF`=0ViipF&;k3pf&eac-Q4;=*pGkCA9d z#RRJenuXYud?{*xm(3-p39PsHujVoHg4JI~UCxAtZk!ZUKYrBnnPCe0a6DudqgEQR z1{+Zid}^M;3B;FiJdSAO^VZ=C)ORAgvFo@Lb#x2OcTqd~H`I6+&2W4Z+iFzBSc_+) zCbAs$iTw-esD4EKn6!>}N0EbiZX#-c7g5ixvHUL7#J)y-;1Uwtb7{yO348r1=nRLt zgf|Ks5kGr#+jC*2uR$lkqQQaTR@@J2_ zFZZE)CX9M?c*C4PX<7F%C4u77!a!N5EL%mmR4Ok74bzj z6=X&>oH<-SCom;gST*nLn5g93U|AqvLl&}9fB6i`!TiY8FLy@{6{S`kJoktA#JphX zj8JiD!LvbsenIJs!oaMm|G1Lji+?;=7@S(>5BR5P5|MS^c3riw*H#p>lO8Xb=`WU From 0a725d6235092ca942e0970988e77deb7f4bc2bf Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Tue, 11 Dec 2018 14:48:05 +0100 Subject: [PATCH 25/28] Rebuild frontend --- ckan/public/base/javascript/modules/autocomplete.min.js | 2 +- ckan/public/base/javascript/modules/image-upload.min.js | 3 ++- ckan/public/base/test/spec/modules/autocomplete.spec.min.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ckan/public/base/javascript/modules/autocomplete.min.js b/ckan/public/base/javascript/modules/autocomplete.min.js index daf775964c7..06219fb530b 100644 --- a/ckan/public/base/javascript/modules/autocomplete.min.js +++ b/ckan/public/base/javascript/modules/autocomplete.min.js @@ -6,4 +6,4 @@ $('.select2-choice',select2.container).on('click',function(){return false;});thi module._last=module.getCompletions(term,fn);},this.options.interval);$('.select2-search input',this._select2.dropdown).addClass('select2-active');}},formatResult:function(state,container,query){var term=this._lastTerm||null;if(container){container.attr('data-value',state.id);} return state.text.split(term).join(term&&term.bold());},formatNoMatches:function(term){return!term?this._('Start typing…'):this._('No matches found');},formatInputTooShort:function(term,min){return this.ngettext('Input is too short, must be at least one character','Input is too short, must be at least %(num)d characters',min);},formatTerm:function(term){term=jQuery.trim(term||'');return{id:term.replace(/,/g,'\u002C'),text:term};},formatInitialValue:function(element,callback){var value=jQuery.trim(element.val()||'');var formatted;if(this.options.tags){formatted=jQuery.map(value.split(","),this.formatTerm);}else{formatted=this.formatTerm(value);} if(typeof callback==='function'){callback(formatted);} -return formatted;},_onQuery:function(options){if(options){this.lookup(options.term,options.callback);}},_onKeydown:function(event){if(event.which===188){event.preventDefault();setTimeout(function(){var e=jQuery.Event("keydown",{which:13});jQuery(event.target).trigger(e);},10);}}};}); \ No newline at end of file +return formatted;},_onQuery:function(options){if(options){this.lookup(options.term,options.callback);}},_onKeydown:function(event){if(typeof event.key!=='undefined'?event.key===',':event.which===188){event.preventDefault();setTimeout(function(){var e=jQuery.Event("keydown",{which:13});jQuery(event.target).trigger(e);},10);}}};}); \ No newline at end of file diff --git a/ckan/public/base/javascript/modules/image-upload.min.js b/ckan/public/base/javascript/modules/image-upload.min.js index d1abf4878f3..439b03e49c6 100644 --- a/ckan/public/base/javascript/modules/image-upload.min.js +++ b/ckan/public/base/javascript/modules/image-upload.min.js @@ -3,7 +3,8 @@ this.field_clear=$('').appen this._('Link')+'').prop('title',this._('Link to a URL on the internet (you can also link to an API)')).on('click',this._onFromWeb).insertAfter(this.input);this.button_upload=$(''+''+ this._('Upload')+'').insertAfter(this.input);var removeText=this._('Remove');$('' +removeText+'').prop('title',removeText).on('click',this._onRemove).insertBefore(this.field_url_input);$('label[for="field-image-upload"]').text(options.upload_label||this._('Image'));this.input.on('mouseover',this._onInputMouseOver).on('mouseout',this._onInputMouseOut).on('change',this._onInputChange).prop('title',this._('Upload a file on your computer')).css('width',this.button_upload.outerWidth());this.fields=$('').add(this.button_upload).add(this.button_url).add(this.input).add(this.field_url).add(this.field_image);this.field_name.on('change',this._onModifyName);if(this.field_name.val()){this._nameIsDirty=true;} -if(options.is_url){this._showOnlyFieldUrl();this._updateUrlLabel(this._('URL'));}else if(options.is_upload){this._showOnlyFieldUrl();this.field_url_input.prop('readonly',true);var filename=this._fileNameFromUpload(this.field_url_input.val());this.field_url_input.val(filename);this._updateUrlLabel(this._('File'));}else{this._showOnlyButtons();}},_fileNameFromUpload:function(url){url=url.substring(0,(url.indexOf("#")===-1)?url.length:url.indexOf("#"));url=url.substring(0,(url.indexOf("?")===-1)?url.length:url.indexOf("?"));url=url.substring(url.lastIndexOf("/")+1,url.length);return url;},_updateUrlLabel:function(label_text){if(!this.is_data_resource){return;} +if(options.is_url){this._showOnlyFieldUrl();this._updateUrlLabel(this._('URL'));}else if(options.is_upload){this._showOnlyFieldUrl();this.field_url_input.prop('readonly',true);var filename=this._fileNameFromUpload(this.field_url_input.val());this.field_url_input.val(filename);this._updateUrlLabel(this._('File'));}else{this._showOnlyButtons();}},_fileNameFromUpload:function(url){if(/^\/base\/images/.test(url)){return url;} +url=url.substring(0,(url.indexOf("#")===-1)?url.length:url.indexOf("#"));url=url.substring(0,(url.indexOf("?")===-1)?url.length:url.indexOf("?"));url=url.substring(url.lastIndexOf("/")+1,url.length);return url;},_updateUrlLabel:function(label_text){if(!this.is_data_resource){return;} this.label_location.text(label_text);},_onFromWeb:function(){this._showOnlyFieldUrl();this.field_url_input.focus().on('blur',this._onFromWebBlur);if(this.options.is_upload){this.field_clear.val('true');} this._updateUrlLabel(this._('URL'));},_onRemove:function(){this._showOnlyButtons();this.field_url_input.val('');this.field_url_input.prop('readonly',false);this.field_clear.val('true');},_onInputChange:function(){var file_name=this.input.val().split(/^C:\\fakepath\\/).pop();this.field_url_input.val(file_name);this.field_url_input.prop('readonly',true);this.field_clear.val('');this._showOnlyFieldUrl();this._autoName(file_name);this._updateUrlLabel(this._('File'));},_showOnlyButtons:function(){this.fields.hide();this.button_upload.add(this.field_image).add(this.button_url).add(this.input).show();},_showOnlyFieldUrl:function(){this.fields.hide();this.field_url.show();},_onInputMouseOver:function(){this.button_upload.addClass('hover');},_onInputMouseOut:function(){this.button_upload.removeClass('hover');},_onModifyName:function(){this._nameIsDirty=true;},_onFromWebBlur:function(){var url=this.field_url_input.val().match(/([^\/]+)\/?$/) if(url){this._autoName(url.pop());}},_autoName:function(name){if(!this._nameIsDirty){this.field_name.val(name);}}};}); \ No newline at end of file diff --git a/ckan/public/base/test/spec/modules/autocomplete.spec.min.js b/ckan/public/base/test/spec/modules/autocomplete.spec.min.js index 71607121392..8c989d5bef3 100644 --- a/ckan/public/base/test/spec/modules/autocomplete.spec.min.js +++ b/ckan/public/base/test/spec/modules/autocomplete.spec.min.js @@ -1,2 +1,2 @@ describe('ckan.modules.AutocompleteModule()',function(){var Autocomplete=ckan.module.registry['autocomplete'];beforeEach(function(){if(jQuery.fn.select2){this.select2=sinon.stub(jQuery.fn,'select2');}else{this.select2=jQuery.fn.select2=sinon.stub().returns({data:sinon.stub().returns({on:sinon.stub()})});} -this.el=document.createElement('input');this.sandbox=ckan.sandbox();this.sandbox.body=this.fixture;this.module=new Autocomplete(this.el,{},this.sandbox);});afterEach(function(){this.module.teardown();if(this.select2.restore){this.select2.restore();}else{delete jQuery.fn.select2;}});describe('.initialize()',function(){it('should bind callback methods to the module',function(){var target=sinon.stub(jQuery,'proxyAll');this.module.initialize();assert.called(target);assert.calledWith(target,this.module,/_on/,/format/);target.restore();});it('should setup the autocomplete plugin',function(){var target=sinon.stub(this.module,'setupAutoComplete');this.module.initialize();assert.called(target);});});describe('.setupAutoComplete()',function(){it('should initialize the autocomplete plugin',function(){this.module.setupAutoComplete();assert.called(this.select2);assert.calledWith(this.select2,{width:'resolve',query:this.module._onQuery,dropdownCssClass:'',containerCssClass:'',formatResult:this.module.formatResult,formatNoMatches:this.module.formatNoMatches,formatInputTooShort:this.module.formatInputTooShort,createSearchChoice:this.module.formatTerm,initSelection:this.module.formatInitialValue});});it('should initialize the autocomplete plugin with a tags callback if options.tags is true',function(){this.module.options.tags=true;this.module.setupAutoComplete();assert.called(this.select2);assert.calledWith(this.select2,{width:'resolve',tags:this.module._onQuery,dropdownCssClass:'',containerCssClass:'',formatResult:this.module.formatResult,formatNoMatches:this.module.formatNoMatches,formatInputTooShort:this.module.formatInputTooShort,initSelection:this.module.formatInitialValue});it('should watch the keydown event on the select2 input');it('should allow a custom css class to be added to the dropdown',function(){this.module.options.dropdownClass='tags';this.module.setupAutoComplete();assert.called(this.select2);assert.calledWith(this.select2,{width:'resolve',tags:this.module._onQuery,dropdownCssClass:'tags',containerCssClass:'',formatResult:this.module.formatResult,formatNoMatches:this.module.formatNoMatches,formatInputTooShort:this.module.formatInputTooShort,initSelection:this.module.formatInitialValue});});it('should allow a custom css class to be added to the container',function(){this.module.options.containerClass='tags';this.module.setupAutoComplete();assert.called(this.select2);assert.calledWith(this.select2,{width:'resolve',tags:this.module._onQuery,dropdownCssClass:'',containerCssClass:'tags',formatResult:this.module.formatResult,formatNoMatches:this.module.formatNoMatches,formatInputTooShort:this.module.formatInputTooShort,initSelection:this.module.formatInitialValue});});});});describe('.getCompletions(term, fn)',function(){beforeEach(function(){this.term='term';this.module.options.source='http://example.com?term=?';this.target=sinon.stub(this.sandbox.client,'getCompletions');});it('should get the completions from the client',function(){this.module.getCompletions(this.term);assert.called(this.target);});it('should replace the last ? in the source url with the term',function(){this.module.getCompletions(this.term);assert.calledWith(this.target,'http://example.com?term=term');});it('should escape special characters in the term',function(){this.module.getCompletions('term with spaces');assert.calledWith(this.target,'http://example.com?term=term%20with%20spaces');});});describe('.lookup(term, fn)',function(){beforeEach(function(){sinon.stub(this.module,'getCompletions');this.target=sinon.spy();this.module.setupAutoComplete();});it('should set the _lastTerm property',function(){this.module.lookup('term',this.target);assert.equal(this.module._lastTerm,'term');});it('should call the fn immediately if there is no term',function(){this.module.lookup('',this.target);assert.called(this.target);assert.calledWith(this.target,{results:[]});});it('should debounce the request if there is a term');it('should cancel the last request');});describe('.formatResult(state)',function(){beforeEach(function(){this.module._lastTerm='term';});it('should return the string with the last term wrapped in bold tags',function(){var target=this.module.formatResult({id:'we have termites',text:'we have termites'});assert.equal(target,'we have termites');});it('should return the string with each instance of the term wrapped in bold tags',function(){var target=this.module.formatResult({id:'we have a termite terminology',text:'we have a termite terminology'});assert.equal(target,'we have a termite terminology');});it('should return the term if there is no last term saved',function(){delete this.module._lastTerm;var target=this.module.formatResult({id:'we have a termite terminology',text:'we have a termite terminology'});assert.equal(target,'we have a termite terminology');});});describe('.formatNoMatches(term)',function(){it('should return the no matches string if there is a term',function(){var target=this.module.formatNoMatches('term');assert.equal(target,'No matches found');});it('should return the empty string if there is no term',function(){var target=this.module.formatNoMatches('');assert.equal(target,'Start typing…');});});describe('.formatInputTooShort(term, min)',function(){it('should return the plural input too short string',function(){var target=this.module.formatInputTooShort('term',2);assert.equal(target,'Input is too short, must be at least 2 characters');});it('should return the singular input too short string',function(){var target=this.module.formatInputTooShort('term',1);assert.equal(target,'Input is too short, must be at least one character');});});describe('.formatTerm()',function(){it('should return an item object with id and text properties',function(){assert.deepEqual(this.module.formatTerm('test'),{id:'test',text:'test'});});it('should trim whitespace from the value',function(){assert.deepEqual(this.module.formatTerm(' test '),{id:'test',text:'test'});});it('should convert commas in ids into unicode characters',function(){assert.deepEqual(this.module.formatTerm('test, test'),{id:'test\u002C test',text:'test, test'});});});describe('.formatInitialValue(element, callback)',function(){beforeEach(function(){this.callback=sinon.spy();});it('should pass an item object with id and text properties into the callback',function(){var target=jQuery('');this.module.formatInitialValue(target,this.callback);assert.calledWith(this.callback,{id:'test',text:'test'});});it('should pass an array of properties into the callback if options.tags is true',function(){this.module.options.tags=true;var target=jQuery('',{value:"test, test"});this.module.formatInitialValue(target,this.callback);assert.calledWith(this.callback,[{id:'test',text:'test'},{id:'test',text:'test'}]);});it('should return the value if no callback is provided (to support select2 v2.1)',function(){var target=jQuery('');assert.deepEqual(this.module.formatInitialValue(target),{id:'test',text:'test'});});});describe('._onQuery(options)',function(){it('should lookup the current term with the callback',function(){var target=sinon.stub(this.module,'lookup');this.module._onQuery({term:'term',callback:'callback'});assert.called(target);assert.calledWith(target,'term','callback');});it('should do nothing if there is no options object',function(){var target=sinon.stub(this.module,'lookup');this.module._onQuery();assert.notCalled(target);});});describe('._onKeydown(event)',function(){beforeEach(function(){this.keyDownEvent=jQuery.Event("keydown",{which:188});this.fakeEvent={};this.clock=sinon.useFakeTimers();this.jQuery=sinon.stub(jQuery.fn,'init',jQuery.fn.init);this.Event=sinon.stub(jQuery,'Event').returns(this.fakeEvent);this.trigger=sinon.stub(jQuery.fn,'trigger');});afterEach(function(){this.clock.restore();this.jQuery.restore();this.Event.restore();this.trigger.restore();});it('should trigger fake "return" keypress if a comma is pressed',function(){this.module._onKeydown(this.keyDownEvent);this.clock.tick(100);assert.called(this.jQuery);assert.called(this.Event);assert.called(this.trigger);assert.calledWith(this.trigger,this.fakeEvent);});it('should do nothing if another key is pressed',function(){this.keyDownEvent.which=200;this.module._onKeydown(this.keyDownEvent);this.clock.tick(100);assert.notCalled(this.Event);});});}); \ No newline at end of file +this.el=document.createElement('input');this.sandbox=ckan.sandbox();this.sandbox.body=this.fixture;this.module=new Autocomplete(this.el,{},this.sandbox);});afterEach(function(){this.module.teardown();if(this.select2.restore){this.select2.restore();}else{delete jQuery.fn.select2;}});describe('.initialize()',function(){it('should bind callback methods to the module',function(){var target=sinon.stub(jQuery,'proxyAll');this.module.initialize();assert.called(target);assert.calledWith(target,this.module,/_on/,/format/);target.restore();});it('should setup the autocomplete plugin',function(){var target=sinon.stub(this.module,'setupAutoComplete');this.module.initialize();assert.called(target);});});describe('.setupAutoComplete()',function(){it('should initialize the autocomplete plugin',function(){this.module.setupAutoComplete();assert.called(this.select2);assert.calledWith(this.select2,{width:'resolve',query:this.module._onQuery,dropdownCssClass:'',containerCssClass:'',formatResult:this.module.formatResult,formatNoMatches:this.module.formatNoMatches,formatInputTooShort:this.module.formatInputTooShort,createSearchChoice:this.module.formatTerm,initSelection:this.module.formatInitialValue});});it('should initialize the autocomplete plugin with a tags callback if options.tags is true',function(){this.module.options.tags=true;this.module.setupAutoComplete();assert.called(this.select2);assert.calledWith(this.select2,{width:'resolve',tags:this.module._onQuery,dropdownCssClass:'',containerCssClass:'',formatResult:this.module.formatResult,formatNoMatches:this.module.formatNoMatches,formatInputTooShort:this.module.formatInputTooShort,initSelection:this.module.formatInitialValue});it('should watch the keydown event on the select2 input');it('should allow a custom css class to be added to the dropdown',function(){this.module.options.dropdownClass='tags';this.module.setupAutoComplete();assert.called(this.select2);assert.calledWith(this.select2,{width:'resolve',tags:this.module._onQuery,dropdownCssClass:'tags',containerCssClass:'',formatResult:this.module.formatResult,formatNoMatches:this.module.formatNoMatches,formatInputTooShort:this.module.formatInputTooShort,initSelection:this.module.formatInitialValue});});it('should allow a custom css class to be added to the container',function(){this.module.options.containerClass='tags';this.module.setupAutoComplete();assert.called(this.select2);assert.calledWith(this.select2,{width:'resolve',tags:this.module._onQuery,dropdownCssClass:'',containerCssClass:'tags',formatResult:this.module.formatResult,formatNoMatches:this.module.formatNoMatches,formatInputTooShort:this.module.formatInputTooShort,initSelection:this.module.formatInitialValue});});});});describe('.getCompletions(term, fn)',function(){beforeEach(function(){this.term='term';this.module.options.source='http://example.com?term=?';this.target=sinon.stub(this.sandbox.client,'getCompletions');});it('should get the completions from the client',function(){this.module.getCompletions(this.term);assert.called(this.target);});it('should replace the last ? in the source url with the term',function(){this.module.getCompletions(this.term);assert.calledWith(this.target,'http://example.com?term=term');});it('should escape special characters in the term',function(){this.module.getCompletions('term with spaces');assert.calledWith(this.target,'http://example.com?term=term%20with%20spaces');});});describe('.lookup(term, fn)',function(){beforeEach(function(){sinon.stub(this.module,'getCompletions');this.target=sinon.spy();this.module.setupAutoComplete();});it('should set the _lastTerm property',function(){this.module.lookup('term',this.target);assert.equal(this.module._lastTerm,'term');});it('should call the fn immediately if there is no term',function(){this.module.lookup('',this.target);assert.called(this.target);assert.calledWith(this.target,{results:[]});});it('should debounce the request if there is a term');it('should cancel the last request');});describe('.formatResult(state)',function(){beforeEach(function(){this.module._lastTerm='term';});it('should return the string with the last term wrapped in bold tags',function(){var target=this.module.formatResult({id:'we have termites',text:'we have termites'});assert.equal(target,'we have termites');});it('should return the string with each instance of the term wrapped in bold tags',function(){var target=this.module.formatResult({id:'we have a termite terminology',text:'we have a termite terminology'});assert.equal(target,'we have a termite terminology');});it('should return the term if there is no last term saved',function(){delete this.module._lastTerm;var target=this.module.formatResult({id:'we have a termite terminology',text:'we have a termite terminology'});assert.equal(target,'we have a termite terminology');});});describe('.formatNoMatches(term)',function(){it('should return the no matches string if there is a term',function(){var target=this.module.formatNoMatches('term');assert.equal(target,'No matches found');});it('should return the empty string if there is no term',function(){var target=this.module.formatNoMatches('');assert.equal(target,'Start typing…');});});describe('.formatInputTooShort(term, min)',function(){it('should return the plural input too short string',function(){var target=this.module.formatInputTooShort('term',2);assert.equal(target,'Input is too short, must be at least 2 characters');});it('should return the singular input too short string',function(){var target=this.module.formatInputTooShort('term',1);assert.equal(target,'Input is too short, must be at least one character');});});describe('.formatTerm()',function(){it('should return an item object with id and text properties',function(){assert.deepEqual(this.module.formatTerm('test'),{id:'test',text:'test'});});it('should trim whitespace from the value',function(){assert.deepEqual(this.module.formatTerm(' test '),{id:'test',text:'test'});});it('should convert commas in ids into unicode characters',function(){assert.deepEqual(this.module.formatTerm('test, test'),{id:'test\u002C test',text:'test, test'});});});describe('.formatInitialValue(element, callback)',function(){beforeEach(function(){this.callback=sinon.spy();});it('should pass an item object with id and text properties into the callback',function(){var target=jQuery('');this.module.formatInitialValue(target,this.callback);assert.calledWith(this.callback,{id:'test',text:'test'});});it('should pass an array of properties into the callback if options.tags is true',function(){this.module.options.tags=true;var target=jQuery('',{value:"test, test"});this.module.formatInitialValue(target,this.callback);assert.calledWith(this.callback,[{id:'test',text:'test'},{id:'test',text:'test'}]);});it('should return the value if no callback is provided (to support select2 v2.1)',function(){var target=jQuery('');assert.deepEqual(this.module.formatInitialValue(target),{id:'test',text:'test'});});});describe('._onQuery(options)',function(){it('should lookup the current term with the callback',function(){var target=sinon.stub(this.module,'lookup');this.module._onQuery({term:'term',callback:'callback'});assert.called(target);assert.calledWith(target,'term','callback');});it('should do nothing if there is no options object',function(){var target=sinon.stub(this.module,'lookup');this.module._onQuery();assert.notCalled(target);});});describe('._onKeydown(event)',function(){beforeEach(function(){this.keyDownEvent=jQuery.Event("keydown",{key:',',which:188});this.fakeEvent={};this.clock=sinon.useFakeTimers();this.jQuery=sinon.stub(jQuery.fn,'init',jQuery.fn.init);this.Event=sinon.stub(jQuery,'Event').returns(this.fakeEvent);this.trigger=sinon.stub(jQuery.fn,'trigger');});afterEach(function(){this.clock.restore();this.jQuery.restore();this.Event.restore();this.trigger.restore();});it('should trigger fake "return" keypress if a comma is pressed',function(){this.module._onKeydown(this.keyDownEvent);this.clock.tick(100);assert.called(this.jQuery);assert.called(this.Event);assert.called(this.trigger);assert.calledWith(this.trigger,this.fakeEvent);});it('should do nothing if another key is pressed',function(){this.keyDownEvent.key='╚';this.keyDownEvent.which=200;this.module._onKeydown(this.keyDownEvent);this.clock.tick(100);assert.notCalled(this.Event);});it('should do nothing if key is pressed which has the comma key-code but is not a comma',function(){this.keyDownEvent.key='ת';this.keyDownEvent.which=188;this.module._onKeydown(this.keyDownEvent);this.clock.tick(100);assert.notCalled(this.Event);});});}); \ No newline at end of file From 564178ad553e29280b3d31e4fa4a13cca5c08dea Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Tue, 11 Dec 2018 18:43:57 +0100 Subject: [PATCH 26/28] Update version number for release 2.7.5 --- ckan/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/__init__.py b/ckan/__init__.py index 04889ca32fe..45e38afb47c 100644 --- a/ckan/__init__.py +++ b/ckan/__init__.py @@ -1,6 +1,6 @@ # encoding: utf-8 -__version__ = '2.7.5b' +__version__ = '2.7.5' __description__ = 'CKAN Software' __long_description__ = \ From 72e7b9511ffa3a6f2a48d75f88a2d86614e195e1 Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Wed, 12 Dec 2018 12:45:13 +0100 Subject: [PATCH 27/28] Update changelog for 2.7.5 --- CHANGELOG.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c1a84150752..6f302cca1d4 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,6 +8,21 @@ Changelog --------- +v2.7.5 2018-12-12 +================= + + * Strip full URL on uploaded resources before saving to DB (`#4382 `_) + * Fix for datastore_search distinct=true option (`#4236 `_) + * Fix edit slug button (`#4379 `_) + * Don't re-register plugin helpers on flask_app (`#4414 `_) + * Fix for Resouce View Re-order (`#4416 `_) + * autocomplete.js: fix handling of comma key codes (`#4421 `_) + * Flask patch update (`#4426 `_) + * Allow plugins to define multiple blueprints (`#4495 `_) + * Fix i18n API encoding (`#4505 `_) + * Allow to defined legacy route mappings as a dict in config (`#4521 `_) + * group_patch does not reset packages (`#4557 `_) + v2.7.4 2018-05-09 ================= From 2287b2ac0ca20938529cd3ab17215cd8bf6e6fe5 Mon Sep 17 00:00:00 2001 From: Konstantin Sivakov Date: Wed, 12 Dec 2018 13:07:46 +0100 Subject: [PATCH 28/28] Update changelog for 2.7.5 --- CHANGELOG.rst | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6f302cca1d4..8cde1de6358 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -207,6 +207,67 @@ Deprecations: jobs (http://docs.ckan.org/en/latest/maintaining/background-tasks.html). Extensions can still of course use Celery but they will need to handle the management themselves. +v2.6.7 2018-12-12 +================= + + * Fix for Resouce View Re-order (`#4416 `_) + * autocomplete.js: fix handling of comma key codes (`#4421 `_) + * group_patch does not reset packages (`#4557 `_) + +v2.6.6 2018-05-09 +================= + +* Adding filter at resoruce preview doesn't work while site is setup with ckan.root_path param (#4140) +* Stable version URLs CKAN for documentation (#4209) +* Add Warning in docs sidebar (#4209) + +v2.6.5 2018-03-15 +================= + +Note: This version requires a database upgrade + +* Activity Time stored in UTC (#2882) +* Migration script to adjust current activity timestamps to UTC +* Change CORS header keys and values to string instead of unicode (#3855) +* Fix cors header when all origins are allowed (#3898) +* Update SOLR schema.xml reference in Dockerfile +* Build local SOLR container by default +* Create datastore indexes only if they don't exist +* Properly close file responses +* Use javascript content-type for jsonp responses (#4022) +* Fix SOLR index delete_package implementation +* Add second half of DataStore set-permissions command (Docs) +* Return a 403 if not authorized on the search page (#4081) +* Add support for user/pass for Solr as ENV var +* Disallow solr local parameters +* Improve text view rendering +* Update Orgs/Groups logic for custom fields delete and update (#4094) + +v2.6.4 2017-09-27 +================= + +* Mail recepient header override (#3781) +* Skip url parsing in redirect (#3499) +* Support non root for fanstatic (#3618) + +v2.6.3 2017-08-02 +================= + +* Fix in organization / group form image URL field (#3661) +* Fix activity test to use utcnow (#3644) +* Changed required permission from 'update' to 'manage_group' (#3631) +* Catch invalid sort param exception (#3630) +* Choose direction of recreated package relationship depending on its type (#3626) +* Fix render_datetime for dates before year 1900 (#3611) +* Fix KeyError in 'package_create' (#3027) +* Allow slug preview to work with autocomplete fields (#2501) +* Fix filter results button not working for organization/group (#3620) +* Allow underscores in URL slug preview on create dataset (#3612) +* Create new resource view if resource format changed (#3515) +* Fixed escaping issues with `helpers.mail_to` and datapusher logs +* Autocomplete fields are more responsive - 300ms timeout instead of 1s (#3693) +* Fixed dataset count display for groups (#3711) +* Restrict access to form pages (#3684) v2.6.2 2017-03-22 =================