diff --git a/common/templates/base.html b/common/templates/base.html index 0be482d4c850a2e8715b8accc19effbb3f091bda..a24c6112dc3a039d5fc7cc8c322cb8d670730a43 100644 --- a/common/templates/base.html +++ b/common/templates/base.html @@ -36,7 +36,7 @@ <div class="container-fluid h-100 d-flex flex-column p-0"> <!--z-index 2 above sticky-top--> - <nav class="navbar navbar-expand-lg sticky-top navbar-dark bg-dark font-weight-bold p-2" style="z-index: 1022;"> + <nav id="page-nav" class="navbar navbar-expand-lg sticky-top navbar-dark bg-dark font-weight-bold p-2" style="z-index: 1022;"> <a class="navbar-brand" href="{% url 'dash' %}">Walenty [beta]</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> diff --git a/entries/static/entries/js/entries.js b/entries/static/entries/js/entries.js index 12e68575afab77e6f0aa4bc4c3808b5863ef2fa4..417618aebb387294bb24c4f81ac925f458d845e2 100644 --- a/entries/static/entries/js/entries.js +++ b/entries/static/entries/js/entries.js @@ -784,12 +784,12 @@ function show_unmatched_examples() { } } -function get_entry(entry_id) { +function get_entry(entry_id, related) { check_import_status(); clear_entry(); show_entry_spinners(); //var data = { 'forms' : serialize_forms($('#main-form')), 'entry' : entry_id }; - var data = { 'entry' : entry_id }; + var data = { 'entry' : entry_id, 'no_filters' : related }; $.ajax({ type : 'post', url : '/' + lang + '/entries/get_entry/', @@ -860,6 +860,7 @@ function update_last_visited(last_visited) { } function bind_settings() { + activate_tooltips($('#page-nav')); $('#show-realisation-descriptions').change(function() { var val = $(this).prop('checked') === true; $.ajax({ @@ -879,6 +880,21 @@ function bind_settings() { } }); }); + $('#show-linked-entries').change(function() { + var val = $(this).prop('checked') === true; + $.ajax({ + type : 'post', + url : '/' + lang + '/entries/change_show_linked_entries/', + dataType : 'json', + data : {'val' : val}, + success : function(response) { + update_entries(); + }, + error: function(request, errorType, errorMessage) { + show_error(errorType + ' (' + errorMessage + ')'); + } + }); + }); } function show_reals_desc() { @@ -895,7 +911,7 @@ function get_show_reals_desc() { return $('#show-realisation-descriptions').prop('checked') === true; } -function update_entries(entries) { +function update_entries() { $('#entries-table').DataTable({ // https://datatables.net/manual/tech-notes/3 @@ -913,8 +929,9 @@ function update_entries(entries) { // https://datatables.net/reference/option/dom dom: 'ftri', columns: [ - { data: 'name' }, - { data: 'status__key' }, + { data: 'lemma' }, + { data: 'status' }, + { data: 'POS' }, ], orderMulti: false, // show processing indicator when sorting etc. @@ -931,21 +948,25 @@ function update_entries(entries) { }, { className: 'p-1', - targets: [0, 1], + targets: [0, 1, 2], }, // make only the lemma searchable { searchable: false, - targets: 1, + targets: [1, 2] } ], createdRow: function(row, data, dataIndex, cells) { $(row).addClass('entry'); $(row).attr('data-entry', data.id); + var related = data.related === true; + if (related) { + $(row).addClass('text-muted'); + } $(row).click(function() { var selected_entry = $(this).data('entry'); if (selected_entry !== curr_entry) { - get_entry(selected_entry); + get_entry(selected_entry, related); $('.entry[data-entry="' + curr_entry + '"]').removeClass('table-primary'); $(this).addClass('table-primary'); } diff --git a/entries/templates/entries.html b/entries/templates/entries.html index 5e0efa59e468a15bb055e1aca91d22a9c24ea2bd..0814f1f43ba66887f40b6ae0d9737bae6f5e7064 100644 --- a/entries/templates/entries.html +++ b/entries/templates/entries.html @@ -63,7 +63,13 @@ <div class="form-check custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="show-realisation-descriptions"{% if request.session.show_reals_desc %} checked{% endif %}> <label class="custom-control-label" for="show-realisation-descriptions"> - {% trans "WyÅ›wietlaj opisy realizacji" %} + {% 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> + </label> + </div> + <div class="form-check custom-control custom-checkbox"> + <input type="checkbox" class="custom-control-input" id="show-linked-entries"{% if request.session.show_linked_entries %} checked{% endif %}> + <label class="custom-control-label" for="show-linked-entries"> + {% 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> </label> </div> </div> diff --git a/entries/templates/entries_list.html b/entries/templates/entries_list.html index 8828866bcd4d70a0b707245d9699382ae18868a1..efd94e29fae9caafe5a16ad0e6a8696d21fdfe53 100644 --- a/entries/templates/entries_list.html +++ b/entries/templates/entries_list.html @@ -5,6 +5,7 @@ <tr> <th class="p-1">{% trans "Lemat" %}</th> <th class="p-1">Status</th> + <th class="p-1">{% trans "Cz. mowy" %}</th> </tr> </thead> <tbody id="entries"> diff --git a/entries/templates/entry_display.html b/entries/templates/entry_display.html index de2ad14a39d15af77f15e2524a6db6daa577423b..cf620b880ec55094d84ddca819c75a16fe9bd4fa 100644 --- a/entries/templates/entry_display.html +++ b/entries/templates/entry_display.html @@ -63,7 +63,7 @@ </div> </div> <div class="col h-100 w-100 p-0 tab-pane" id="examples" role="tabpanel" aria-labelledby="examples-tab"> - <table id="unmatched-examples" class="table table-sm table-hover table-responsive"> + <table id="unmatched-examples" class="table table-sm table-hover"> <thead> <tr> <th scope="col">{% trans "PrzykÅ‚ad" %}</th> diff --git a/entries/urls.py b/entries/urls.py index 1a1a2303dc904dd869fae71314bce43b40ee0c47..3c497647957859d31f5ec8638ba9793a15ad802f 100644 --- a/entries/urls.py +++ b/entries/urls.py @@ -13,6 +13,7 @@ urlpatterns = [ path('get_entry/', views.get_entry, name='get_entry'), path('get_subform/', views.get_subform, name='get_subform'), path('change_show_reals_desc/', views.change_show_reals_desc, name='change_show_reals_desc'), + path('change_show_linked_entries/', views.change_show_linked_entries, name='change_show_linked_entries'), path('autocomplete/', autocompletes.autocomplete, name='autocomplete'), diff --git a/entries/views.py b/entries/views.py index 20123992f2c7638136ee8c9c9500a0f4dd83c4bc..18875ca688c1c81353c3e432adced1141ec3b292 100644 --- a/entries/views.py +++ b/entries/views.py @@ -35,7 +35,7 @@ from .forms import ( SynsetPreferenceFormFactory, ) -from .polish_strings import STATUS, SCHEMA_OPINION, FRAME_OPINION, EXAMPLE_SOURCE, EXAMPLE_OPINION, RELATION +from .polish_strings import STATUS, POS, SCHEMA_OPINION, FRAME_OPINION, EXAMPLE_SOURCE, EXAMPLE_OPINION, RELATION from .phrase_descriptions.descriptions import position_prop_description @@ -49,6 +49,10 @@ def entries(request): # TODO make this automatic by subclassing/configuring session object if 'last_visited' not in request.session: request.session['last_visited'] = [] + if 'show_reals_desc' not in request.session: + request.session['show_reals_desc'] = True + if 'show_linked_entries' not in request.session: + request.session['show_linked_entries'] = True # TODO retrieve the form from the request session – keep forms between page refreshes, # keep search history, allow saving searches? # if so, don’t delete local forms on main form submit in send_form @@ -337,26 +341,46 @@ def get_entries(request): # TODO restrictions for testing – remove!!! #entries = entries.annotate(nsub=Count('subentries')).filter(nsub__gt=1) #entries = entries.filter(subentries__schemata__opinion__key__in=('vul', 'col')).filter(status__key__in=('(S) gotowe', '(S) sprawdzone')) + #entries = entries.filter(subentries__schema_hooks__alternation=2) total = entries.count() if scroller_params['filter']: entries = entries.filter(name__startswith=scroller_params['filter']) filtered = entries.count() + + linked_ids = set() + if request.session['show_linked_entries']: + entries_linked = Entry.objects.filter(subentries__schema_hooks__argument_connections__schema_connections__subentry__entry__in=entries).distinct().exclude(id__in=entries) + entries = entries.union(entries_linked) + linked_ids = set(e.id for e in entries_linked) + i, j = scroller_params['start'], scroller_params['start'] + scroller_params['length'] order_field, order_dir = scroller_params['order'] - if order_field != 0 or order_dir != 'asc': - # ordering other than lemma ascending (database default) - order_field = 'name' if order_field == 0 else 'status__key' - if order_dir == 'desc': - order_field = '-' + order_field - entries = entries.order_by(order_field) + if order_field == 0: + order_field = 'name' + elif order_field == 1: + order_field = 'status__key' + elif order_field == 2: + order_field = 'pos__tag' + if order_dir == 'desc': + order_field = '-' + order_field + entries = entries.order_by(order_field) status_names = STATUS() - entries_list = list(entries.values('id', 'name', 'status__key')) + POS_names = POS() + entries_list = list(entries.values('id', 'name', 'status__key', 'pos__tag')) result = { 'draw' : scroller_params['draw'], 'recordsTotal': total, 'recordsFiltered': filtered, - 'data': [{'id' : e['id'], 'name' : e['name'], 'status__key' : status_names[e['status__key']]} for e in entries_list[i:j]], + 'data': [ + { + 'id' : e['id'], + 'lemma' : e['name'], + 'status' : status_names[e['status__key']], + 'POS' : POS_names[e['pos__tag']], + 'related' : e['id'] in linked_ids, + } for e in entries_list[i:j] + ], } return JsonResponse(result) return JsonResponse({}) @@ -659,7 +683,10 @@ def get_entry(request): # form should already be validated if it passed through send_form assert(not errors_dict) - filter_schemata, filter_frames = entry_form.cleaned_data['filter_schemata'], entry_form.cleaned_data['filter_frames'] + # dont’ do schema/frame filtering for related entries + FILTERING_OK = not simplejson.loads(request.POST['no_filters']) + filter_schemata = FILTERING_OK and entry_form.cleaned_data['filter_schemata'] + filter_frames = FILTERING_OK and entry_form.cleaned_data['filter_frames'] if filter_schemata: schema_forms = [] # e.g. entry has schema that satisfies X & entry has schema that satisfies Y @@ -700,14 +727,14 @@ def get_entry(request): local_schema_form = None - if 'schema_form' in request.session: + if FILTERING_OK and 'schema_form' in request.session: errors_dict = dict() local_schema_form = collect_forms(request.session['schema_form'], errors_dict) print(local_schema_form) assert(not errors_dict) local_frame_form = None - if 'frame_form' in request.session: + if FILTERING_OK and 'frame_form' in request.session: errors_dict = dict() local_frame_form = collect_forms(request.session['frame_form'], errors_dict) assert(not errors_dict) @@ -736,10 +763,6 @@ def get_entry(request): frames = [frame2dict(frame, entry.lexical_units.all()) for frame in frame_objects] alternations, realisation_phrases, realisation_descriptions = get_alternations(all_schema_objects, frame_objects) examples = get_examples(entry) - if 'last_visited' not in request.session: - request.session['last_visited'] = [] - if 'show_reals_desc' not in request.session: - request.session['show_reals_desc'] = True # https://docs.djangoproject.com/en/2.2/topics/http/sessions/#when-sessions-are-saved if [entry.name, entry.id] in request.session['last_visited']: request.session['last_visited'].remove([entry.name, entry.id]) @@ -779,3 +802,12 @@ def change_show_reals_desc(request): request.session['show_reals_desc'] = val return JsonResponse({ 'success' : 1 }) return JsonResponse({}) + +@ajax_required +def change_show_linked_entries(request): + if request.method == 'POST': + val = simplejson.loads(request.POST['val']) + request.session['show_linked_entries'] = val + return JsonResponse({ 'success' : 1 }) + return JsonResponse({}) + diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index e25e72102e413eb22e0c3b3afd4ec2b13f5d4f93..63b3175bf7c12ea66fc505d606cae8959df2877b 100644 Binary files a/locale/en/LC_MESSAGES/django.mo and b/locale/en/LC_MESSAGES/django.mo differ diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index c890dc3e4cafea00dbc45bc5e867a2ddbef7e53d..020256e4bf0b2c973e67271a7cb0cdaa17e066ed 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-07 12:20+0200\n" +"POT-Creation-Date: 2021-07-14 16:24+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -105,12 +105,12 @@ msgid "Status / część mowy" msgstr "Status / part of speech" #: dictionary_statistics/templates/dictionary_statistics.html:43 -#: entries/forms.py:201 +#: entries/forms.py:202 msgid "Liczba schematów" msgstr "Number of schemata" #: dictionary_statistics/templates/dictionary_statistics.html:67 -#: entries/forms.py:205 +#: entries/forms.py:206 msgid "Liczba ram" msgstr "Number of frames" @@ -122,7 +122,7 @@ msgstr "all" msgid "Pobieranie" msgstr "Download" -#: entries/autocompletes.py:27 entries/views.py:439 +#: entries/autocompletes.py:27 entries/views.py:464 msgid "definicja:" msgstr "definition:" @@ -186,11 +186,11 @@ msgstr "Invalid expression: %(msg)s." msgid "Typ frazy zleksykalizowanej" msgstr "Lexicalised phrase type" -#: entries/form_fields/specialised_fields.py:44 entries/forms.py:546 +#: entries/form_fields/specialised_fields.py:44 entries/forms.py:549 msgid "Typ frazy" msgstr "Phrase type" -#: entries/form_fields/specialised_fields.py:51 entries/forms.py:634 +#: entries/form_fields/specialised_fields.py:51 entries/forms.py:637 msgid "wybierz" msgstr "choose" @@ -250,7 +250,7 @@ msgstr "Schema" msgid "Schemat(y) wystÄ™pujÄ…ce w haÅ›le" msgstr "Phrase type(s) occurring in the entry." -#: entries/forms.py:147 entries/forms.py:419 entries/forms.py:640 +#: entries/forms.py:147 entries/forms.py:422 entries/forms.py:643 msgid "Pozycja" msgstr "Position" @@ -263,11 +263,14 @@ msgid "" "Pozycje mogÄ… wystÄ™pować w różnych schematach. Aby ograniczyć filtrowanie do " "wystÄ™powania wymaganych pozycji w obrÄ™bie jednego schematu, proszÄ™ użyć " "filtru POZYCJA wewnÄ…trz filtra SCHEMAT powyżej." -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." +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." -#: entries/forms.py:151 entries/forms.py:480 entries/forms.py:645 -#: entries/forms.py:764 entries/forms.py:766 entries/forms.py:768 -#: entries/forms.py:770 +#: entries/forms.py:151 entries/forms.py:483 entries/forms.py:648 +#: entries/forms.py:769 entries/forms.py:771 entries/forms.py:773 +#: entries/forms.py:775 msgid "Fraza" msgstr "Phrase" @@ -280,7 +283,10 @@ msgid "" "Frazy mogÄ… wystÄ™pować w różnych schematach i na różnych pozycjach. Aby " "ograniczyć filtrowanie do wystÄ™powania wymaganych fraz w obrÄ™bie jednej " "pozycji, proszÄ™ użyć filtru POZYCJA powyżej lub wewnÄ…trz filtra SCHEMAT." -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." +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." #: entries/forms.py:164 msgid "Rama" @@ -290,242 +296,246 @@ msgstr "Frame" msgid "Rama/y wystÄ™pujÄ…ce w haÅ›le" msgstr "Frame(s) occurring in the entry." -#: entries/forms.py:170 +#: entries/forms.py:165 entries/forms.py:600 +msgid "Argument" +msgstr "Argument" + +#: entries/forms.py:165 +msgid "Argument(y) wystÄ™pujÄ…ce w haÅ›le" +msgstr "Argument(s) occurring in the entry." + +#: entries/forms.py:171 msgid "WÅ‚asnoÅ›ci hasÅ‚a" msgstr "Entry properties" -#: entries/forms.py:171 +#: entries/forms.py:172 msgid "WÅ‚asnoÅ›ci skÅ‚adniowe" msgstr "Syntactic properties" -#: entries/forms.py:172 +#: entries/forms.py:173 msgid "WÅ‚asnoÅ›ci semantyczne" msgstr "Semantic properties" -#: entries/forms.py:173 entries/forms.py:259 +#: entries/forms.py:174 entries/forms.py:262 msgid "Filtruj" msgstr "Filter" -#: entries/forms.py:174 entries/forms.py:260 +#: entries/forms.py:175 entries/forms.py:263 msgid "Wyczyść" msgstr "Reset" -#: entries/forms.py:180 entries/forms.py:496 entries/forms.py:502 -#: entries/forms.py:541 entries/templates/entries_list.html:6 +#: entries/forms.py:181 entries/forms.py:499 entries/forms.py:505 +#: entries/forms.py:544 entries/templates/entries_list.html:6 msgid "Lemat" msgstr "Lemma" -#: entries/forms.py:186 +#: entries/forms.py:187 msgid "Część mowy" msgstr "Part of speech" -#: entries/forms.py:212 +#: entries/forms.py:213 msgid "Ukryj niepasujÄ…ce schematy" msgstr "Hide non-matching schemata" -#: entries/forms.py:213 +#: entries/forms.py:214 msgid "Ukryj niepasujÄ…ce ramy" msgstr "Hide non-matching frames" -#: entries/forms.py:255 +#: entries/forms.py:258 msgid "ZwiÅ„" msgstr "Collapse" -#: entries/forms.py:255 +#: entries/forms.py:258 msgid "UsuÅ„" msgstr "Remove" -#: entries/forms.py:308 entries/forms.py:802 +#: entries/forms.py:311 entries/forms.py:807 msgid "Zaneguj" msgstr "Negate" -#: entries/forms.py:323 +#: entries/forms.py:326 msgid "Schemat skÅ‚adniowy" msgstr "Syntactic schema" -#: entries/forms.py:329 +#: entries/forms.py:332 msgid "Opinia o schemacie" msgstr "Schema opinion" -#: entries/forms.py:340 +#: entries/forms.py:343 msgid "Typ" msgstr "Type" -#: entries/forms.py:342 +#: entries/forms.py:345 msgid "zwykÅ‚y" msgstr "ordinary" -#: entries/forms.py:343 +#: entries/forms.py:346 msgid "frazeologiczny" msgstr "phraseological" -#: entries/forms.py:352 +#: entries/forms.py:355 msgid "Zwrotność" msgstr "Reflexiveness" -#: entries/forms.py:363 +#: entries/forms.py:366 msgid "Negatywność" msgstr "Negativity" -#: entries/forms.py:374 +#: entries/forms.py:377 msgid "Predykatywność" msgstr "Predicativity" -#: entries/forms.py:385 entries/polish_strings.py:96 +#: entries/forms.py:388 entries/polish_strings.py:96 msgid "Aspekt" msgstr "Aspect" -#: entries/forms.py:404 +#: entries/forms.py:407 msgid "Liczba pozycyj" msgstr "Number of positions" -#: entries/forms.py:419 +#: entries/forms.py:422 msgid "Pozycja/e wystÄ™pujÄ…ce w schemacie" msgstr "Position(s) occurring in the entry." -#: entries/forms.py:435 +#: entries/forms.py:438 msgid "Pozycja skÅ‚adniowa" msgstr "Syntactic position" -#: entries/forms.py:441 +#: entries/forms.py:444 msgid "Funkcja gramatyczna" msgstr "Grammatical function" -#: entries/forms.py:451 +#: entries/forms.py:454 msgid "Kontrola" msgstr "Control" -#: entries/forms.py:461 +#: entries/forms.py:464 msgid "Kontrola predykatywna" msgstr "Predicative control" -#: entries/forms.py:471 +#: entries/forms.py:474 msgid "Liczba fraz" msgstr "Number of phrases" -#: entries/forms.py:480 +#: entries/forms.py:483 msgid "Fraza/y wystÄ™pujÄ…ce na pozycji" msgstr "Phrase type(s) occurring on the position." -#: entries/forms.py:516 +#: entries/forms.py:519 msgid "Fraza zleksykalizowana" msgstr "Lexicalised phrase" -#: entries/forms.py:522 +#: entries/forms.py:525 msgid "Wybór lematów" msgstr "Lemma choice" -#: entries/forms.py:532 +#: entries/forms.py:535 msgid "ÅÄ…czenie lematów" msgstr "Lemma joining" -#: entries/forms.py:545 entries/forms.py:823 +#: entries/forms.py:548 entries/forms.py:828 msgid "Typ skÅ‚adniowy frazy zleksykalizowanej." msgstr "Syntactic type of lexicalised phrase." -#: entries/forms.py:568 +#: entries/forms.py:571 msgid "Rama semantyczna" msgstr "Semantic frame" -#: entries/forms.py:574 entries/templates/entry_display.html:37 +#: entries/forms.py:577 entries/templates/entry_display.html:37 #: entries/templates/entry_display.html:56 #: entries/templates/entry_display.html:71 msgid "Opinia" msgstr "Opinion" -#: entries/forms.py:584 +#: entries/forms.py:587 msgid "Liczba argumentów" msgstr "Number of arguments" -#: entries/forms.py:591 +#: entries/forms.py:594 msgid "Liczba preferencyj selekcyjnych argumentu" msgstr "Number of argument’s selectional preferences" -#: entries/forms.py:597 -msgid "Argument" -msgstr "Argument" - -#: entries/forms.py:613 +#: entries/forms.py:616 msgid "Argument semantyczny" msgstr "Semantic argument" -#: entries/forms.py:619 +#: entries/forms.py:622 msgid "Rola" msgstr "Role" -#: entries/forms.py:626 +#: entries/forms.py:629 msgid "Atrybut roli" msgstr "Role attribute" -#: entries/forms.py:633 entries/forms.py:636 +#: entries/forms.py:636 entries/forms.py:639 msgid "Preferencja selekcyjna" msgstr "Selectional preference" -#: entries/forms.py:634 +#: entries/forms.py:637 msgid "Predefiniowana grupa znaczeÅ„" msgstr "Predefined meanings class" -#: entries/forms.py:634 +#: entries/forms.py:637 msgid "Wyrażona przez relacjÄ™" msgstr "Expressed by relation" -#: entries/forms.py:634 +#: entries/forms.py:637 msgid "Wyrażona przez jednostkÄ™ leksykalnÄ… SÅ‚owosieci" msgstr "Expressed by plWordnet lexical unit" -#: entries/forms.py:644 +#: entries/forms.py:647 msgid "Typ frazy, przez którÄ… może być realizowany argument." msgstr "" -#: entries/forms.py:665 +#: entries/forms.py:670 msgid "Preferencja predefiniowana" msgstr "Predefined preference" -#: entries/forms.py:671 +#: entries/forms.py:676 msgid "Predefiniowane" msgstr "Predefined" -#: entries/forms.py:685 +#: entries/forms.py:690 msgid "Preferencja – relacja" msgstr "Relational preference" -#: entries/forms.py:691 +#: entries/forms.py:696 msgid "Relacja" msgstr "Relation" -#: entries/forms.py:702 +#: entries/forms.py:707 msgid "Do: rola" msgstr "To: role" -#: entries/forms.py:709 +#: entries/forms.py:714 msgid "Do: atrybut" msgstr "To: attribute" -#: entries/forms.py:721 +#: entries/forms.py:726 msgid "Preferencja – SÅ‚owosieć" msgstr "plWordnet preference" -#: entries/forms.py:727 +#: entries/forms.py:732 msgid "Jednostka leksykalna" msgstr "Lexical unit" -#: entries/forms.py:775 +#: entries/forms.py:780 msgid "Fraza {}" msgstr "{} phrase" -#: entries/forms.py:777 entries/phrase_descriptions/descriptions.py:124 +#: entries/forms.py:782 entries/phrase_descriptions/descriptions.py:124 msgid "zleksykalizowana" msgstr "lexicalised" -#: entries/forms.py:813 +#: entries/forms.py:818 msgid "Realizacja skÅ‚adniowa frazy." msgstr "Syntactic realisation of the phrase." -#: entries/forms.py:817 +#: entries/forms.py:822 msgid "Fraza skÅ‚adowa zleksykalizowanej konstrukcji porównawczej." msgstr "Component phrase of lexicalised comparative construction." -#: entries/forms.py:819 +#: entries/forms.py:824 msgid "Fraza zleksykalizowana." msgstr "Lexicalised phrase." @@ -2125,18 +2135,46 @@ msgstr "Options" msgid "WyÅ›wietlaj opisy realizacji" msgstr "Show realisation descriptions" -#: entries/templates/entries.html:97 +#: entries/templates/entries.html:66 +msgid "" +"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." +msgstr "" +"When a frame is selected, show descriptions of its syntactic realisations. " +"The descriptions (for whole realisation and for single phrases) are " +"displayed inside schemata." + +#: entries/templates/entries.html:72 +msgid "WyÅ›wietlaj powiÄ…zane hasÅ‚a" +msgstr "Show related entries" + +#: entries/templates/entries.html:72 +msgid "" +"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)." +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)." + +#: entries/templates/entries.html:103 msgid "Filtrowanie haseÅ‚" msgstr "Entry filtering" -#: entries/templates/entries.html:113 +#: entries/templates/entries.html:119 msgid "Filtrowanie ram" msgstr "Frame filtering" -#: entries/templates/entries.html:129 +#: entries/templates/entries.html:135 msgid "Filtrowanie schematów" msgstr "Schema filtering" +#: entries/templates/entries_list.html:8 +msgid "Cz. mowy" +msgstr "PoS" + #: entries/templates/entry_display.html:6 msgid "Semantyka (ramy + schematy)" msgstr "Semantics (frames + schemata)" @@ -2167,22 +2205,22 @@ msgstr "Source" msgid "Brak przykÅ‚adów" msgstr "No examples" -#: entries/views.py:427 +#: entries/views.py:452 msgid "" "Realizacja tego argumentu w zdaniu powinna być powiÄ…zana jakÄ…kolwiek relacjÄ…" msgstr "Realisation of this argument in the sentence should be in any relation" -#: entries/views.py:429 +#: entries/views.py:454 msgid "" "Realizacja tego argumentu w zdaniu powinna być powiÄ…zana relacjÄ… <i>{}</i>" msgstr "" "Realisation of this argument in the sentence should be in <i>{}</i> relation" -#: entries/views.py:430 +#: entries/views.py:455 msgid "z realizacjÄ… argumentu <i>{}</i>." msgstr "with realisation of the <i>{}</i> argument." -#: entries/views.py:443 +#: entries/views.py:468 msgid "hiperonimy:" msgstr "hypernyms" diff --git a/locale/en/LC_MESSAGES/djangojs.po b/locale/en/LC_MESSAGES/djangojs.po index 2af266dccc371fc5cd5e1c62d976792dffdfc111..43fea1062dec5b7425e2404f4a6c74e3ece07c9c 100644 --- a/locale/en/LC_MESSAGES/djangojs.po +++ b/locale/en/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-07 12:20+0200\n" +"POT-Creation-Date: 2021-07-14 16:24+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -139,40 +139,40 @@ msgid "" "Kliknij, aby wyÅ›wietlić argumenty i typy fraz powiÄ…zane z tym przykÅ‚adem." msgstr "Click to show arguments and phrase types linked to this example." -#: entries/static/entries/js/entries.js:960 +#: entries/static/entries/js/entries.js:981 msgid "Przetwarzanie..." msgstr "Processing" -#: entries/static/entries/js/entries.js:961 -#: entries/static/entries/js/entries.js:1018 +#: entries/static/entries/js/entries.js:982 +#: entries/static/entries/js/entries.js:1039 msgid "Szukaj:" msgstr "Search:" -#: entries/static/entries/js/entries.js:962 +#: entries/static/entries/js/entries.js:983 msgid "Liczba haseÅ‚: _TOTAL_" msgstr "_TOTAL_ entries" -#: entries/static/entries/js/entries.js:963 -#: entries/static/entries/js/entries.js:1019 +#: entries/static/entries/js/entries.js:984 +#: entries/static/entries/js/entries.js:1040 msgid "Liczba haseÅ‚: 0" msgstr "0 entries" -#: entries/static/entries/js/entries.js:964 +#: entries/static/entries/js/entries.js:985 msgid "(spoÅ›ród _MAX_)" msgstr "(out of _MAX_)" -#: entries/static/entries/js/entries.js:965 -#: entries/static/entries/js/entries.js:1020 +#: entries/static/entries/js/entries.js:986 +#: entries/static/entries/js/entries.js:1041 msgid "Brak haseÅ‚ do wyÅ›wietlenia." msgstr "No entries to display." -#: entries/static/entries/js/entries.js:967 -#: entries/static/entries/js/entries.js:1022 +#: entries/static/entries/js/entries.js:988 +#: entries/static/entries/js/entries.js:1043 msgid ": sortuj kolumnÄ™ rosnÄ…co" msgstr ": sort column in ascending order" -#: entries/static/entries/js/entries.js:968 -#: entries/static/entries/js/entries.js:1023 +#: entries/static/entries/js/entries.js:989 +#: entries/static/entries/js/entries.js:1044 msgid ": sortuj kolumnÄ™ malejÄ…co" msgstr ": sort column in descending order"