Commit a19333da0012ee5d5027e01d36da86ccda598c5e
1 parent
9627ec39
added ‘show related entries’ option
Showing
10 changed files
with
222 additions
and
123 deletions
common/templates/base.html
... | ... | @@ -36,7 +36,7 @@ |
36 | 36 | <div class="container-fluid h-100 d-flex flex-column p-0"> |
37 | 37 | |
38 | 38 | <!--z-index 2 above sticky-top--> |
39 | - <nav class="navbar navbar-expand-lg sticky-top navbar-dark bg-dark font-weight-bold p-2" style="z-index: 1022;"> | |
39 | + <nav id="page-nav" class="navbar navbar-expand-lg sticky-top navbar-dark bg-dark font-weight-bold p-2" style="z-index: 1022;"> | |
40 | 40 | <a class="navbar-brand" href="{% url 'dash' %}">Walenty [beta]</a> |
41 | 41 | |
42 | 42 | <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> |
... | ... |
entries/static/entries/js/entries.js
... | ... | @@ -784,12 +784,12 @@ function show_unmatched_examples() { |
784 | 784 | } |
785 | 785 | } |
786 | 786 | |
787 | -function get_entry(entry_id) { | |
787 | +function get_entry(entry_id, related) { | |
788 | 788 | check_import_status(); |
789 | 789 | clear_entry(); |
790 | 790 | show_entry_spinners(); |
791 | 791 | //var data = { 'forms' : serialize_forms($('#main-form')), 'entry' : entry_id }; |
792 | - var data = { 'entry' : entry_id }; | |
792 | + var data = { 'entry' : entry_id, 'no_filters' : related }; | |
793 | 793 | $.ajax({ |
794 | 794 | type : 'post', |
795 | 795 | url : '/' + lang + '/entries/get_entry/', |
... | ... | @@ -860,6 +860,7 @@ function update_last_visited(last_visited) { |
860 | 860 | } |
861 | 861 | |
862 | 862 | function bind_settings() { |
863 | + activate_tooltips($('#page-nav')); | |
863 | 864 | $('#show-realisation-descriptions').change(function() { |
864 | 865 | var val = $(this).prop('checked') === true; |
865 | 866 | $.ajax({ |
... | ... | @@ -879,6 +880,21 @@ function bind_settings() { |
879 | 880 | } |
880 | 881 | }); |
881 | 882 | }); |
883 | + $('#show-linked-entries').change(function() { | |
884 | + var val = $(this).prop('checked') === true; | |
885 | + $.ajax({ | |
886 | + type : 'post', | |
887 | + url : '/' + lang + '/entries/change_show_linked_entries/', | |
888 | + dataType : 'json', | |
889 | + data : {'val' : val}, | |
890 | + success : function(response) { | |
891 | + update_entries(); | |
892 | + }, | |
893 | + error: function(request, errorType, errorMessage) { | |
894 | + show_error(errorType + ' (' + errorMessage + ')'); | |
895 | + } | |
896 | + }); | |
897 | + }); | |
882 | 898 | } |
883 | 899 | |
884 | 900 | function show_reals_desc() { |
... | ... | @@ -895,7 +911,7 @@ function get_show_reals_desc() { |
895 | 911 | return $('#show-realisation-descriptions').prop('checked') === true; |
896 | 912 | } |
897 | 913 | |
898 | -function update_entries(entries) { | |
914 | +function update_entries() { | |
899 | 915 | |
900 | 916 | $('#entries-table').DataTable({ |
901 | 917 | // https://datatables.net/manual/tech-notes/3 |
... | ... | @@ -913,8 +929,9 @@ function update_entries(entries) { |
913 | 929 | // https://datatables.net/reference/option/dom |
914 | 930 | dom: 'ftri', |
915 | 931 | columns: [ |
916 | - { data: 'name' }, | |
917 | - { data: 'status__key' }, | |
932 | + { data: 'lemma' }, | |
933 | + { data: 'status' }, | |
934 | + { data: 'POS' }, | |
918 | 935 | ], |
919 | 936 | orderMulti: false, |
920 | 937 | // show processing indicator when sorting etc. |
... | ... | @@ -931,21 +948,25 @@ function update_entries(entries) { |
931 | 948 | }, |
932 | 949 | { |
933 | 950 | className: 'p-1', |
934 | - targets: [0, 1], | |
951 | + targets: [0, 1, 2], | |
935 | 952 | }, |
936 | 953 | // make only the lemma searchable |
937 | 954 | { |
938 | 955 | searchable: false, |
939 | - targets: 1, | |
956 | + targets: [1, 2] | |
940 | 957 | } |
941 | 958 | ], |
942 | 959 | createdRow: function(row, data, dataIndex, cells) { |
943 | 960 | $(row).addClass('entry'); |
944 | 961 | $(row).attr('data-entry', data.id); |
962 | + var related = data.related === true; | |
963 | + if (related) { | |
964 | + $(row).addClass('text-muted'); | |
965 | + } | |
945 | 966 | $(row).click(function() { |
946 | 967 | var selected_entry = $(this).data('entry'); |
947 | 968 | if (selected_entry !== curr_entry) { |
948 | - get_entry(selected_entry); | |
969 | + get_entry(selected_entry, related); | |
949 | 970 | $('.entry[data-entry="' + curr_entry + '"]').removeClass('table-primary'); |
950 | 971 | $(this).addClass('table-primary'); |
951 | 972 | } |
... | ... |
entries/templates/entries.html
... | ... | @@ -63,7 +63,13 @@ |
63 | 63 | <div class="form-check custom-control custom-checkbox"> |
64 | 64 | <input type="checkbox" class="custom-control-input" id="show-realisation-descriptions"{% if request.session.show_reals_desc %} checked{% endif %}> |
65 | 65 | <label class="custom-control-label" for="show-realisation-descriptions"> |
66 | - {% trans "Wyświetlaj opisy realizacji" %} | |
66 | + {% trans "Wyświetlaj opisy realizacji" %} <span data-toggle="tooltip" data-placement="bottom" title="{% trans "Po wybraniu ramy wyświetlaj opisy jej realizacji składniowych. Opisy (dla całej realizacji i dla poszczególnych fraz) są wyświetlane wewnątrz schematów." %}"><img src="/static/common/img/info.svg" alt="info" width="10" height="10"/></span> | |
67 | + </label> | |
68 | + </div> | |
69 | + <div class="form-check custom-control custom-checkbox"> | |
70 | + <input type="checkbox" class="custom-control-input" id="show-linked-entries"{% if request.session.show_linked_entries %} checked{% endif %}> | |
71 | + <label class="custom-control-label" for="show-linked-entries"> | |
72 | + {% trans "Wyświetlaj powiązane hasła" %} <span data-toggle="tooltip" data-placement="bottom" data-html="true" title="{% trans "Przy filtrowaniu haseł wyświetlaj, oprócz haseł spełniających kryteria filtrowania, hasła powiązane z nimi znaczeniowo (np. <i>podarować</i> – <i>podarunek</i> – <i>podarek</i>). Hasła powiązane niespełniające kryteriów filtrowania są wyróżnione jaśniejszym kolorem na liście oraz nie podlegają filtrowaniu schematów i ram (są zawsze wyświetlane w całości niezależnie od użytych filtrów dla schematów/ram)." %}"><img src="/static/common/img/info.svg" alt="info" width="10" height="10"/></span> | |
67 | 73 | </label> |
68 | 74 | </div> |
69 | 75 | </div> |
... | ... |
entries/templates/entries_list.html
entries/templates/entry_display.html
... | ... | @@ -63,7 +63,7 @@ |
63 | 63 | </div> |
64 | 64 | </div> |
65 | 65 | <div class="col h-100 w-100 p-0 tab-pane" id="examples" role="tabpanel" aria-labelledby="examples-tab"> |
66 | - <table id="unmatched-examples" class="table table-sm table-hover table-responsive"> | |
66 | + <table id="unmatched-examples" class="table table-sm table-hover"> | |
67 | 67 | <thead> |
68 | 68 | <tr> |
69 | 69 | <th scope="col">{% trans "Przykład" %}</th> |
... | ... |
entries/urls.py
... | ... | @@ -13,6 +13,7 @@ urlpatterns = [ |
13 | 13 | path('get_entry/', views.get_entry, name='get_entry'), |
14 | 14 | path('get_subform/', views.get_subform, name='get_subform'), |
15 | 15 | path('change_show_reals_desc/', views.change_show_reals_desc, name='change_show_reals_desc'), |
16 | + path('change_show_linked_entries/', views.change_show_linked_entries, name='change_show_linked_entries'), | |
16 | 17 | |
17 | 18 | path('autocomplete/', autocompletes.autocomplete, name='autocomplete'), |
18 | 19 | |
... | ... |
entries/views.py
... | ... | @@ -35,7 +35,7 @@ from .forms import ( |
35 | 35 | SynsetPreferenceFormFactory, |
36 | 36 | ) |
37 | 37 | |
38 | -from .polish_strings import STATUS, SCHEMA_OPINION, FRAME_OPINION, EXAMPLE_SOURCE, EXAMPLE_OPINION, RELATION | |
38 | +from .polish_strings import STATUS, POS, SCHEMA_OPINION, FRAME_OPINION, EXAMPLE_SOURCE, EXAMPLE_OPINION, RELATION | |
39 | 39 | |
40 | 40 | from .phrase_descriptions.descriptions import position_prop_description |
41 | 41 | |
... | ... | @@ -49,6 +49,10 @@ def entries(request): |
49 | 49 | # TODO make this automatic by subclassing/configuring session object |
50 | 50 | if 'last_visited' not in request.session: |
51 | 51 | request.session['last_visited'] = [] |
52 | + if 'show_reals_desc' not in request.session: | |
53 | + request.session['show_reals_desc'] = True | |
54 | + if 'show_linked_entries' not in request.session: | |
55 | + request.session['show_linked_entries'] = True | |
52 | 56 | # TODO retrieve the form from the request session – keep forms between page refreshes, |
53 | 57 | # keep search history, allow saving searches? |
54 | 58 | # if so, don’t delete local forms on main form submit in send_form |
... | ... | @@ -337,26 +341,46 @@ def get_entries(request): |
337 | 341 | # TODO restrictions for testing – remove!!! |
338 | 342 | #entries = entries.annotate(nsub=Count('subentries')).filter(nsub__gt=1) |
339 | 343 | #entries = entries.filter(subentries__schemata__opinion__key__in=('vul', 'col')).filter(status__key__in=('(S) gotowe', '(S) sprawdzone')) |
344 | + #entries = entries.filter(subentries__schema_hooks__alternation=2) | |
340 | 345 | |
341 | 346 | total = entries.count() |
342 | 347 | if scroller_params['filter']: |
343 | 348 | entries = entries.filter(name__startswith=scroller_params['filter']) |
344 | 349 | filtered = entries.count() |
350 | + | |
351 | + linked_ids = set() | |
352 | + if request.session['show_linked_entries']: | |
353 | + entries_linked = Entry.objects.filter(subentries__schema_hooks__argument_connections__schema_connections__subentry__entry__in=entries).distinct().exclude(id__in=entries) | |
354 | + entries = entries.union(entries_linked) | |
355 | + linked_ids = set(e.id for e in entries_linked) | |
356 | + | |
345 | 357 | i, j = scroller_params['start'], scroller_params['start'] + scroller_params['length'] |
346 | 358 | order_field, order_dir = scroller_params['order'] |
347 | - if order_field != 0 or order_dir != 'asc': | |
348 | - # ordering other than lemma ascending (database default) | |
349 | - order_field = 'name' if order_field == 0 else 'status__key' | |
350 | - if order_dir == 'desc': | |
351 | - order_field = '-' + order_field | |
352 | - entries = entries.order_by(order_field) | |
359 | + if order_field == 0: | |
360 | + order_field = 'name' | |
361 | + elif order_field == 1: | |
362 | + order_field = 'status__key' | |
363 | + elif order_field == 2: | |
364 | + order_field = 'pos__tag' | |
365 | + if order_dir == 'desc': | |
366 | + order_field = '-' + order_field | |
367 | + entries = entries.order_by(order_field) | |
353 | 368 | status_names = STATUS() |
354 | - entries_list = list(entries.values('id', 'name', 'status__key')) | |
369 | + POS_names = POS() | |
370 | + entries_list = list(entries.values('id', 'name', 'status__key', 'pos__tag')) | |
355 | 371 | result = { |
356 | 372 | 'draw' : scroller_params['draw'], |
357 | 373 | 'recordsTotal': total, |
358 | 374 | 'recordsFiltered': filtered, |
359 | - 'data': [{'id' : e['id'], 'name' : e['name'], 'status__key' : status_names[e['status__key']]} for e in entries_list[i:j]], | |
375 | + 'data': [ | |
376 | + { | |
377 | + 'id' : e['id'], | |
378 | + 'lemma' : e['name'], | |
379 | + 'status' : status_names[e['status__key']], | |
380 | + 'POS' : POS_names[e['pos__tag']], | |
381 | + 'related' : e['id'] in linked_ids, | |
382 | + } for e in entries_list[i:j] | |
383 | + ], | |
360 | 384 | } |
361 | 385 | return JsonResponse(result) |
362 | 386 | return JsonResponse({}) |
... | ... | @@ -659,7 +683,10 @@ def get_entry(request): |
659 | 683 | # form should already be validated if it passed through send_form |
660 | 684 | assert(not errors_dict) |
661 | 685 | |
662 | - filter_schemata, filter_frames = entry_form.cleaned_data['filter_schemata'], entry_form.cleaned_data['filter_frames'] | |
686 | + # dont’ do schema/frame filtering for related entries | |
687 | + FILTERING_OK = not simplejson.loads(request.POST['no_filters']) | |
688 | + filter_schemata = FILTERING_OK and entry_form.cleaned_data['filter_schemata'] | |
689 | + filter_frames = FILTERING_OK and entry_form.cleaned_data['filter_frames'] | |
663 | 690 | if filter_schemata: |
664 | 691 | schema_forms = [] |
665 | 692 | # e.g. entry has schema that satisfies X & entry has schema that satisfies Y |
... | ... | @@ -700,14 +727,14 @@ def get_entry(request): |
700 | 727 | |
701 | 728 | |
702 | 729 | local_schema_form = None |
703 | - if 'schema_form' in request.session: | |
730 | + if FILTERING_OK and 'schema_form' in request.session: | |
704 | 731 | errors_dict = dict() |
705 | 732 | local_schema_form = collect_forms(request.session['schema_form'], errors_dict) |
706 | 733 | print(local_schema_form) |
707 | 734 | assert(not errors_dict) |
708 | 735 | |
709 | 736 | local_frame_form = None |
710 | - if 'frame_form' in request.session: | |
737 | + if FILTERING_OK and 'frame_form' in request.session: | |
711 | 738 | errors_dict = dict() |
712 | 739 | local_frame_form = collect_forms(request.session['frame_form'], errors_dict) |
713 | 740 | assert(not errors_dict) |
... | ... | @@ -736,10 +763,6 @@ def get_entry(request): |
736 | 763 | frames = [frame2dict(frame, entry.lexical_units.all()) for frame in frame_objects] |
737 | 764 | alternations, realisation_phrases, realisation_descriptions = get_alternations(all_schema_objects, frame_objects) |
738 | 765 | examples = get_examples(entry) |
739 | - if 'last_visited' not in request.session: | |
740 | - request.session['last_visited'] = [] | |
741 | - if 'show_reals_desc' not in request.session: | |
742 | - request.session['show_reals_desc'] = True | |
743 | 766 | # https://docs.djangoproject.com/en/2.2/topics/http/sessions/#when-sessions-are-saved |
744 | 767 | if [entry.name, entry.id] in request.session['last_visited']: |
745 | 768 | request.session['last_visited'].remove([entry.name, entry.id]) |
... | ... | @@ -779,3 +802,12 @@ def change_show_reals_desc(request): |
779 | 802 | request.session['show_reals_desc'] = val |
780 | 803 | return JsonResponse({ 'success' : 1 }) |
781 | 804 | return JsonResponse({}) |
805 | + | |
806 | +@ajax_required | |
807 | +def change_show_linked_entries(request): | |
808 | + if request.method == 'POST': | |
809 | + val = simplejson.loads(request.POST['val']) | |
810 | + request.session['show_linked_entries'] = val | |
811 | + return JsonResponse({ 'success' : 1 }) | |
812 | + return JsonResponse({}) | |
813 | + | |
... | ... |
locale/en/LC_MESSAGES/django.mo
No preview for this file type
locale/en/LC_MESSAGES/django.po
... | ... | @@ -8,7 +8,7 @@ msgid "" |
8 | 8 | msgstr "" |
9 | 9 | "Project-Id-Version: PACKAGE VERSION\n" |
10 | 10 | "Report-Msgid-Bugs-To: \n" |
11 | -"POT-Creation-Date: 2021-07-07 12:20+0200\n" | |
11 | +"POT-Creation-Date: 2021-07-14 16:24+0200\n" | |
12 | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
... | ... | @@ -105,12 +105,12 @@ msgid "Status / część mowy" |
105 | 105 | msgstr "Status / part of speech" |
106 | 106 | |
107 | 107 | #: dictionary_statistics/templates/dictionary_statistics.html:43 |
108 | -#: entries/forms.py:201 | |
108 | +#: entries/forms.py:202 | |
109 | 109 | msgid "Liczba schematów" |
110 | 110 | msgstr "Number of schemata" |
111 | 111 | |
112 | 112 | #: dictionary_statistics/templates/dictionary_statistics.html:67 |
113 | -#: entries/forms.py:205 | |
113 | +#: entries/forms.py:206 | |
114 | 114 | msgid "Liczba ram" |
115 | 115 | msgstr "Number of frames" |
116 | 116 | |
... | ... | @@ -122,7 +122,7 @@ msgstr "all" |
122 | 122 | msgid "Pobieranie" |
123 | 123 | msgstr "Download" |
124 | 124 | |
125 | -#: entries/autocompletes.py:27 entries/views.py:439 | |
125 | +#: entries/autocompletes.py:27 entries/views.py:464 | |
126 | 126 | msgid "definicja:" |
127 | 127 | msgstr "definition:" |
128 | 128 | |
... | ... | @@ -186,11 +186,11 @@ msgstr "Invalid expression: %(msg)s." |
186 | 186 | msgid "Typ frazy zleksykalizowanej" |
187 | 187 | msgstr "Lexicalised phrase type" |
188 | 188 | |
189 | -#: entries/form_fields/specialised_fields.py:44 entries/forms.py:546 | |
189 | +#: entries/form_fields/specialised_fields.py:44 entries/forms.py:549 | |
190 | 190 | msgid "Typ frazy" |
191 | 191 | msgstr "Phrase type" |
192 | 192 | |
193 | -#: entries/form_fields/specialised_fields.py:51 entries/forms.py:634 | |
193 | +#: entries/form_fields/specialised_fields.py:51 entries/forms.py:637 | |
194 | 194 | msgid "wybierz" |
195 | 195 | msgstr "choose" |
196 | 196 | |
... | ... | @@ -250,7 +250,7 @@ msgstr "Schema" |
250 | 250 | msgid "Schemat(y) występujące w haśle" |
251 | 251 | msgstr "Phrase type(s) occurring in the entry." |
252 | 252 | |
253 | -#: entries/forms.py:147 entries/forms.py:419 entries/forms.py:640 | |
253 | +#: entries/forms.py:147 entries/forms.py:422 entries/forms.py:643 | |
254 | 254 | msgid "Pozycja" |
255 | 255 | msgstr "Position" |
256 | 256 | |
... | ... | @@ -263,11 +263,14 @@ msgid "" |
263 | 263 | "Pozycje mogą występować w różnych schematach. Aby ograniczyć filtrowanie do " |
264 | 264 | "występowania wymaganych pozycji w obrębie jednego schematu, proszę użyć " |
265 | 265 | "filtru POZYCJA wewnątrz filtra SCHEMAT powyżej." |
266 | -msgstr "Positions may occur in different schemata. In order to restrict filtering to positions co-occuring in one schema, use the POSITION filter inside SCHEMA filter above." | |
266 | +msgstr "" | |
267 | +"Positions may occur in different schemata. In order to restrict filtering to " | |
268 | +"positions co-occuring in one schema, use the POSITION filter inside SCHEMA " | |
269 | +"filter above." | |
267 | 270 | |
268 | -#: entries/forms.py:151 entries/forms.py:480 entries/forms.py:645 | |
269 | -#: entries/forms.py:764 entries/forms.py:766 entries/forms.py:768 | |
270 | -#: entries/forms.py:770 | |
271 | +#: entries/forms.py:151 entries/forms.py:483 entries/forms.py:648 | |
272 | +#: entries/forms.py:769 entries/forms.py:771 entries/forms.py:773 | |
273 | +#: entries/forms.py:775 | |
271 | 274 | msgid "Fraza" |
272 | 275 | msgstr "Phrase" |
273 | 276 | |
... | ... | @@ -280,7 +283,10 @@ msgid "" |
280 | 283 | "Frazy mogą występować w różnych schematach i na różnych pozycjach. Aby " |
281 | 284 | "ograniczyć filtrowanie do występowania wymaganych fraz w obrębie jednej " |
282 | 285 | "pozycji, proszę użyć filtru POZYCJA powyżej lub wewnątrz filtra SCHEMAT." |
283 | -msgstr "Phrases may occur in different schemata and on different positions. In order to restrict filtering to phrases co-occuring on one position, use the POSITION filter above or inside the SCHEMA filter." | |
286 | +msgstr "" | |
287 | +"Phrases may occur in different schemata and on different positions. In order " | |
288 | +"to restrict filtering to phrases co-occuring on one position, use the " | |
289 | +"POSITION filter above or inside the SCHEMA filter." | |
284 | 290 | |
285 | 291 | #: entries/forms.py:164 |
286 | 292 | msgid "Rama" |
... | ... | @@ -290,242 +296,246 @@ msgstr "Frame" |
290 | 296 | msgid "Rama/y występujące w haśle" |
291 | 297 | msgstr "Frame(s) occurring in the entry." |
292 | 298 | |
293 | -#: entries/forms.py:170 | |
299 | +#: entries/forms.py:165 entries/forms.py:600 | |
300 | +msgid "Argument" | |
301 | +msgstr "Argument" | |
302 | + | |
303 | +#: entries/forms.py:165 | |
304 | +msgid "Argument(y) występujące w haśle" | |
305 | +msgstr "Argument(s) occurring in the entry." | |
306 | + | |
307 | +#: entries/forms.py:171 | |
294 | 308 | msgid "Własności hasła" |
295 | 309 | msgstr "Entry properties" |
296 | 310 | |
297 | -#: entries/forms.py:171 | |
311 | +#: entries/forms.py:172 | |
298 | 312 | msgid "Własności składniowe" |
299 | 313 | msgstr "Syntactic properties" |
300 | 314 | |
301 | -#: entries/forms.py:172 | |
315 | +#: entries/forms.py:173 | |
302 | 316 | msgid "Własności semantyczne" |
303 | 317 | msgstr "Semantic properties" |
304 | 318 | |
305 | -#: entries/forms.py:173 entries/forms.py:259 | |
319 | +#: entries/forms.py:174 entries/forms.py:262 | |
306 | 320 | msgid "Filtruj" |
307 | 321 | msgstr "Filter" |
308 | 322 | |
309 | -#: entries/forms.py:174 entries/forms.py:260 | |
323 | +#: entries/forms.py:175 entries/forms.py:263 | |
310 | 324 | msgid "Wyczyść" |
311 | 325 | msgstr "Reset" |
312 | 326 | |
313 | -#: entries/forms.py:180 entries/forms.py:496 entries/forms.py:502 | |
314 | -#: entries/forms.py:541 entries/templates/entries_list.html:6 | |
327 | +#: entries/forms.py:181 entries/forms.py:499 entries/forms.py:505 | |
328 | +#: entries/forms.py:544 entries/templates/entries_list.html:6 | |
315 | 329 | msgid "Lemat" |
316 | 330 | msgstr "Lemma" |
317 | 331 | |
318 | -#: entries/forms.py:186 | |
332 | +#: entries/forms.py:187 | |
319 | 333 | msgid "Część mowy" |
320 | 334 | msgstr "Part of speech" |
321 | 335 | |
322 | -#: entries/forms.py:212 | |
336 | +#: entries/forms.py:213 | |
323 | 337 | msgid "Ukryj niepasujące schematy" |
324 | 338 | msgstr "Hide non-matching schemata" |
325 | 339 | |
326 | -#: entries/forms.py:213 | |
340 | +#: entries/forms.py:214 | |
327 | 341 | msgid "Ukryj niepasujące ramy" |
328 | 342 | msgstr "Hide non-matching frames" |
329 | 343 | |
330 | -#: entries/forms.py:255 | |
344 | +#: entries/forms.py:258 | |
331 | 345 | msgid "Zwiń" |
332 | 346 | msgstr "Collapse" |
333 | 347 | |
334 | -#: entries/forms.py:255 | |
348 | +#: entries/forms.py:258 | |
335 | 349 | msgid "Usuń" |
336 | 350 | msgstr "Remove" |
337 | 351 | |
338 | -#: entries/forms.py:308 entries/forms.py:802 | |
352 | +#: entries/forms.py:311 entries/forms.py:807 | |
339 | 353 | msgid "Zaneguj" |
340 | 354 | msgstr "Negate" |
341 | 355 | |
342 | -#: entries/forms.py:323 | |
356 | +#: entries/forms.py:326 | |
343 | 357 | msgid "Schemat składniowy" |
344 | 358 | msgstr "Syntactic schema" |
345 | 359 | |
346 | -#: entries/forms.py:329 | |
360 | +#: entries/forms.py:332 | |
347 | 361 | msgid "Opinia o schemacie" |
348 | 362 | msgstr "Schema opinion" |
349 | 363 | |
350 | -#: entries/forms.py:340 | |
364 | +#: entries/forms.py:343 | |
351 | 365 | msgid "Typ" |
352 | 366 | msgstr "Type" |
353 | 367 | |
354 | -#: entries/forms.py:342 | |
368 | +#: entries/forms.py:345 | |
355 | 369 | msgid "zwykły" |
356 | 370 | msgstr "ordinary" |
357 | 371 | |
358 | -#: entries/forms.py:343 | |
372 | +#: entries/forms.py:346 | |
359 | 373 | msgid "frazeologiczny" |
360 | 374 | msgstr "phraseological" |
361 | 375 | |
362 | -#: entries/forms.py:352 | |
376 | +#: entries/forms.py:355 | |
363 | 377 | msgid "Zwrotność" |
364 | 378 | msgstr "Reflexiveness" |
365 | 379 | |
366 | -#: entries/forms.py:363 | |
380 | +#: entries/forms.py:366 | |
367 | 381 | msgid "Negatywność" |
368 | 382 | msgstr "Negativity" |
369 | 383 | |
370 | -#: entries/forms.py:374 | |
384 | +#: entries/forms.py:377 | |
371 | 385 | msgid "Predykatywność" |
372 | 386 | msgstr "Predicativity" |
373 | 387 | |
374 | -#: entries/forms.py:385 entries/polish_strings.py:96 | |
388 | +#: entries/forms.py:388 entries/polish_strings.py:96 | |
375 | 389 | msgid "Aspekt" |
376 | 390 | msgstr "Aspect" |
377 | 391 | |
378 | -#: entries/forms.py:404 | |
392 | +#: entries/forms.py:407 | |
379 | 393 | msgid "Liczba pozycyj" |
380 | 394 | msgstr "Number of positions" |
381 | 395 | |
382 | -#: entries/forms.py:419 | |
396 | +#: entries/forms.py:422 | |
383 | 397 | msgid "Pozycja/e występujące w schemacie" |
384 | 398 | msgstr "Position(s) occurring in the entry." |
385 | 399 | |
386 | -#: entries/forms.py:435 | |
400 | +#: entries/forms.py:438 | |
387 | 401 | msgid "Pozycja składniowa" |
388 | 402 | msgstr "Syntactic position" |
389 | 403 | |
390 | -#: entries/forms.py:441 | |
404 | +#: entries/forms.py:444 | |
391 | 405 | msgid "Funkcja gramatyczna" |
392 | 406 | msgstr "Grammatical function" |
393 | 407 | |
394 | -#: entries/forms.py:451 | |
408 | +#: entries/forms.py:454 | |
395 | 409 | msgid "Kontrola" |
396 | 410 | msgstr "Control" |
397 | 411 | |
398 | -#: entries/forms.py:461 | |
412 | +#: entries/forms.py:464 | |
399 | 413 | msgid "Kontrola predykatywna" |
400 | 414 | msgstr "Predicative control" |
401 | 415 | |
402 | -#: entries/forms.py:471 | |
416 | +#: entries/forms.py:474 | |
403 | 417 | msgid "Liczba fraz" |
404 | 418 | msgstr "Number of phrases" |
405 | 419 | |
406 | -#: entries/forms.py:480 | |
420 | +#: entries/forms.py:483 | |
407 | 421 | msgid "Fraza/y występujące na pozycji" |
408 | 422 | msgstr "Phrase type(s) occurring on the position." |
409 | 423 | |
410 | -#: entries/forms.py:516 | |
424 | +#: entries/forms.py:519 | |
411 | 425 | msgid "Fraza zleksykalizowana" |
412 | 426 | msgstr "Lexicalised phrase" |
413 | 427 | |
414 | -#: entries/forms.py:522 | |
428 | +#: entries/forms.py:525 | |
415 | 429 | msgid "Wybór lematów" |
416 | 430 | msgstr "Lemma choice" |
417 | 431 | |
418 | -#: entries/forms.py:532 | |
432 | +#: entries/forms.py:535 | |
419 | 433 | msgid "Łączenie lematów" |
420 | 434 | msgstr "Lemma joining" |
421 | 435 | |
422 | -#: entries/forms.py:545 entries/forms.py:823 | |
436 | +#: entries/forms.py:548 entries/forms.py:828 | |
423 | 437 | msgid "Typ składniowy frazy zleksykalizowanej." |
424 | 438 | msgstr "Syntactic type of lexicalised phrase." |
425 | 439 | |
426 | -#: entries/forms.py:568 | |
440 | +#: entries/forms.py:571 | |
427 | 441 | msgid "Rama semantyczna" |
428 | 442 | msgstr "Semantic frame" |
429 | 443 | |
430 | -#: entries/forms.py:574 entries/templates/entry_display.html:37 | |
444 | +#: entries/forms.py:577 entries/templates/entry_display.html:37 | |
431 | 445 | #: entries/templates/entry_display.html:56 |
432 | 446 | #: entries/templates/entry_display.html:71 |
433 | 447 | msgid "Opinia" |
434 | 448 | msgstr "Opinion" |
435 | 449 | |
436 | -#: entries/forms.py:584 | |
450 | +#: entries/forms.py:587 | |
437 | 451 | msgid "Liczba argumentów" |
438 | 452 | msgstr "Number of arguments" |
439 | 453 | |
440 | -#: entries/forms.py:591 | |
454 | +#: entries/forms.py:594 | |
441 | 455 | msgid "Liczba preferencyj selekcyjnych argumentu" |
442 | 456 | msgstr "Number of argument’s selectional preferences" |
443 | 457 | |
444 | -#: entries/forms.py:597 | |
445 | -msgid "Argument" | |
446 | -msgstr "Argument" | |
447 | - | |
448 | -#: entries/forms.py:613 | |
458 | +#: entries/forms.py:616 | |
449 | 459 | msgid "Argument semantyczny" |
450 | 460 | msgstr "Semantic argument" |
451 | 461 | |
452 | -#: entries/forms.py:619 | |
462 | +#: entries/forms.py:622 | |
453 | 463 | msgid "Rola" |
454 | 464 | msgstr "Role" |
455 | 465 | |
456 | -#: entries/forms.py:626 | |
466 | +#: entries/forms.py:629 | |
457 | 467 | msgid "Atrybut roli" |
458 | 468 | msgstr "Role attribute" |
459 | 469 | |
460 | -#: entries/forms.py:633 entries/forms.py:636 | |
470 | +#: entries/forms.py:636 entries/forms.py:639 | |
461 | 471 | msgid "Preferencja selekcyjna" |
462 | 472 | msgstr "Selectional preference" |
463 | 473 | |
464 | -#: entries/forms.py:634 | |
474 | +#: entries/forms.py:637 | |
465 | 475 | msgid "Predefiniowana grupa znaczeń" |
466 | 476 | msgstr "Predefined meanings class" |
467 | 477 | |
468 | -#: entries/forms.py:634 | |
478 | +#: entries/forms.py:637 | |
469 | 479 | msgid "Wyrażona przez relację" |
470 | 480 | msgstr "Expressed by relation" |
471 | 481 | |
472 | -#: entries/forms.py:634 | |
482 | +#: entries/forms.py:637 | |
473 | 483 | msgid "Wyrażona przez jednostkę leksykalną Słowosieci" |
474 | 484 | msgstr "Expressed by plWordnet lexical unit" |
475 | 485 | |
476 | -#: entries/forms.py:644 | |
486 | +#: entries/forms.py:647 | |
477 | 487 | msgid "Typ frazy, przez którą może być realizowany argument." |
478 | 488 | msgstr "" |
479 | 489 | |
480 | -#: entries/forms.py:665 | |
490 | +#: entries/forms.py:670 | |
481 | 491 | msgid "Preferencja predefiniowana" |
482 | 492 | msgstr "Predefined preference" |
483 | 493 | |
484 | -#: entries/forms.py:671 | |
494 | +#: entries/forms.py:676 | |
485 | 495 | msgid "Predefiniowane" |
486 | 496 | msgstr "Predefined" |
487 | 497 | |
488 | -#: entries/forms.py:685 | |
498 | +#: entries/forms.py:690 | |
489 | 499 | msgid "Preferencja – relacja" |
490 | 500 | msgstr "Relational preference" |
491 | 501 | |
492 | -#: entries/forms.py:691 | |
502 | +#: entries/forms.py:696 | |
493 | 503 | msgid "Relacja" |
494 | 504 | msgstr "Relation" |
495 | 505 | |
496 | -#: entries/forms.py:702 | |
506 | +#: entries/forms.py:707 | |
497 | 507 | msgid "Do: rola" |
498 | 508 | msgstr "To: role" |
499 | 509 | |
500 | -#: entries/forms.py:709 | |
510 | +#: entries/forms.py:714 | |
501 | 511 | msgid "Do: atrybut" |
502 | 512 | msgstr "To: attribute" |
503 | 513 | |
504 | -#: entries/forms.py:721 | |
514 | +#: entries/forms.py:726 | |
505 | 515 | msgid "Preferencja – Słowosieć" |
506 | 516 | msgstr "plWordnet preference" |
507 | 517 | |
508 | -#: entries/forms.py:727 | |
518 | +#: entries/forms.py:732 | |
509 | 519 | msgid "Jednostka leksykalna" |
510 | 520 | msgstr "Lexical unit" |
511 | 521 | |
512 | -#: entries/forms.py:775 | |
522 | +#: entries/forms.py:780 | |
513 | 523 | msgid "Fraza {}" |
514 | 524 | msgstr "{} phrase" |
515 | 525 | |
516 | -#: entries/forms.py:777 entries/phrase_descriptions/descriptions.py:124 | |
526 | +#: entries/forms.py:782 entries/phrase_descriptions/descriptions.py:124 | |
517 | 527 | msgid "zleksykalizowana" |
518 | 528 | msgstr "lexicalised" |
519 | 529 | |
520 | -#: entries/forms.py:813 | |
530 | +#: entries/forms.py:818 | |
521 | 531 | msgid "Realizacja składniowa frazy." |
522 | 532 | msgstr "Syntactic realisation of the phrase." |
523 | 533 | |
524 | -#: entries/forms.py:817 | |
534 | +#: entries/forms.py:822 | |
525 | 535 | msgid "Fraza składowa zleksykalizowanej konstrukcji porównawczej." |
526 | 536 | msgstr "Component phrase of lexicalised comparative construction." |
527 | 537 | |
528 | -#: entries/forms.py:819 | |
538 | +#: entries/forms.py:824 | |
529 | 539 | msgid "Fraza zleksykalizowana." |
530 | 540 | msgstr "Lexicalised phrase." |
531 | 541 | |
... | ... | @@ -2125,18 +2135,46 @@ msgstr "Options" |
2125 | 2135 | msgid "Wyświetlaj opisy realizacji" |
2126 | 2136 | msgstr "Show realisation descriptions" |
2127 | 2137 | |
2128 | -#: entries/templates/entries.html:97 | |
2138 | +#: entries/templates/entries.html:66 | |
2139 | +msgid "" | |
2140 | +"Po wybraniu ramy wyświetlaj opisy jej realizacji składniowych. Opisy (dla " | |
2141 | +"całej realizacji i dla poszczególnych fraz) są wyświetlane wewnątrz " | |
2142 | +"schematów." | |
2143 | +msgstr "" | |
2144 | +"When a frame is selected, show descriptions of its syntactic realisations. " | |
2145 | +"The descriptions (for whole realisation and for single phrases) are " | |
2146 | +"displayed inside schemata." | |
2147 | + | |
2148 | +#: entries/templates/entries.html:72 | |
2149 | +msgid "Wyświetlaj powiązane hasła" | |
2150 | +msgstr "Show related entries" | |
2151 | + | |
2152 | +#: entries/templates/entries.html:72 | |
2153 | +msgid "" | |
2154 | +"Przy filtrowaniu haseł wyświetlaj, oprócz haseł spełniających kryteria " | |
2155 | +"filtrowania, hasła powiązane z nimi znaczeniowo (np. <i>podarować</i> – " | |
2156 | +"<i>podarunek</i> – <i>podarek</i>). Hasła powiązane niespełniające kryteriów " | |
2157 | +"filtrowania są wyróżnione jaśniejszym kolorem na liście oraz nie podlegają " | |
2158 | +"filtrowaniu schematów i ram (są zawsze wyświetlane w całości niezależnie od " | |
2159 | +"użytych filtrów dla schematów/ram)." | |
2160 | +msgstr "When filtering entries, show (aside from entries satisfying filtering criteria) entries with related meanings, (eg. <i>podarować</i> – <i>podarunek</i> – <i>podarek</i>). Related entries that don’t satisfy filtering criteria are displayed in a lighter color on the entries list and are not subject to schema/frame filtering (ie. are always shown in their entirety regardless of schema/frame filters applied)." | |
2161 | + | |
2162 | +#: entries/templates/entries.html:103 | |
2129 | 2163 | msgid "Filtrowanie haseł" |
2130 | 2164 | msgstr "Entry filtering" |
2131 | 2165 | |
2132 | -#: entries/templates/entries.html:113 | |
2166 | +#: entries/templates/entries.html:119 | |
2133 | 2167 | msgid "Filtrowanie ram" |
2134 | 2168 | msgstr "Frame filtering" |
2135 | 2169 | |
2136 | -#: entries/templates/entries.html:129 | |
2170 | +#: entries/templates/entries.html:135 | |
2137 | 2171 | msgid "Filtrowanie schematów" |
2138 | 2172 | msgstr "Schema filtering" |
2139 | 2173 | |
2174 | +#: entries/templates/entries_list.html:8 | |
2175 | +msgid "Cz. mowy" | |
2176 | +msgstr "PoS" | |
2177 | + | |
2140 | 2178 | #: entries/templates/entry_display.html:6 |
2141 | 2179 | msgid "Semantyka (ramy + schematy)" |
2142 | 2180 | msgstr "Semantics (frames + schemata)" |
... | ... | @@ -2167,22 +2205,22 @@ msgstr "Source" |
2167 | 2205 | msgid "Brak przykładów" |
2168 | 2206 | msgstr "No examples" |
2169 | 2207 | |
2170 | -#: entries/views.py:427 | |
2208 | +#: entries/views.py:452 | |
2171 | 2209 | msgid "" |
2172 | 2210 | "Realizacja tego argumentu w zdaniu powinna być powiązana jakąkolwiek relacją" |
2173 | 2211 | msgstr "Realisation of this argument in the sentence should be in any relation" |
2174 | 2212 | |
2175 | -#: entries/views.py:429 | |
2213 | +#: entries/views.py:454 | |
2176 | 2214 | msgid "" |
2177 | 2215 | "Realizacja tego argumentu w zdaniu powinna być powiązana relacją <i>{}</i>" |
2178 | 2216 | msgstr "" |
2179 | 2217 | "Realisation of this argument in the sentence should be in <i>{}</i> relation" |
2180 | 2218 | |
2181 | -#: entries/views.py:430 | |
2219 | +#: entries/views.py:455 | |
2182 | 2220 | msgid "z realizacją argumentu <i>{}</i>." |
2183 | 2221 | msgstr "with realisation of the <i>{}</i> argument." |
2184 | 2222 | |
2185 | -#: entries/views.py:443 | |
2223 | +#: entries/views.py:468 | |
2186 | 2224 | msgid "hiperonimy:" |
2187 | 2225 | msgstr "hypernyms" |
2188 | 2226 | |
... | ... |
locale/en/LC_MESSAGES/djangojs.po
... | ... | @@ -8,7 +8,7 @@ msgid "" |
8 | 8 | msgstr "" |
9 | 9 | "Project-Id-Version: PACKAGE VERSION\n" |
10 | 10 | "Report-Msgid-Bugs-To: \n" |
11 | -"POT-Creation-Date: 2021-07-07 12:20+0200\n" | |
11 | +"POT-Creation-Date: 2021-07-14 16:24+0200\n" | |
12 | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
... | ... | @@ -139,40 +139,40 @@ msgid "" |
139 | 139 | "Kliknij, aby wyświetlić argumenty i typy fraz powiązane z tym przykładem." |
140 | 140 | msgstr "Click to show arguments and phrase types linked to this example." |
141 | 141 | |
142 | -#: entries/static/entries/js/entries.js:960 | |
142 | +#: entries/static/entries/js/entries.js:981 | |
143 | 143 | msgid "Przetwarzanie..." |
144 | 144 | msgstr "Processing" |
145 | 145 | |
146 | -#: entries/static/entries/js/entries.js:961 | |
147 | -#: entries/static/entries/js/entries.js:1018 | |
146 | +#: entries/static/entries/js/entries.js:982 | |
147 | +#: entries/static/entries/js/entries.js:1039 | |
148 | 148 | msgid "Szukaj:" |
149 | 149 | msgstr "Search:" |
150 | 150 | |
151 | -#: entries/static/entries/js/entries.js:962 | |
151 | +#: entries/static/entries/js/entries.js:983 | |
152 | 152 | msgid "Liczba haseł: _TOTAL_" |
153 | 153 | msgstr "_TOTAL_ entries" |
154 | 154 | |
155 | -#: entries/static/entries/js/entries.js:963 | |
156 | -#: entries/static/entries/js/entries.js:1019 | |
155 | +#: entries/static/entries/js/entries.js:984 | |
156 | +#: entries/static/entries/js/entries.js:1040 | |
157 | 157 | msgid "Liczba haseł: 0" |
158 | 158 | msgstr "0 entries" |
159 | 159 | |
160 | -#: entries/static/entries/js/entries.js:964 | |
160 | +#: entries/static/entries/js/entries.js:985 | |
161 | 161 | msgid "(spośród _MAX_)" |
162 | 162 | msgstr "(out of _MAX_)" |
163 | 163 | |
164 | -#: entries/static/entries/js/entries.js:965 | |
165 | -#: entries/static/entries/js/entries.js:1020 | |
164 | +#: entries/static/entries/js/entries.js:986 | |
165 | +#: entries/static/entries/js/entries.js:1041 | |
166 | 166 | msgid "Brak haseł do wyświetlenia." |
167 | 167 | msgstr "No entries to display." |
168 | 168 | |
169 | -#: entries/static/entries/js/entries.js:967 | |
170 | -#: entries/static/entries/js/entries.js:1022 | |
169 | +#: entries/static/entries/js/entries.js:988 | |
170 | +#: entries/static/entries/js/entries.js:1043 | |
171 | 171 | msgid ": sortuj kolumnę rosnąco" |
172 | 172 | msgstr ": sort column in ascending order" |
173 | 173 | |
174 | -#: entries/static/entries/js/entries.js:968 | |
175 | -#: entries/static/entries/js/entries.js:1023 | |
174 | +#: entries/static/entries/js/entries.js:989 | |
175 | +#: entries/static/entries/js/entries.js:1044 | |
176 | 176 | msgid ": sortuj kolumnę malejąco" |
177 | 177 | msgstr ": sort column in descending order" |
178 | 178 | |
... | ... |