From da6344989fcae2c071b88e229b68338d33f49310 Mon Sep 17 00:00:00 2001 From: Jyri-Petteri Paloposki Date: Sun, 10 Jan 2021 23:41:30 +0000 Subject: [PATCH 01/14] Translated using Weblate (Finnish) Currently translated at 99.8% (1068 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/fi/ --- config/locales/fi.yml | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/config/locales/fi.yml b/config/locales/fi.yml index a4d4d5a5..3415f5e8 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -130,9 +130,8 @@ fi: none: Ei not_available_abbr: ei note: - one: 1 muistiinpano - other: "%{count} muistiinpanoa" - zero: ei muistiinpanoja + one: ei muistiinpanoja + other: 1 muistiinpano notes: Muistiinpanot numbered_step: Askel %{number} ok: Ok @@ -424,7 +423,7 @@ fi: %{sms_context_name} -kentällä '3': Siirry %{preferences_link} ja syötä Mailgun-sähköpostiosoitteesi (esim. tracks@käyttäjä.mailgun.com) %{sms_email_name} -kenttään. - 2b: Action-kohtaan merkitään ”forward("http://palvelimeni.example.org/mailgun/mime")” + 2b: Action-kohtaan merkitään ”forward("http://palvelimeni.example.com/mailgun/mime")” 2a: "'Filter expression' asetetaan arvoon 'catch_all()'" '2': 'Mene Mailgunin ohjauspaneelin Routes-kohtaan ja lisää uusi reitti:' gateway_instructions: Kaikki ylläolevat maininnat sähköpostin muotoilusta pätevät @@ -467,8 +466,9 @@ fi: sähköpostin kautta lisättäviä toimenpiteitä varten (jotka voisivat muodostua myös SMS-viestin perusteella) one_user_configuration: 'Voit myös merkitä kaikki saapuvat sähköpostit tietyn - Tracks-käyttäjän toimenpiteiksi. Muuta site.yml-tiedoston asetusta email_dispatch arvoon - %{single_user_value} ja välitä käyttäjän tunnus putkituskomennossa: %{code}' + Tracks-käyttäjän toimenpiteiksi. Muuta site.yml-tiedoston asetusta email_dispatch + arvoon %{single_user_value} ja välitä käyttäjän tunnus putkituskomennossa: + %{code}' configuration: Sinun täytyy ehkä muuttaa asetus %{site_yml}-tiedostossa, jotta viestiväylä osaa käyttää %{to_name}-kenttää tai %{from_name}-kenttää löytääkseen sähköpostia vastaavan Tracks-käyttäjän. @@ -1330,12 +1330,10 @@ fi: multi_page_html: Näytetään %{model} %{from} - %{to} yhteensä %{count} tietueesta single_page: - one: Näytetään 1 %{model} - other: Näytetään kaikki %{count} %{model} - zero: '%{model} ei löytynyt' + one: '%{model} ei löytynyt' + other: Näytetään 1 %{model} single_page_html: - one: Näytetään 1 %{model} - other: Näytetään kaikki %{count} %{model} - zero: '%{model} ei löytynyt' + one: '%{model} ei löytynyt' + other: Näytetään 1 %{model} page_gap: "…" previous_label: "← Edellinen" From 739bb7a331e4751f9432efba134fac468e1a3c3f Mon Sep 17 00:00:00 2001 From: Jyri-Petteri Paloposki Date: Sun, 10 Jan 2021 23:48:44 +0000 Subject: [PATCH 02/14] Translated using Weblate (English) Currently translated at 99.3% (1063 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/en/ --- config/locales/en.yml | 134 ++++++++++++++++++++++++++---------------- 1 file changed, 84 insertions(+), 50 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index 5f84d4b3..023bfc74 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -95,9 +95,8 @@ en: action: Action actions: Actions actions_midsentence: - one: action - other: actions - zero: actions + one: actions + other: action add: Add ajaxError: There was an error retrieving from server back: Back @@ -109,9 +108,8 @@ en: contribute: Contribute create: Create days_midsentence: - one: day - other: days - zero: days + one: days + other: day deferred: deferred description: Description drag_handle: DRAG @@ -130,9 +128,8 @@ en: none: None not_available_abbr: n/a note: - one: 1 note - other: "%{count} notes" - zero: no notes + one: no notes + other: 1 note notes: Notes numbered_step: Step %{number} ok: Ok @@ -204,7 +201,8 @@ en: some: Some errors occurred during import file_blank: File can't be blank invalid_csv: "Invalid CSV: could not read headers: %{e}" - save_error: "Could not save uploaded CSV (%{path_and_file}). Can Tracks write to the upload directory? %{e}" + save_error: "Could not save uploaded CSV (%{path_and_file}). Can Tracks write\ + \ to the upload directory? %{e}" map_title: Map fields to be imported header: Importing data submit: Import @@ -215,21 +213,29 @@ en: projects_count: "%{count} Projects imported" todos_count: "%{count} Todos imported" yaml_disabled: "YAML loading is disabled" - yaml_warning: "%{warning}: all your current data will be destroyed before importing the YAML file, so if you have access to the database, we strongly recommend backing up the database right now in case that anything goes wrong." - paste_field: "Paste the contents of the YAML file you exported into the text box below:" + yaml_warning: "%{warning}: all your current data will be destroyed before importing\ + \ the YAML file, so if you have access to the database, we strongly recommend\ + \ backing up the database right now in case that anything goes wrong." + paste_field: "Paste the contents of the YAML file you exported into the text\ + \ box below:" warning: Beware export: page_title: Tracks::Export title: Exporting data format_header: "You can choose between the following formats:" yaml_description: "%{yaml}: Best for exporting data." - yaml_link_description: YAML file containing all your actions, contexts, projects, tags and notes - yaml_experimental: "Please note that importing YAML files is currently supported only in experimentally. Do not rely on it for backing up critical data." - csv_description: "%{csv}: Best for importing into spreadsheet or data analysis software" - csv_actions_description: CSV file containing all of your actions, with named contexts and projects + yaml_link_description: YAML file containing all your actions, contexts, projects, + tags and notes + yaml_experimental: "Please note that importing YAML files is currently supported\ + \ only in experimentally. Do not rely on it for backing up critical data." + csv_description: "%{csv}: Best for importing into spreadsheet or data analysis\ + \ software" + csv_actions_description: CSV file containing all of your actions, with named + contexts and projects csv_notes_description: CSV file containing all your notes xml_description: "%{xml}: Best for importing or repurposing the data" - xml_link_description: XML file containing all your actions, contexts, projects, tags and notes + xml_link_description: XML file containing all your actions, contexts, projects, + tags and notes download_link: Download link yaml_link_title: YAML file csv_actions_title: CSV file (actions, contexts and projects) @@ -310,13 +316,11 @@ en: other: almost %{count} years half_a_minute: half a minute less_than_x_minutes: - one: less than a minute - other: less than %{count} minutes - zero: less than 1 minute + one: less than 1 minute + other: less than a minute less_than_x_seconds: one: less than 1 second - other: less than %{count} seconds - zero: less than 1 second + other: less than 1 second over_x_years: one: over 1 year other: over %{count} years @@ -407,52 +411,81 @@ en: integrations: sections: automatic_email: Automatically Email Yourself Upcoming Actions - message_gateway: Integrate Tracks with an email server to be able to send an action through email to Tracks + message_gateway: Integrate Tracks with an email server to be able to send an + action through email to Tracks mailgun: Send emails to Tracks with Mailgun email_rich: Rich Todo Message email format opensearch_description: Search in Tracks title: Integrations - intro: "Tracks can be integrated with a number of other tools... whatever it takes to help you get things done! This page has information on setting up some of these. Not all of these are applicable to all platforms, and some require more technical knowledge than others. See also %{documentation_link}" + intro: "Tracks can be integrated with a number of other tools… whatever it takes\ + \ to help you get things done! This page has information on setting up some\ + \ of these. Not all of these are applicable to all platforms, and some require\ + \ more technical knowledge than others. See also %{documentation_link}" developer_documentation_link: developer documentation for Tracks contents_header: "Contents:" - add_your_own: Do you have one of your own to add? %{tell_us_link} and we may include it on this page in a future versions of Tracks. + add_your_own: Do you have one of your own to add? %{tell_us_link} and we may include + it on this page in a future versions of Tracks. tell_us_link_text: Tell us about it in our issue queue - cron_1: If you enter the following entry to your crontab, you will receive email every day around 5 AM with a list of the upcoming actions which are due within the next 7 days. - cron_2: You can of course use other text %{feeds_link} – why not email a list of next actions in a particular project to a group of colleagues who are working on the project? + cron_1: If you enter the following entry to your crontab, you will receive email + every day around 5 AM with a list of the upcoming actions which are due within + the next 7 days. + cron_2: You can of course use other text %{feeds_link} – why not email a list + of next actions in a particular project to a group of colleagues who are working + on the project? cron_email_subject: Tracks actions due in the next 7 days feeds_link_text: feeds provided by Tracks message_gateway: - description: 'If Tracks is running on the same server as your mail server, you can use the integrated mail handler built into Tracks. Steps to set it up:' - rich_api_tip: 'You can also use the Rich Todo API to send in tasks like "do laundry @ Home" or "Call Bill > project X". The subject of the message will fill description, context, and project, while the body will populate the tasks''s note.' - configuration: "You may need to configure your %{site_yml} to tell the message gateway to look at the %{to_name} field or %{from_name} field to lookup Tracks' user from the email address in that field." - one_user_configuration: "You can also send all email to a specific Tracks user. Configure mail_dispatch in site.yml to %{single_user_value} and pass the login of the user in the pipe command: %{code}" + description: 'If Tracks is running on the same server as your mail server, you + can use the integrated mail handler built into Tracks. Steps to set it up:' + rich_api_tip: 'You can also use the Rich Todo API to send in tasks like "do + laundry @ Home" or "Call Bill > project X". The subject of the message will + fill description, context, and project, while the body will populate the tasks''s + note.' + configuration: "You may need to configure your %{site_yml} to tell the message\ + \ gateway to look at the %{to_name} field or %{from_name} field to lookup\ + \ Tracks' user from the email address in that field." + one_user_configuration: "You can also send all email to a specific Tracks user.\ + \ Configure mail_dispatch in site.yml to %{single_user_value} and pass the\ + \ login of the user in the pipe command: %{code}" instructions: - '1': 'Go to %{preferences_link} and set your "%{sms_email_name}" and "%{sms_context_name}" for todos sent in via email (which could come from an SMS message)' - '2': In sendmail/qmail/postfix/whatever, set up an email address alias to pipe messages to %{command} + '1': 'Go to %{preferences_link} and set your "%{sms_email_name}" and "%{sms_context_name}" + for todos sent in via email (which could come from an SMS message)' + '2': In sendmail/qmail/postfix/whatever, set up an email address alias to + pipe messages to %{command} '3': Send an email to your newly configured address! mailgun: - description: If you want to email tasks to Tracks, but cannot run a mailserver on the same host, you could use the %{mailgun_link} support built in to Tracks. - conditions: For this to work your Tracks server will need to be reachable from the internet, so that Mailgun can POST data to it. - gateway_instructions: All the comments about the email format from the section above apply to the Mailgun handling, as the data is processed the same way + description: If you want to email tasks to Tracks, but cannot run a mailserver + on the same host, you could use the %{mailgun_link} support built in to Tracks. + conditions: For this to work your Tracks server will need to be reachable from + the internet, so that Mailgun can POST data to it. + gateway_instructions: All the comments about the email format from the section + above apply to the Mailgun handling, as the data is processed the same way instructions: '1': Go to %{mailgun_link} and register for a free account. '2': "Go to 'Routes' in the Mailgun control panel, and add a new route:" 2a: "'Filter expression' should be set to 'catch_all()'" - 2b: "'Action' should be 'forward(\"http://mytracksserver.example.com/mailgun/mime\")'" - '3': 'Go to %{preferences_link} and enter your incoming Mailgun email address (e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.' + 2b: "'Action' should be 'forward(\"http://mytracksserver.example.com/mailgun/mime\"\ + )'" + '3': 'Go to %{preferences_link} and enter your incoming Mailgun email address + (e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.' '4': 'Select a default context for emails to be put in with "%{sms_context_name}"' '5': "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'" - '6': "Update the mailmap in 'site.yml' to define which senders can send emails to which incoming addresses. For example, to send emails from your work and home email accounts to your Tracks Mailgun route, set it up like this: %{code}" + '6': "Update the mailmap in 'site.yml' to define which senders can send emails\ + \ to which incoming addresses. For example, to send emails from your work\ + \ and home email accounts to your Tracks Mailgun route, set it up like this:\ + \ %{code}" email_rich: description: "For both of the above methods, the follow format can be used:" fields_title: "The fields are:" symbol_title: Symbol meaning_title: Meaning - fields_instruction: All symbols are optional, and text up to the first symbol (or end of string) is used as the description of the todo + fields_instruction: All symbols are optional, and text up to the first symbol + (or end of string) is used as the description of the todo field_descriptions: context: The context to place the Todo in project: The project to place the Todo in - due_date: The due date for the Todo (may be 2 digits for day, 4 digits for month-day, or 6 digits for year-month-day) + due_date: The due date for the Todo (may be 2 digits for day, 4 digits for + month-day, or 6 digits for year-month-day) tag: A tag to apply to the Todo – may be used multiple times star: Flag to star the Todo example_names: @@ -464,11 +497,14 @@ en: '2': tag2 help: title: Help - usage: 'You can find information on the usage in the %{manual_link} in the project GitHub wiki.' + usage: 'You can find information on the usage in the %{manual_link} in the project + GitHub wiki.' manual_link_text: User manual - bugs: 'If you encounter a bug or have a feature request, please report it in the %{issue_link}.' + bugs: 'If you encounter a bug or have a feature request, please report it in the + %{issue_link}.' issue_link_text: issue queue - contribute: 'We gladly welcome all contributions to Tracks. Check the %{contribute_link} for further information. You can also come discuss with the community:' + contribute: 'We gladly welcome all contributions to Tracks. Check the %{contribute_link} + for further information. You can also come discuss with the community:' contribute_link_text: project website mailing_list_link_text: Mailing list irc_bullet: '%{irc_link} (also available in %{matrix_link})' @@ -1283,12 +1319,10 @@ en: multi_page_html: Displaying %{model} %{from} - %{to} of %{count} in total single_page: - one: Displaying 1 %{model} - other: Displaying all %{count} %{model} - zero: No %{model} found + one: No %{model} found + other: Displaying 1 %{model} single_page_html: - one: Displaying 1 %{model} - other: Displaying all %{count} %{model} - zero: No %{model} found + one: No %{model} found + other: Displaying 1 %{model} page_gap: "…" previous_label: "← Previous" From a7b1499e6de9df865e1045862b51ddd168e5551d Mon Sep 17 00:00:00 2001 From: Jyri-Petteri Paloposki Date: Sun, 10 Jan 2021 23:48:16 +0000 Subject: [PATCH 03/14] Translated using Weblate (Finnish) Currently translated at 99.9% (1069 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/fi/ --- config/locales/fi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 3415f5e8..bab78b4a 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -1043,7 +1043,7 @@ fi: completed_today: Valmistunut tänään confirm_delete: Oletko varma että haluat poistaa toimenpiteen ”%{description}”? context_changed: Asiayhteys vaihdettu %{name} - convert_to_project: Tee projekti + convert_to_project: Muuta projektiksi defer_date_after_due_date: Lykkäyspäivä on määräpäivän jälkeen. Muuta määräpäivää ennen lykkäämistä. defer_x_days: From 9d8f5834d6d5de38e6ca7205e85f1b9ed4386a5b Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Sun, 17 Jan 2021 01:38:00 +0000 Subject: [PATCH 04/14] Translated using Weblate (German) Currently translated at 96.9% (1037 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/de/ --- config/locales/de.yml | 171 ++++++++++++++++++++++++++---------------- 1 file changed, 105 insertions(+), 66 deletions(-) diff --git a/config/locales/de.yml b/config/locales/de.yml index 3e64e261..90e429bc 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -25,6 +25,7 @@ de: title_date_format: Titel Datumsformat verbose_action_descriptors: Ausführliche Aufgabenbeschreibungen week_starts: Woche startet am + theme: Aussehen project: default_context_name: Standard Kontext default_tags: Standard Tags @@ -48,6 +49,8 @@ de: login: Login open_id_url: OpenID URL password: Password + last_login_at: Letzter Login am + created_at: Erstellt am errors: full_messages: format: "%{attribute} %{message}" @@ -91,9 +94,8 @@ de: action: Aufgabe actions: Aufgaben actions_midsentence: - one: Aufgaben - other: Aufgabe - zero: Aufgabe + one: Aufgabe + other: Aufgaben add: Hinzufügen ajaxError: Fehler beim Empfangen vom Server back: Zurück @@ -105,9 +107,8 @@ de: contribute: Mitwirken create: Erstellen days_midsentence: - one: Tag - other: Tagen - zero: Tagen + one: Tagen + other: Tag deferred: aufgeschobene description: Beschreibung drag_handle: Verschieben @@ -126,9 +127,8 @@ de: none: Keine not_available_abbr: n/b note: - one: 1 Notiz - other: "%{count} Notizen" - zero: keine Notizen + one: keine Notizen + other: 1 Notiz notes: Notizen numbered_step: Schritt %{number} ok: Ok @@ -169,7 +169,7 @@ de: context_state: Context state delete_context: Kontext löschen delete_context_confirmation: Soll der Kontext '%{name}' wirklich gelöscht werden? - Alle (wiederkehrenden) Aufgaben dieses Kontexts werden hierdurch ebenfalls gelöscht. + Alle (wiederkehrenden) Aufgaben dieses Kontexts werden hierdurch ebenfalls gelöscht! delete_context_title: Kontext löschen edit_context: Kontext bearbeiten hidden_contexts: Versteckte Kontexte @@ -196,10 +196,11 @@ de: import: errors: invalid_destination: "Invalid import destination: %{e}" - some: Beim Import sind Fehler aufgetreten. + some: Beim Import sind Fehler aufgetreten file_blank: File can't be blank invalid_csv: "Invalid CSV: could not read headers: %{e}" - save_error: "Could not save uploaded CSV (%{path_and_file}). Can Tracks write to the upload directory? %{e}" + save_error: "Could not save uploaded CSV (%{path_and_file}). Can Tracks write\ + \ to the upload directory? %{e}" map_title: Map fields to be imported header: Importing data submit: Importieren @@ -210,21 +211,30 @@ de: projects_count: "%{count} Projects imported" todos_count: "%{count} Todos imported" yaml_disabled: "YAML loading is disabled" - yaml_warning: "%{warning}: vor dem Import der YAML Datei werden alle Daten in Ihrer Datenbank gelöscht. Falls Sie entsprechenden Zugriff auf Ihre Datenbank haben, empfiehlt es sich, ein Backup anzulegen, bevor Sie fortfahren." - paste_field: "Fügen Sie den Inhalt der kopierten YAML Datei in das untenstehende Formular ein:" + yaml_warning: "%{warning}: vor dem Import der YAML Datei werden alle Daten in\ + \ Ihrer Datenbank gelöscht. Falls Sie entsprechenden Zugriff auf Ihre Datenbank\ + \ haben, empfiehlt es sich, ein Backup anzulegen, bevor Sie fortfahren." + paste_field: "Fügen Sie den Inhalt der kopierten YAML Datei in das untenstehende\ + \ Formular ein:" warning: Vorsicht export: page_title: Tracks::Export title: Daten exportieren format_header: "Sie können zwischen den folgenden Formaten wählen:" yaml_description: "%{yaml}: Für den Daten-Import bevorzugt." - yaml_link_description: YAML-Datei mit all Ihren Aktionen, Umgebungen, Projekten, Tags und Notizen - yaml_experimental: "Bitte beachten Sie, dass der YAML-Import zur Zeit noch experimentelle Funktionalität darstellt. Nutzen Sie diese Option also nicht. um kritische Daten zu sichern." - csv_description: "%{csv}: Am besten für den Export in eine Tabellen-Kalkulation oder ähnliche Auswertungs-Software geeignet" - csv_actions_description: CSV-Datei mit all Ihren Aktionen, benannten Umgebungen und Projekten + yaml_link_description: YAML-Datei mit all Ihren Aktionen, Umgebungen, Projekten, + Tags und Notizen + yaml_experimental: "Bitte beachten Sie, dass der YAML-Import zur Zeit noch experimentelle\ + \ Funktionalität darstellt. Nutzen Sie diese Option also nicht. um kritische\ + \ Daten zu sichern." + csv_description: "%{csv}: Am besten für den Export in eine Tabellen-Kalkulation\ + \ oder ähnliche Auswertungs-Software geeignet" + csv_actions_description: CSV-Datei mit all Ihren Aktionen, benannten Umgebungen + und Projekten csv_notes_description: CSV-Datei mit all Ihren Notizen xml_description: "%{xml}: Am besten für den Daten-Import oder automatische Weiterverarbeitung" - xml_link_description: XML-Datei mit all Ihren Aktionen, Umgebungen, Projekten, Tags und Notizen + xml_link_description: XML-Datei mit all Ihren Aktionen, Umgebungen, Projekten, + Tags und Notizen download_link: Download link yaml_link_title: YAML Datei csv_actions_title: CSV Dile (Aktionen, Umgebungen und Projekte) @@ -305,13 +315,11 @@ de: other: fast %{count} Jahre half_a_minute: eine halbe Minute less_than_x_minutes: - one: weniger als eine Minute - other: weniger als %{count} Minuten - zero: weniger als 1 Minute + one: weniger als 1 Minute + other: weniger als eine Minute less_than_x_seconds: one: weniger als 1 Sekunde - other: weniger als %{count} Sekunden - zero: weniger als 1 Sekunde + other: weniger als 1 Sekunde over_x_years: one: mehr als 1 Jahr other: mehr als %{count} Jahre @@ -337,11 +345,11 @@ de: errors: format: "%{attribute} %{message}" messages: - accepted: должен быть подтвержден - blank: должна быть заполнена - confirmation: не соответствует %{attribute} - empty: не может быть пустым - equal_to: должно равняться %{count} + accepted: muss akzeptiert werden + blank: kann nicht leer sein + confirmation: stimmt nicht überein mit %{attribute} + empty: kann nicht leer sein + equal_to: muss %{count} sein even: должно быть четным exclusion: зарезервированно greater_than: должно быть больше %{count} @@ -400,52 +408,82 @@ de: integrations: sections: automatic_email: Anstehende Aufgaben automatisch sich via E-Mail zusenden lassen - message_gateway: Tracks mit einem Mail-Server integrieren, um Aufgaben via E-Mail zu erstellen + message_gateway: Tracks mit einem Mail-Server integrieren, um Aufgaben via E-Mail + zu erstellen mailgun: Send emails to Tracks with Mailgun email_rich: Rich Todo Message email format opensearch_description: In Tracks suchen title: Integration - intro: "Tracks kann mit verschiedenen Werkzeugen zusammenarbeiten... was immer Sie brauchen, um Ihre Aufgaben zu erledigen! Auf dieser Seite finden Sie Informationen, um einige dieser Werkzeuge einzurichten. Diese Beispiele sind nicht unbedingt auf Ihre Umgebung anwendbar oder bedürfen mehr technisches Wissen als andere. Weitere Informationen finden Sie in der %{documentation_link} (englisch)." + intro: "Tracks kann mit verschiedenen Werkzeugen zusammenarbeiten... was immer\ + \ Sie brauchen, um Ihre Aufgaben zu erledigen! Auf dieser Seite finden Sie Informationen,\ + \ um einige dieser Werkzeuge einzurichten. Diese Beispiele sind nicht unbedingt\ + \ auf Ihre Umgebung anwendbar oder bedürfen mehr technisches Wissen als andere.\ + \ Weitere Informationen finden Sie in der %{documentation_link} (englisch)." developer_documentation_link: "Entwickler Documentation der Tracks' REST API" contents_header: "Inhalt:" - add_your_own: Sie haben weitere Beispiele? %{tell_us_link}, damit wir es für die nächsten Versionen berücksichtigen können. + add_your_own: Sie haben weitere Beispiele? %{tell_us_link}, damit wir es für die + nächsten Versionen berücksichtigen können. tell_us_link_text: Berichten Sie uns in unserem issue queue - cron_1: If you enter the following entry to your crontab, you will receive email every day around 5 AM with a list of the upcoming actions which are due within the next 7 days. - cron_2: You can of course use other text %{feeds_link} – why not email a list of next actions in a particular project to a group of colleagues who are working on the project? + cron_1: If you enter the following entry to your crontab, you will receive email + every day around 5 AM with a list of the upcoming actions which are due within + the next 7 days. + cron_2: You can of course use other text %{feeds_link} – why not email a list + of next actions in a particular project to a group of colleagues who are working + on the project? cron_email_subject: Tracks actions due in the next 7 days feeds_link_text: feeds provided by Tracks message_gateway: - description: 'If Tracks is running on the same server as your mail server, you can use the integrated mail handler built into tracks. Steps to set it up:' - rich_api_tip: 'You can also use the Rich Todo API to send in tasks like "do laundry @ Home" or "Call Bill > project X". The subject of the message will fill description, context, and project, while the body will populate the tasks''s note.' - configuration: "You may need to configure your %{site_yml} to tell the message gateway to look at the %{to_name} field or %{from_name} field to lookup Tracks' user from the email address in that field." - one_user_configuration: "You can also send all email to a specific Tracks user. Configure mail_dispatch in site.yml to %{single_user_value} and pass the login of the user in the pipe command: %{code}" + description: 'If Tracks is running on the same server as your mail server, you + can use the integrated mail handler built into tracks. Steps to set it up:' + rich_api_tip: 'You can also use the Rich Todo API to send in tasks like "do + laundry @ Home" or "Call Bill > project X". The subject of the message will + fill description, context, and project, while the body will populate the tasks''s + note.' + configuration: "You may need to configure your %{site_yml} to tell the message\ + \ gateway to look at the %{to_name} field or %{from_name} field to lookup\ + \ Tracks' user from the email address in that field." + one_user_configuration: "You can also send all email to a specific Tracks user.\ + \ Configure mail_dispatch in site.yml to %{single_user_value} and pass the\ + \ login of the user in the pipe command: %{code}" instructions: - '1': 'Go to %{preferences_link} and set your "%{sms_email_name}" and "%{sms_context_name}" for todos sent in via email (which could come from an SMS message)' - '2': In sendmail/qmail/postfix/whatever, set up an email address alias to pipe messages to %{command} + '1': 'Go to %{preferences_link} and set your "%{sms_email_name}" and "%{sms_context_name}" + for todos sent in via email (which could come from an SMS message)' + '2': In sendmail/qmail/postfix/whatever, set up an email address alias to + pipe messages to %{command} '3': Send an email to your newly configured address! mailgun: - description: If you want to email tasks to Tracks, but cannot run a mailserver on the same host, you could use the %{mailgun_link} support built in to Tracks. - conditions: For this to work your Tracks server will need to be reachable from the internet, so that Mailgun can POST data to it. - gateway_instructions: All the comments about the email format from the section above apply to the Mailgun handling, as the data is processed the same way + description: If you want to email tasks to Tracks, but cannot run a mailserver + on the same host, you could use the %{mailgun_link} support built in to Tracks. + conditions: For this to work your Tracks server will need to be reachable from + the internet, so that Mailgun can POST data to it. + gateway_instructions: All the comments about the email format from the section + above apply to the Mailgun handling, as the data is processed the same way instructions: '1': Go to %{mailgun_link} and register for a free account. '2': "Go to 'Routes' in the Mailgun control panel, and add a new route:" '2a': "'Filter expression' should be set to 'catch_all()'" - '2b': "'Action' should be 'forward(\"http://mytracksserver.example.com/mailgun/mime\")'" - '3': 'Go to %{preferences_link} and enter your incoming Mailgun email address (e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.' + '2b': "'Action' should be 'forward(\"http://mytracksserver.example.com/mailgun/mime\"\ + )'" + '3': 'Go to %{preferences_link} and enter your incoming Mailgun email address + (e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.' '4': 'Select a default context for emails to be put in with "%{sms_context_name"' '5': "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'" - '6': "Update the mailmap in 'site.yml' to define which senders can send emails to which incoming addresses. For example, to send emails from your work and home email accounts to your tracks Mailgun route, set it up like this: %{code}" + '6': "Update the mailmap in 'site.yml' to define which senders can send emails\ + \ to which incoming addresses. For example, to send emails from your work\ + \ and home email accounts to your tracks Mailgun route, set it up like this:\ + \ %{code}" email_rich: description: "For both of the above methods, the follow format can be used:" fields_title: "The fields are:" symbol_title: Symbol meaning_title: Meaning - fields_instruction: All symbols are optional, and text up to the first symbol (or end of string) is used as the description of the todo + fields_instruction: All symbols are optional, and text up to the first symbol + (or end of string) is used as the description of the todo field_descriptions: context: The context to place the Todo in project: The project to place the Todo in - due_date: The due date for the Todo (may be 2 digits for day, 4 digits for month-day, or 6 digits for year-month-day) + due_date: The due date for the Todo (may be 2 digits for day, 4 digits for + month-day, or 6 digits for year-month-day) tag: A tag to apply to the Todo – may be used multiple times star: Flag to star the Todo example_names: @@ -457,11 +495,14 @@ de: '2': tag2 help: title: Help - usage: 'You can find information on the usage in the %{manual_link} in the project GitHub wiki.' + usage: 'You can find information on the usage in the %{manual_link} in the project + GitHub wiki.' manual_link_text: User manual - bugs: 'If you encounter a bug or have a feature request, please report it in the %{issue_link}.' + bugs: 'If you encounter a bug or have a feature request, please report it in the + %{issue_link}.' issue_link_text: issue queue - contribute: 'We gladly welcome all contributions to Tracks. Check the %{contribute_link} for further information. You can also come discuss with the community:' + contribute: 'We gladly welcome all contributions to Tracks. Check the %{contribute_link} + for further information. You can also come discuss with the community:' contribute_link_text: project website mailing_list_link_text: Mailing list irc_bullet: '%{irc_link} (also available in %{matrix_link})' @@ -585,7 +626,7 @@ de: delete_note_title: Notiz '%{id}' löschen deleted_note: Notiz '%{id}' löschen edit_item_title: Eintrag bearbeiten - in_project: 'In:' + in_project: 'In: ' no_notes_available: Derzeit gibt es keine Notizen. Füge Notizen auf der jeweiligen Projektseite hinzu. note_header: Notiz %{id} @@ -654,7 +695,7 @@ de: alte Token verwendet. is_false: Nein is_true: Ja - open_id_url: 'Deine OpenID-URL lautet:' + open_id_url: 'Deine OpenID-URL lautet' page_title: TRACKS::Einstellungen page_title_edit: TRACKS::Einstellungen ändern password_changed: Ihr Passwort geändert wurde, melden Sie sich bitte wieder an. @@ -715,7 +756,7 @@ de: page_title: 'TRACKS::Projekt: %{project}' project_destroyed_status: Projekt „%{name}“ gelöscht project_saved_status: Projekt gespeichert - project_state: Projekt ist %{state} + project_state: Projekt ist %{state}. set_default_tags_notice: Standard-Tags des Projekts auf %{default_tags} setzen settings: Einstellungen show_form: Projekt erstellen @@ -816,7 +857,7 @@ de: day_of_week: Tag der Woche number_of_actions: Anzahl der Aufgaben actions_dow_30days_title: Wochentag (letzte 30 Tage) - actions_further: und danach + actions_further: ' und danach' actions_last_year: Aufgaben im letzten Jahr actions_last_year_legend: months_ago: Monate zuvor @@ -825,7 +866,7 @@ de: actions_min_completion_time: Die minimale Zeit beträgt %{time}. actions_min_max_completion_days: Das Minimum/Maximum in Tagen zur Erledigung ist %{min}/%{max}. - actions_selected_from_week: Aufgaben ausgewählt ab Woche + actions_selected_from_week: 'Aufgaben ausgewählt ab Woche ' click_to_return: Klick auf %{link} um zur Statistikseite zurückzukehren. click_to_return_link: hier click_to_show_actions_from_week: Klick auf %{link} um die Aufgaben von Woche %{week} @@ -915,9 +956,9 @@ de: within_one: Innerhalb von 1 support: array: - last_word_connector: und - two_words_connector: und - words_connector: "," + last_word_connector: ', und ' + two_words_connector: ' und ' + words_connector: ", " select: prompt: Bitte wählen Sie time: @@ -1142,7 +1183,7 @@ de: every_n: jeden %{n} every_n_days: every %{n} days every_n_months: every %{n} months - every_xth_day_of_every_n_months: jedes %{x} %{day} jedes %{n_months} ? + every_xth_day_of_every_n_months: jeder %{x} %{day} jedes %{n_months} every_year_on: jedes Jahr in %{date} first: erste fourth: vierte @@ -1286,12 +1327,10 @@ de: multi_page_html: Angezeigte %{model} %{from} - %{to} von %{count} insgesamt single_page: - one: Angezeigte 1 %{model} - other: Anzeige aller %{count} %{model} - zero: Kein %{model} gefunden + one: Kein %{model} gefunden + other: Angezeigte 1 %{model} single_page_html: - one: Angezeigte 1 %{model} - other: Anzeige aller %{count} %{model} - zero: Kein %{model} gefunden + one: Kein %{model} gefunden + other: Angezeigte 1 %{model} page_gap: "..." previous_label: "« Zurück" From cbb1fa1365de39167908a2744493901ea059a8fc Mon Sep 17 00:00:00 2001 From: Weblate Date: Tue, 19 Jan 2021 10:34:13 +0100 Subject: [PATCH 05/14] Added translation using Weblate (Turkish) --- config/locales/tr.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/tr.yml diff --git a/config/locales/tr.yml b/config/locales/tr.yml new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/config/locales/tr.yml @@ -0,0 +1 @@ +{} From 3985c5e4c4e1e6c3dc28834a65fd6582cea321b8 Mon Sep 17 00:00:00 2001 From: Artem Date: Thu, 4 Feb 2021 21:55:24 +0000 Subject: [PATCH 06/14] Translated using Weblate (Russian) Currently translated at 89.0% (953 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/ru/ --- config/locales/ru.yml | 294 +++++++++++++++++++++++++----------------- 1 file changed, 179 insertions(+), 115 deletions(-) diff --git a/config/locales/ru.yml b/config/locales/ru.yml index e2620ce3..944a9fed 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -1,4 +1,3 @@ ---- ru: activerecord: attributes: @@ -14,7 +13,8 @@ ru: mobile_todos_per_page: Действий на страницу (мобильная версия) refresh: период обновления (в минутах) review_period: Период обзора проектов - show_completed_projects_in_sidebar: Отображать выполненные проекты в боковой панели + show_completed_projects_in_sidebar: Отображать выполненные проекты в боковой + панели show_hidden_contexts_in_sidebar: Отображать скрытые контексты в боковой панели show_hidden_projects_in_sidebar: Отображать скрытые проекты в боковой панели show_number_completed: Показывать количество выполненных действий @@ -26,6 +26,7 @@ ru: title_date_format: Формат даты в заголовке verbose_action_descriptors: Подробные описания действий week_starts: Неделя начинается с + theme: Тема project: default_context_name: Контекст по-умолчанию default_tags: Метки по-умолчанию @@ -43,12 +44,14 @@ ru: user: auth_type: Тип авторизации display_name: Отображаемое имя - email: Email address + email: Адрес электронной почты first_name: Имя last_name: Фамилия login: Пользователь open_id_url: Open ID идентификатор password: Пароль + last_login_at: Последний вход с + created_at: Создано в errors: full_messages: format: "%{attribute} %{message}" @@ -70,8 +73,9 @@ ru: odd: должно быть нечетным record_invalid: 'Проверка не пройдена: %{errors}' restrict_dependent_destroy: - many: Невозможно удалить запись, так как есть %{record} зависящие от нее one: Невозможно удалить запись, так как есть %{record} зависящая от нее + few: Невозможно удалить запись, так как есть %{record} зависящие от нее + many: '' taken: уже занято too_long: слишком длинное (максимум %{count} символов) too_short: слишком короткое (минимум %{count} символов) @@ -87,15 +91,15 @@ ru: body: 'Возникли проблемы при обработке полей:' header: one: 1 ошибка мешает сохранению %{model} - other: "%{count} ошибок мешают сохранению %{model}" + few: '%{count} ошибок мешают сохранению %{model}' + many: '' common: action: Действие actions: Действия actions_midsentence: - few: действия - one: действие - other: действий - zero: действий + one: действий + few: действие + many: действия add: Добавить ajaxError: От сервера была получена ошибка back: Назад @@ -107,10 +111,9 @@ ru: contribute: Сотрудничество create: Создать days_midsentence: - few: дня - one: день - other: дней - zero: дней + one: дней + few: день + many: дня deferred: отложенные description: Описание drag_handle: ТАЩИТЬ @@ -129,10 +132,9 @@ ru: none: Не задано not_available_abbr: н/д note: - few: "%{count} записи" - one: 1 запись - other: "%{count} записей" - zero: нет записей + one: нет записей + few: 1 запись + many: '%{count} записи' notes: Заметки numbered_step: Шаг %{number} ok: ОК @@ -148,11 +150,13 @@ ru: show_all: Показать все sort: alphabetically: По алфавиту - alphabetically_confirm: Вы уверены, что хотите сортировать проекты по алфавиту? Это изменит текущий порядок сортировки. + alphabetically_confirm: Вы уверены, что хотите сортировать проекты по алфавиту? + Это изменит текущий порядок сортировки. alphabetically_title: Сортировать проекты по алфавиту by_task_count: По количеству задач by_task_count_title: Сортировать по количеству задач - by_task_count_title_confirm: Вы уверены, что хотите сортировать проекты по количеству задач? Это изменит текущий порядок сортировки. + by_task_count_title_confirm: Вы уверены, что хотите сортировать проекты по количеству + задач? Это изменит текущий порядок сортировки. sort: Сортировать third: Третий todo: Задача @@ -170,7 +174,8 @@ ru: context_name: Имя контекста context_state: Состояние контекста delete_context: Удалить контекст - delete_context_confirmation: Вы уверены, что хотите удалить контекст '%{name}'? Это удалит также все действия (дублирующиеся) в этом контексте! + delete_context_confirmation: Вы уверены, что хотите удалить контекст '%{name}'? + Это удалит также все действия (дублирующиеся) в этом контексте! delete_context_title: Удалить контекст edit_context: Изменить контекст hidden_contexts: Скрытые контексты @@ -198,6 +203,15 @@ ru: import_errors: При импорте произошли ошибки import_successful: Импорт завершен. invalid_import_destination: Invalid import destination + import: + upload: Отправить + target_field: 'Импортировать в:' + successful: Импорт прошел успешно. + submit: Импорт + header: Импорт данных + errors: + file_blank: Файл не может быть пустым + some: Во время импорта возникли ошибки date: abbr_day_names: - Вс @@ -257,52 +271,50 @@ ru: datetime: distance_in_words: about_x_hours: - few: около %{count} часов one: около 1 часа - other: около %{count} часов + few: около %{count} часов + many: около %{count} часов about_x_months: - few: около %{count} месяцев one: около 1 месяца - other: около %{count} месяцев + few: около %{count} месяцев + many: около %{count} месяцев about_x_years: - few: около %{count} лет one: около 1 года - other: около %{count} лет + few: около %{count} лет + many: около %{count} лет almost_x_years: - few: почти %{count} года one: почти 1 год - other: почти %{count} лет + few: почти %{count} года + many: почти %{count} лет half_a_minute: пол минуты less_than_x_minutes: - few: меньше %{count} минут one: меньше минуты - other: меньше %{count} минут - zero: меньше минуты + few: меньше минуты + many: меньше %{count} минут less_than_x_seconds: - few: меньше %{count} секунд one: меньше 1 секунды - other: меньше %{count} секунд - zero: меньше 1 секунды + few: меньше 1 секунды + many: меньше %{count} секунд over_x_years: - few: более %{count} лет one: белее 1 года - other: более %{count} лет + few: более %{count} лет + many: более %{count} лет x_days: - few: "%{count} дня" one: 1 день - other: "%{count} дней" + few: '%{count} дня' + many: '%{count} дней' x_minutes: - few: "%{count} минуты" one: 1 минута - other: "%{count} минут" + few: '%{count} минуты' + many: '%{count} минут' x_months: - few: "%{count} месяца" one: 1 месяц - other: "%{count} месяцев" + few: '%{count} месяца' + many: '%{count} месяцев' x_seconds: - few: "%{count} секунды" one: 1 секунда - other: "%{count} секунд" + few: '%{count} секунды' + many: '%{count} секунд' prompts: day: День hour: Час @@ -335,7 +347,8 @@ ru: too_long: 'слишком длинное (максимум: %{count} символов)' too_short: 'слишком кроткое (минимум: %{count} символов)' wrong_length: неверной длины (должно быть %{count} символов) - user_unauthorized: '401 Неавторизован: Только Администраторы имеют доступ к этой функции.' + user_unauthorized: '401 Неавторизован: Только Администраторы имеют доступ к этой + функции.' feedlist: actions_completed_last_week: Действия завершенные за последние 7 дней actions_due_next_week: Действия за 7 дней или ранее @@ -348,14 +361,19 @@ ru: choose_context: Выберите контекст для ленты новостей choose_project: Выберите проект для ленты новостей context_centric_actions: Лента для незавершенных действий в определенном контексте - context_needed: Должен быть выбран хотя бы один контекст, чтобы можно было запросить ленту новостей + context_needed: Должен быть выбран хотя бы один контекст, чтобы можно было запросить + ленту новостей ical_feed: iCal-лента last_fixed_number: Последние %{number} действий legend: 'Легенда:' - notice_incomplete_only: 'Внимание: Все ленты отображают только действия, которые не помечены как выполеннные, и только незавершенные состояния. Данные iCal-ленты могут быть добавлены в список задач. Если вы хотите отображать сроки выполнения задач в календаре, используйте iCal-ленту на странице календаря.' + notice_incomplete_only: 'Внимание: Все ленты отображают только действия, которые + не помечены как выполеннные, и только незавершенные состояния. Данные iCal-ленты + могут быть добавлены в список задач. Если вы хотите отображать сроки выполнения + задач в календаре, используйте iCal-ленту на странице календаря.' plain_text_feed: Лента в текстовом формате project_centric: Лента для незавершенных действий в определенном проекте - project_needed: Должен быть выбран хотя бы один проект, чтобы можно было запросить ленту новостей + project_needed: Должен быть выбран хотя бы один проект, чтобы можно было запросить + ленту новостей projects_and_actions: Активные проекты и действия по ним rss_feed: RSS-лента select_feed_for_context: Выберите ленту новостей для этого контекста @@ -373,11 +391,14 @@ ru: opensearch_description: Искать в Tracks help: title: Help - usage: 'You can find information on the usage in the %{manual_link} in the project GitHub wiki.' + usage: 'You can find information on the usage in the %{manual_link} in the project + GitHub wiki.' manual_link_text: User manual - bugs: 'If you encounter a bug or have a feature request, please report it in the %{issue_link}.' + bugs: 'If you encounter a bug or have a feature request, please report it in the + %{issue_link}.' issue_link_text: issue queue - contribute: 'We gladly welcome all contributions to Tracks. Check the %{contribute_link} for further information. You can also come discuss with the community:' + contribute: 'We gladly welcome all contributions to Tracks. Check the %{contribute_link} + for further information. You can also come discuss with the community:' contribute_link_text: project website mailing_list_link_text: Mailing list irc_bullet: '%{irc_link} (also available in %{matrix_link})' @@ -459,7 +480,8 @@ ru: login_standard: вернуться к обычному входу login_with_openid: войти с помощью OpenID mobile_use_openid: "… или войдите при помощи OpenID" - openid_identity_url_not_found: Извините, пользователя с такой ссылкой URL не существует (%{identity_url}) + openid_identity_url_not_found: Извините, пользователя с такой ссылкой URL не существует + (%{identity_url}) option_separator: или, please_login: Пожалуйста авторизуйтесь, чтобы использовать Tracks session_time_out: Сессия истекла. Пожалуйста %{link} @@ -487,8 +509,10 @@ ru: todo: error_date_must_be_future: дата должна быть больше текущей user: - error_context_not_associated: Идентификатор контекста '%{context}' не соответствует идентификатору пользователя %{user}. - error_project_not_associated: Идентификатор проекта '%{project}' не соответствует идентификатору пользователя %{user}. + error_context_not_associated: Идентификатор контекста '%{context}' не соответствует + идентификатору пользователя %{user}. + error_project_not_associated: Идентификатор проекта '%{project}' не соответствует + идентификатору пользователя %{user}. notes: delete_confirmation: Уверены, что хотите удалить заметку '%{id}'? delete_item_title: Удалить элемент @@ -497,7 +521,8 @@ ru: deleted_note: Удалено '%{id}' edit_item_title: Редактировать элемент in_project: 'В:' - no_notes_available: 'На текущий момент заметок нет: добавьте заметки к проектам со страниц проектов.' + no_notes_available: 'На текущий момент заметок нет: добавьте заметки к проектам + со страниц проектов.' note_header: Заметка %{id} note_link_title: Показать заметку %{id} note_location_link: 'В:' @@ -508,17 +533,17 @@ ru: format: delimiter: "," format: "%u%n" - precision: 2 + precision: '2' separator: "." - significant: false - strip_insignificant_zeros: false + significant: 'False' + strip_insignificant_zeros: 'False' unit: "$" format: delimiter: "," - precision: 3 + precision: '3' separator: "." - significant: false - strip_insignificant_zeros: false + significant: 'False' + strip_insignificant_zeros: 'False' human: decimal_units: format: "%n %u" @@ -531,15 +556,16 @@ ru: unit: "." format: delimiter: '' - precision: 1 - significant: true - strip_insignificant_zeros: true + precision: '1' + significant: 'True' + strip_insignificant_zeros: 'True' storage_units: format: "%n %u" units: byte: one: байт - other: байт + few: байт + many: '' gb: Гб kb: Кб mb: Мб @@ -559,14 +585,17 @@ ru: current_authentication_type: Ваш тип авторизации %{auth_type} edit_preferences: Изменить настройки generate_new_token: Создать новый ключ - generate_new_token_confirm: Вы уверены? Создание нового ключа, заменит текущий и нарушит все внешние взаимодействия, которые использовали предыдущий ключ. + generate_new_token_confirm: Вы уверены? Создание нового ключа, заменит текущий + и нарушит все внешние взаимодействия, которые использовали предыдущий ключ. is_false: Нет is_true: Да open_id_url: Ваш OpenID URL page_title: TRACKS::Настройки page_title_edit: TRACKS::Редактирование настроек password_changed: Пароль изменен, пожалуйста войдите снова. - remove_introduction: You can remove your user account here. Note that this is irreversible and will remove all your data! After removal you will be logged out. + remove_introduction: You can remove your user account here. Note that this is + irreversible and will remove all your data! After removal you will be logged + out. show_number_completed: Отображать %{number} выполненных элементов sms_context_none: Нет staleness_starts_after: Устаревание начинается после %{days} дней @@ -706,10 +735,12 @@ ru: action_selection_title: TRACKS::Действие выбор actions: Действия actions_30days_title: Действия за последние 30 дней - actions_actions_avg_created_30days: За последние 30 дней вы создали в среднем %{count} действий + actions_actions_avg_created_30days: За последние 30 дней вы создали в среднем + %{count} действий actions_avg_completed: и выполняли в среднем %{count} действий в месяц. actions_avg_completed_30days: выполнено в среднем %{count} действий в день. - actions_avg_completion_time: Все ваши выполненные действия, среднее время выполнения %{count} дней. + actions_avg_completion_time: Все ваши выполненные действия, среднее время выполнения + %{count} дней. actions_avg_created: За последние 12 месяцев вы создали в среднем %{count} действий actions_day_of_week_legend: day_of_week: День недели @@ -730,10 +761,13 @@ ru: actions_selected_from_week: Действия, выбранные из недели click_to_return: Нажмите %{link}, чтобы вернуться к странице статистики. click_to_return_link: здесь - click_to_show_actions_from_week: Кликните %{link}, чтобы отобразить действия из %{week} недели и далее. - click_to_update_actions: Нажмите на панель в диаграмме, чтобы обновить действия ниже. + click_to_show_actions_from_week: Кликните %{link}, чтобы отобразить действия из + %{week} недели и далее. + click_to_update_actions: Нажмите на панель в диаграмме, чтобы обновить действия + ниже. contexts: Контексты - current_running_time_of_incomplete_visible_actions: Текущее время работы над незавершенными видимыми действиями + current_running_time_of_incomplete_visible_actions: Текущее время работы над незавершенными + видимыми действиями index_title: TRACKS::Статистика labels: avg_completed: В среднем выполнено @@ -750,7 +784,8 @@ ru: number_of_days: Дней назад percentage: Процент running_time: Затрачено времени на задачу (недель) - more_stats_will_appear: Больше статистики появится здесь как только вы добавите действия. + more_stats_will_appear: Больше статистики появится здесь как только вы добавите + действия. no_actions_selected: Нет выбранных действий. no_tags_available: нет доступных меток open_per_week: Активные (видимые и скрытые) дальнейшие действия за неделю @@ -763,16 +798,22 @@ ru: running_time_all_legend: actions: Действия percentage: Процент - running_time: Время выполнения действия (недель). Нажмите на панель для более подробной информации. + running_time: Время выполнения действия (недель). Нажмите на панель для более + подробной информации. running_time_legend: actions: Действия percentage: Процент - weeks: Время выполнения действия (недель). Кликните на панель для дополнительной информации - spread_of_actions_for_all_context: Распределение выполняемых действий для все контекстов - spread_of_running_actions_for_visible_contexts: Распределение выполняемых действий для видимых контекстов - tag_cloud_90days_description: Это облако меток действия включает те, что были созданы или выполнены за последние 90 дней. + weeks: Время выполнения действия (недель). Кликните на панель для дополнительной + информации + spread_of_actions_for_all_context: Распределение выполняемых действий для все + контекстов + spread_of_running_actions_for_visible_contexts: Распределение выполняемых действий + для видимых контекстов + tag_cloud_90days_description: Это облако меток действия включает те, что были + созданы или выполнены за последние 90 дней. tag_cloud_90days_title: Облако меток для всех действий за последние 90 дней - tag_cloud_description: Это облако меток для включает метки всех действий (выполненных, невыполенных, видимых или скрытых) + tag_cloud_description: Это облако меток для включает метки всех действий (выполненных, + невыполенных, видимых или скрытых) tag_cloud_title: Облако меток для всех действий tags: Метки time_of_day: Время дня (все действия) @@ -787,7 +828,8 @@ ru: top10_projects: Топ 10 проектов top10_projects_30days: Топ 10 проектов за последние 30 дней top5_contexts: Топ 5 контекстов - top5_visible_contexts_with_incomplete_actions: Топ 5 видимых контекстов с незавершенными действиями + top5_visible_contexts_with_incomplete_actions: Топ 5 видимых контекстов с незавершенными + действиями totals: Итого totals_action_count: У вас всего %{count} действий totals_actions_completed: "%{count} из них выполнены." @@ -827,8 +869,10 @@ ru: action_deleted_error: Не удалось удалить действие action_deleted_success: Успешно удалено дальнейшее действие action_due_on: "(действие выполнить к %{date})" - action_marked_complete: Действие '%{description}' отмечено как %{completed} - action_marked_complete_error: Действие '%{description}' НЕ помечено как %{completed} из-за ошибки на сервере. + action_marked_complete: Действие '%{description}' отмечено как + %{completed} + action_marked_complete_error: Действие '%{description}' НЕ помечено + как %{completed} из-за ошибки на сервере. action_saved: Действие сохранено action_saved_to_tickler: Действие сохранено в Отложенные actions: @@ -866,19 +910,21 @@ ru: due_today: Выполнить сегодня get_in_ical_format: Получить календарь в формате iCal calendar_page_title: TRACKS::Календарь - cannot_add_dependency_to_completed_todo: Невозможно добавить действие как зависимость к выполненному действию! + cannot_add_dependency_to_completed_todo: Невозможно добавить действие как зависимость + к выполненному действию! clear_due_date: Очистить дату 'Выполнить к' clear_show_from_date: Очистить дату 'Показывать с' completed: Выполнено completed_actions: Completed actions completed_actions_with: Выполненные действия с меткой '%{tag_name}' completed_in_archive: - few: "%{count} выполненных действия в архиве." one: 1 выполненное действие в архиве. - other: "%{count} выполненных действий в архиве." + few: '%{count} выполненных действия в архиве.' + many: '%{count} выполненных действий в архиве.' completed_last_day: Выполнены за последние 24 часа completed_last_x_days: Выполнены за последние %{count} дней - completed_recurrence_completed: Нет дальнейших действий, которые следуют за удаленной регулярной задачей. Повторение остановлено + completed_recurrence_completed: Нет дальнейших действий, которые следуют за удаленной + регулярной задачей. Повторение остановлено completed_recurring: Выполненные регулярные задачи completed_recurring_actions_title: TRACKS::Completed recurring actions completed_rest_of_month: Выполнено за остаток месяца @@ -890,23 +936,26 @@ ru: confirm_delete: Уверены, что хотите удалить действие '%{description}'? context_changed: Контекст изменен на %{name} convert_to_project: Сформировать проект - defer_date_after_due_date: Дата отсрочки превышает дату выполнения. Измените дату выполнения, перед тем как отложить это действие. + defer_date_after_due_date: Дата отсрочки превышает дату выполнения. Измените дату + выполнения, перед тем как отложить это действие. defer_x_days: - few: Отложить на %{count} дня one: Отложить на 1 день - other: Отложить на %{count} дней + few: Отложить на %{count} дня + many: Отложить на %{count} дней deferred_actions_with: Отложенные действия с меткой '%{tag_name}' deferred_pending_actions: Отложенные/ожидающие действия deferred_tasks_title: TRACKS::Отложенные delete: Удалить delete_action: Удалить действие - delete_recurring_action_confirm: Уверены, что хотите удалить регулярную задачу '%{description}'? + delete_recurring_action_confirm: Уверены, что хотите удалить регулярную задачу + '%{description}'? delete_recurring_action_title: Удалить регулярную задачу deleted_success: Действие успешно удалено. depends_on: Зависит от depends_on_separate_with_commas: Зависит от (через запятую) done: Готово? - drag_action_title: Перетащите на другое действие, чтобы сделать его зависимым от него + drag_action_title: Перетащите на другое действие, чтобы сделать его зависимым + от него due: Выполнить к edit: Редактировать edit_action: Редактирвоать действие @@ -921,7 +970,8 @@ ru: error_removing_dependency: Ошибка при удалении зависимости error_saving_recurring: Ошибка при сохранении регулярной задачи '%{description}' error_starring: невозможно переключить отметку на задаче '%{description}' - error_starring_recurring: Невозможно установить/снять отметку регулярной задачи '%{description}' + error_starring_recurring: Невозможно установить/снять отметку регулярной задачи + '%{description}' error_toggle_complete: Невозможно отметить эту задачу как выполненную feed_title_in_context: в контексте '%{context}' feed_title_in_project: в проекте '%{project}' @@ -929,17 +979,19 @@ ru: completed: 'Выполено: %{date}' due: 'Выполнить к: %{date}' has_x_pending: - few: "%{count} ожидающих действия" one: Одно ожидающее действие - other: "%{count} ожидающих действий" + few: '%{count} ожидающих действия' + many: '%{count} ожидающих действий' hidden_actions: Скрытые действия in_hidden_state: в скрытом состоянии in_pending_state: в ожидании list_incomplete_next_actions: Выводит список незавершенных дальнейших действий - list_incomplete_next_actions_with_limit: Выводит список последних %{count} незавершенных дальнейших действий + list_incomplete_next_actions_with_limit: Выводит список последних %{count} незавершенных + дальнейших действий mark_complete: Отметить как выполненное mobile_todos_page_title: Все действия - new_related_todo_created: Добавлена новая задача, принадлежащая этой регулярной задаче + new_related_todo_created: Добавлена новая задача, принадлежащая этой регулярной + задаче new_related_todo_created_short: создана новая задача new_related_todo_not_created_short: не создана задача next_action_description: Описание дальнейшего действия @@ -1068,9 +1120,11 @@ ru: yearly_every_x_day: Каждый %{month} %{day} yearly_every_xth_day: "%{day} %{day_of_week} %{month}" yearly_options: Настройки ранних регулярных задач - recurrence_completed: Нет дальнейших действий, которые следуют за завершенной регулярной задачей. Повторение остановлено. + recurrence_completed: Нет дальнейших действий, которые следуют за завершенной + регулярной задачей. Повторение остановлено. recurrence_period: Период повторения - recurring_action_deleted: Задача удалена. Но создана новая, так как это регулярная задача + recurring_action_deleted: Задача удалена. Но создана новая, так как это регулярная + задача recurring_action_saved: Регулярная задача сохранена recurring_actions_title: TRACKS::Регулярные задачи recurring_deleted_success: Регулярная задача успешно удалена. @@ -1093,12 +1147,16 @@ ru: tags: Метки (через запятую) task_list_title: TRACKS::Список задач tickler_items_due: - few: "%{count} отложенных элемента подошли к дате выполнения - обновите страницу, чтобы увидеть изменения." - one: Отложенный элемент подошел к дате выполнения - обновите страницу, чтобы увидеть изменения. - other: "%{count} отложенных элементов подошли к дате выполнения - обновите страницу, чтобы увидеть изменения." + one: Отложенный элемент подошел к дате выполнения - обновите страницу, чтобы + увидеть изменения. + few: '%{count} отложенных элемента подошли к дате выполнения - обновите страницу, + чтобы увидеть изменения.' + many: '%{count} отложенных элементов подошли к дате выполнения - обновите страницу, + чтобы увидеть изменения.' to_tickler: в Отложенные unable_to_add_dependency: Не удается добавить зависимость - unresolved_dependency: Введенное значение зависимости не соответствует существующим действиям. Значние не будет сохранно, как и другие изменения. Продолжить? + unresolved_dependency: Введенное значение зависимости не соответствует существующим + действиям. Значние не будет сохранно, как и другие изменения. Продолжить? was_due_on_date: было запланировано к %{date} users: account_signup: регистрация пользователя @@ -1108,19 +1166,22 @@ ru: auth_type_updated: Тип авторизации обновлен. change_auth_type_title: TRACKS::Изменение типа авторизации change_authentication_type: Сменить тип авторизации - change_password_prompt: Введите новый пароль в поле ниже и нажмите 'Изменить пароль', чтобы заменить ваш старый пароль. + change_password_prompt: Введите новый пароль в поле ниже и нажмите 'Изменить пароль', + чтобы заменить ваш старый пароль. change_password_submit: Сменить пароль change_password_title: TRACKS::Изменение пароля choose_password: Выберите пароль confirm_password: Подтвердите пароль desired_login: Предполагаемое имя пользователя - destroy_confirmation: 'Предупреждение: это действие удалит пользователя ''%{login}'', все его действия, контексты, проекты и примечания. Продолжить?' + destroy_confirmation: 'Предупреждение: это действие удалит пользователя ''%{login}'', + все его действия, контексты, проекты и примечания. Продолжить?' destroy_error: Не удалось удалить пользователя %{login} destroy_successful: Пользователь %{login} удален destroy_user: Удалить пользователя - email_address: Email address + email_address: Адрес электронной почты failed_to_delete_user: Не удалось удалить пользователя %{username} - first_user_heading: 'Добро пожаловать в TRACKS. Для начала, создайте учетную запись Администратора:' + first_user_heading: 'Добро пожаловать в TRACKS. Для начала, создайте учетную запись + Администратора:' first_user_title: TRACKS::Войти как Администратор identity_url: URL идентификации label_auth_type: Тип авторизации @@ -1130,12 +1191,15 @@ ru: new_user_heading: 'Создайте нового пользователя:' new_user_title: TRACKS::Вход no_signups_title: TRACKS::Нет регистрации - openid_ok_pref_failed: Ваша ссылка %{url} подтверждена, но возникли проблемы при сохранении настроек авторизации. - openid_url_verified: Ваша ссылка %{url} подтверждена и установлена в качестве авторизации с OpenID. + openid_ok_pref_failed: Ваша ссылка %{url} подтверждена, но возникли проблемы при + сохранении настроек авторизации. + openid_url_verified: Ваша ссылка %{url} подтверждена и установлена в качестве + авторизации с OpenID. password_confirmation_label: Подтверждение пароля password_updated: пароль обновлен. register_with_cas: С вашим именем пользователя CAS - select_authentication_type: Выберите новый тип авторизации и нажмите 'Сменить тип авторизации', чтобы заменить текущие настройки. + select_authentication_type: Выберите новый тип авторизации и нажмите 'Сменить + тип авторизации', чтобы заменить текущие настройки. signup: Регистрация signup_new_user: Создать пользователя signup_successful: Вход пользователя %{username} выполнен. @@ -1154,12 +1218,12 @@ ru: multi_page: Отображено %{model} %{from} - %{to} из %{count} multi_page_html: Отображено %{model} %{from} - %{to} из %{count} single_page: - one: Отображен 1 %{model} - other: Отображены все %{count} %{model} - zero: "%{model} не найдено" + one: '%{model} не найдено' + few: Отображен 1 %{model} + many: Отображены все %{count} %{model} single_page_html: - one: Отображен 1 %{model} - other: Отображены все %{count} %{model} - zero: "%{model} не найдено" + one: '%{model} не найдено' + few: Отображен 1 %{model} + many: Отображены все %{count} %{model} page_gap: "…" previous_label: "← Пред" From c9d1991f7c18cac6e8c62cb867b43bb997d010f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D1=83=D0=BD=D0=BE=D0=B2?= Date: Fri, 12 Mar 2021 12:50:11 +0000 Subject: [PATCH 07/14] Translated using Weblate (Russian) Currently translated at 89.1% (954 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/ru/ --- config/locales/ru.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 944a9fed..f5a0d8a7 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -76,6 +76,7 @@ ru: one: Невозможно удалить запись, так как есть %{record} зависящая от нее few: Невозможно удалить запись, так как есть %{record} зависящие от нее many: '' + has_one: Не удалось удалить запись, поскольку существует связанная %{record} taken: уже занято too_long: слишком длинное (максимум %{count} символов) too_short: слишком короткое (минимум %{count} символов) From 1feb0bc82a2903423392563ff1f5822b1477f3b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D1=83=D0=BD=D0=BE=D0=B2?= Date: Fri, 19 Mar 2021 10:45:18 +0000 Subject: [PATCH 08/14] Translated using Weblate (Russian) Currently translated at 90.7% (971 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/ru/ --- config/locales/ru.yml | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/config/locales/ru.yml b/config/locales/ru.yml index f5a0d8a7..55b8c541 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -77,6 +77,7 @@ ru: few: Невозможно удалить запись, так как есть %{record} зависящие от нее many: '' has_one: Не удалось удалить запись, поскольку существует связанная %{record} + has_many: Не удалось удалить запись, поскольку от неё зависит %{record} taken: уже занято too_long: слишком длинное (максимум %{count} символов) too_short: слишком короткое (минимум %{count} символов) @@ -186,7 +187,7 @@ ru: letter_abbreviation: C new_context_post: "' будет также создан. Вы уверены?" new_context_pre: Новый контекст ' - no_contexts_: 'No contexts ' + no_contexts_: 'Нет контекста ' no_contexts_active: На текущий момент нет активных контекстов no_contexts_closed: На текущий момент нет закрытых контекстов no_contexts_hidden: На текущий момент нет скрытых контекстов @@ -213,6 +214,15 @@ ru: errors: file_blank: Файл не может быть пустым some: Во время импорта возникли ошибки + save_error: Не удаётся сохранить загруженный CSV (%{path_and_file}). У Tracks + нет доступа к каталогу загрузок? %{e} + invalid_csv: 'Недопустимый CSV: не удаётся прочитать заголовки: %{e}' + invalid_destination: 'Неверное место назначения импорта: %{e}' + yaml_disabled: Загрузка YAML отключена + todos_count: '%{count} задач импортировано' + projects_count: '%{count} проектов импортировано' + upload_csv: Загрузите пожалуйста ваш CSV файл + map_title: Отметьте поля для импорта date: abbr_day_names: - Вс @@ -326,15 +336,15 @@ ru: errors: format: "%{attribute} %{message}" messages: - accepted: должен быть подтвержден + accepted: должен быть подтверждён blank: должна быть заполнена confirmation: не соответствует %{attribute} empty: не может быть пустым - equal_to: должно равняться %{count} - even: должно быть четным - exclusion: зарезервированно + equal_to: должно быть равно %{count} + even: должно быть чётным + exclusion: зарезервировано greater_than: должно быть больше %{count} - greater_than_or_equal_to: должно быть больше или равно %{count} + greater_than_or_equal_to: должно быть больше либо равно %{count} inclusion: не входит в список invalid: неверное less_than: должно быть меньше %{count} @@ -345,8 +355,8 @@ ru: other_than: должно отличаться от %{count} present: должно быть пустым taken: уже занято - too_long: 'слишком длинное (максимум: %{count} символов)' - too_short: 'слишком кроткое (минимум: %{count} символов)' + too_long: 'слишком длинное (максимум %{count} символов)' + too_short: 'слишком короткое (минимум %{count} символов)' wrong_length: неверной длины (должно быть %{count} символов) user_unauthorized: '401 Неавторизован: Только Администраторы имеют доступ к этой функции.' @@ -383,7 +393,7 @@ ru: send_feedback: Обратная связь. Версия %{version} helpers: select: - prompt: Выберите + prompt: Выберите... submit: create: Создать %{model} submit: Сохранить %{model} From e06e5e3c4d41e329ab2bd39c1bf0b3a6dcf6d304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D1=83=D0=BD=D0=BE=D0=B2?= Date: Sat, 20 Mar 2021 23:01:08 +0000 Subject: [PATCH 09/14] Translated using Weblate (Russian) Currently translated at 100.0% (1070 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/ru/ --- config/locales/ru.yml | 230 ++++++++++++++++++++++++++++++++---------- 1 file changed, 178 insertions(+), 52 deletions(-) diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 55b8c541..2725f85b 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -93,8 +93,8 @@ ru: body: 'Возникли проблемы при обработке полей:' header: one: 1 ошибка мешает сохранению %{model} - few: '%{count} ошибок мешают сохранению %{model}' - many: '' + few: '%{count} ошибки мешают сохранению %{model}' + many: '%{count} ошибок мешают сохранению %{model}' common: action: Действие actions: Действия @@ -223,6 +223,38 @@ ru: projects_count: '%{count} проектов импортировано' upload_csv: Загрузите пожалуйста ваш CSV файл map_title: Отметьте поля для импорта + warning: Остерегайтесь + paste_field: 'Вставьте содержимое файла YAML, который вы экспортировали, в текстовое + поле ниже:' + yaml_warning: '%{warning}: все ваши текущие данные будут удалены перед импортом + файла YAML. Если у вас есть доступ к базе данных, мы настоятельно рекомендуем + прямо сейчас сделать резервную копию на случай, если что-то пойдёт не так.' + xml: XML + csv: CSV + yaml: YAML + export: + xml_link_title: Файл XML (только действия) + csv_notes_title: Файл CSV (только заметки) + csv_actions_title: Файл CSV (действия, контексты и проекты) + yaml_link_title: Файл YAML + download_link: Ссылка для загрузки + xml_link_description: Файл XML содержит все ваши действия, заметки, контексты, + проекты и метки + xml_description: '%{xml}: Лучше всего для импорта или конвертации данных' + csv_notes_description: Файл CSV содержит все ваши заметки + csv_actions_description: Файл CSV содержит все ваши действия в связи с контекстами + и проектами + csv_description: '%{csv}: Лучше всего для импорта в электронную таблицу или + программное обеспечение для анализа данных' + yaml_experimental: Пожалуйста помните о том, что импорт файла YAML в данный + момент поддерживается только в качестве эксперимента. Не полагайтесь на него + для резервного копирования критических данных. + yaml_link_description: Файл YAML содержит все ваши действия, заметки, контексты, + проекты и метки + yaml_description: '%{yaml}: Лучший вариант для экспорта.' + format_header: 'Вы можете выбрать из следующих форматов:' + title: Данные экспортируются + page_title: Tracks::Экспорт date: abbr_day_names: - Вс @@ -378,7 +410,7 @@ ru: last_fixed_number: Последние %{number} действий legend: 'Легенда:' notice_incomplete_only: 'Внимание: Все ленты отображают только действия, которые - не помечены как выполеннные, и только незавершенные состояния. Данные iCal-ленты + не помечены как выполенные, и только незавершенные состояния. Данные iCal-ленты могут быть добавлены в список задач. Если вы хотите отображать сроки выполнения задач в календаре, используйте iCal-ленту на странице календаря.' plain_text_feed: Лента в текстовом формате @@ -400,24 +432,115 @@ ru: update: Обновить %{model} integrations: opensearch_description: Искать в Tracks + mailgun: + instructions: + '3': Перейдите на %{preferences_link} и введите свой входящий адрес электронной + почты для Mailgun (такой как tracks@user.mailgun.com) в поле "%{sms_email_name}". + '6': "Обновите mailmap в 'site.yml' чтобы определить, какие отправители соответствуют\ + \ входящим адресам. Например, чтобы отправить письмо с вашей домашней и\ + \ рабочей почты в вашу связку Tracks Mailgun, установите что-то типа этого:\ + \ %{code}" + '5': Добавьте свой ключ Mailgun API (не Public API ключ) в файл Tracks 'site.yml' + '4': Выберите контекст по умолчанию для электронных писем и установите его + в поле "%{sms_context_name}" + 2b: "'Action' должно быть 'forward(\"http://mytracksserver.example.com/mailgun/mime\"\ + )'" + 2a: "'Filter expression' должен быть установлен как 'catch_all()'" + '2': "Перейдите на 'Routes' в панели управления Mailgun и добавьте новый маршрут:" + '1': Перейдите на %{mailgun_link} и зарегистрируйте бесплатную учётную запись. + gateway_instructions: Всё сказанное выше о формате писем применимо к работе + через Mailgun, т.к. данные обрабатываются тем же способом + conditions: Чтобы это работало, нужно чтобы ваш сервер Tracks был доступен из + интернета. Тогда Mailgun сможет отправлять на него данные. + description: Если вы хотите отправлять письма в Tracks, но не можете запустить + почтовый сервер на том же сервере, то можно использовать встроенную в Tracks + поддержку {mailgun_link}. + example_names: + tag: + '2': метка2 + '1': метка1 + project: проект + context: контекст + todo: моя прекрасная задача + email_rich: + field_descriptions: + star: Флаг запуска задачи + tag: Метки для задачи - могут использоваться повторно + due_date: Дата выполнения для задачи (может быть двузначной для дня, четырёхзначной + для месяца и дня или шестизначной для года, месяца и дня) + project: Проект для внесения в задачу + context: Контекст для внесения в задачу + fields_instruction: Все специальные символы являются необязательными, а текст + до первого символа (или конца строки) используется в качестве описания задачи + meaning_title: Значение + symbol_title: Символ + fields_title: 'Поля:' + description: 'Для обоих описанных методов используется следующий формат:' + message_gateway: + instructions: + '3': На вашу свежеустановленную почту отправлено письмо! + '2': В sendmail/qmail/postfix/другой почтовой программе, установите псевдоним + почтового адреса для конвейера сообщений в %{command} + '1': Перейдите на %{preferences_link}, установите ваши "%{sms_email_name}" + и "%{sms_context_name}" для отправки задач через электронную почту (которую + можно отправить с помощью сообщения SMS) + one_user_configuration: 'Вы также можете отправлять все письма определённому + пользователю Tracks. Установите mail_dispatch в site.yml как %{single_user_value} + и включайте имя пользователя в конвейер команд: %{code}' + configuration: Возможно вам понадобится установить ваш %{site_yml} чтобы сообщить + шлюзу использовать поле %{to_name} или %{from_name} для определения пользователя + Tracks по его адресу email. + rich_api_tip: Также вы можете использовать расширенный формат (Rich Todo API) + для отправки задач, например "постирать @ Дом" или "Позвонить Ивану > проект + X". Темой письма будет заполнено название задачи, её контекст и проект, а + тело письма будет вставлено в заметку. + description: 'Если Tracks запущен на том же сервере, что и ваш почтовый сервер, + вы можете использовать встроенную возможность интеграции с почтой. Следующие + шаги для настройки:' + feeds_link_text: ленты, предоставляемые Tracks + cron_email_subject: Задачи Tracks на следующие 7 дней + cron_2: Конечно вы можете использовать другой текст %{feeds_link} – почему бы + например не отправлять список следующих действий в конкретном проекте группе + коллег, которые над ним работают? + cron_1: Если вы вставите следующую строку в ваш crontab, то будете получать письма + каждый день около 5 часов утра со списком предстоящих дел, которые нужно выполнить + в течении следующих 7-ми дней. + tell_us_link_text: Сообщите об этом в нашей очереди задач + add_your_own: Можете добавить что-то своё? %{tell_us_link} и мы сможем включить + это в будущии версии Tracks. + contents_header: 'Содержимое:' + developer_documentation_link: документация разаработчика Tracks + intro: Tracks может быть интегрирован со многими другими инструментами... всем + что нужно для того чтобы помочь вам привести дела в порядок! На этой странице + есть информация о настройке некоторых из них. Не всё из этого применимо к различным + платформам, а что-то требует определённых технических знаний. Читайте также + %{documentation_link} + title: Интеграция + sections: + email_rich: Расширенный формат задач в письмах + mailgun: Отправлять почту в Tracks через Mailgun + message_gateway: Интеграция с почтовым сервером для возможности отправлять задачи + в Tracks по почте + automatic_email: Автоматически отправлять себе письма о предстоящих задачах help: title: Help - usage: 'You can find information on the usage in the %{manual_link} in the project - GitHub wiki.' + usage: 'Вы можете найти информацию об использовании %{manual_link} в GitHub wiki + проекта.' manual_link_text: User manual - bugs: 'If you encounter a bug or have a feature request, please report it in the - %{issue_link}.' - issue_link_text: issue queue - contribute: 'We gladly welcome all contributions to Tracks. Check the %{contribute_link} - for further information. You can also come discuss with the community:' + bugs: 'Если вы столкнулись с ошибкой или предлагаете добавить новую функцию, обращайтесь + на %{issue_link}.' + issue_link_text: очередь задач + contribute: 'Мы категорически приветствуем любой вклад в развитие Tracks. Проверьте + %{contribute_link} для дополнительной информации. Вы также можете обсудить это + с сообществом:' contribute_link_text: project website mailing_list_link_text: Mailing list - irc_bullet: '%{irc_link} (also available in %{matrix_link})' - irc_link_text: 'IRC channel #Tracks@FreeNode' + irc_bullet: '%{irc_link} (также доснупно %{matrix_link})' + irc_link_text: 'Канал IRC #Tracks@FreeNode' matrix_link_text: Matrix layouts: mobile_navigation: - calendar: Calendar + calendar: Календарь contexts: Контекст feeds: Рассылка full: Полная версия @@ -499,7 +622,7 @@ ru: session_will_expire: сессия истекает после %{hours} часов отсутствия активности. session_will_not_expire: сессия не будет истекать. sign_in: Войти - signup_prompt: Want to create an account? + signup_prompt: Хотите создать учётную запись? successful: Вход успешен. С возвращением! successful_with_session_info: 'Вход выполнен:' unsuccessful: Неудачная попытка входа. @@ -513,7 +636,7 @@ ru: - Выполнить к _______ themes: black: Black - light_blue: Light blue + light_blue: Светло голубой project: feed_description: Список всех проектов %{username} feed_title: Проекты Tracks @@ -531,13 +654,13 @@ ru: delete_note_title: Удалить заметку '%{id}' deleted_note: Удалено '%{id}' edit_item_title: Редактировать элемент - in_project: 'В:' + in_project: 'В: ' no_notes_available: 'На текущий момент заметок нет: добавьте заметки к проектам со страниц проектов.' note_header: Заметка %{id} note_link_title: Показать заметку %{id} note_location_link: 'В:' - save_status_message: Note %{id} was saved + save_status_message: Заметка %{id} сохранена show_note_title: Показать заметку number: currency: @@ -561,7 +684,7 @@ ru: units: billion: Миллиард million: Миллион - quadrillion: Квадрильон + quadrillion: Квадриллион thousand: Тысяча trillion: Триллион unit: "." @@ -575,8 +698,8 @@ ru: units: byte: one: байт - few: байт - many: '' + few: байта + many: байт gb: Гб kb: Кб mb: Мб @@ -604,9 +727,9 @@ ru: page_title: TRACKS::Настройки page_title_edit: TRACKS::Редактирование настроек password_changed: Пароль изменен, пожалуйста войдите снова. - remove_introduction: You can remove your user account here. Note that this is - irreversible and will remove all your data! After removal you will be logged - out. + remove_introduction: Здесь вы можете удалить вашу учётную запись. Обратите внимание, + что это необратимо и удалит все ваши данные! После удаления вы окажетесь на + странице входа. show_number_completed: Отображать %{number} выполненных элементов sms_context_none: Нет staleness_starts_after: Устаревание начинается после %{days} дней @@ -614,12 +737,14 @@ ru: authentication: Авторизация date_and_time: Дата и время profile: Профиль - remove_account: Remove account + remove_account: Удалить учётную запись tracks_behavior: Поведение Tracks title: Ваши настройки token_description: Ключ (используется для лент новостей и API) token_header: Ваш ключ updated: Настройки изменены + pick_one: 'Или выберите одно из следующих действий:' + result_in: 'Это приведет к: ' projects: actions_in_project_title: Действия проекта active_projects: Активные проекты @@ -627,16 +752,16 @@ ru: add_note_submit: Добавить заметку add_project: Добавить проект all_completed_tasks_title: TRACKS::Список выполненных действий в проекте '%{project_name}' - completed_actions: Completed actions - completed_actions_empty: Completed actions empty + completed_actions: Завершённые задачи + completed_actions_empty: Нет завершённых задач completed_projects: Выполненные проекты completed_tasks_title: TRACKS::Список выполненных действий проекта '%{project_name}' default_context: Контекст по-умолчанию для этого проекта %{context} default_context_removed: Удален контекст по-умолчанию default_context_set: Установить для проекта контекст %{default_context} по-умолчанию default_tags_removed_notice: Метки по-умолчанию удалены - deferred_actions: Deferred actions - deferred_actions_empty: Deferred actions empty + deferred_actions: Отложенные действия + deferred_actions_empty: Нет отложенных действий delete_project: Удалить проект delete_project_confirmation: Уверены, что хотите удалить проект '%{name}'? delete_project_title: Удалить проект @@ -659,7 +784,7 @@ ru: notes: Заметки notes_empty: Нет заметок к этому проекту page_title: 'TRACKS::Проект: %{project}' - project_destroyed_status: Deleted project '%{name}' + project_destroyed_status: Удалённый проект '%{name}' project_saved_status: Проект сохранен project_state: Проект в состоянии %{state}. set_default_tags_notice: Установить метки %{default_tags} по-умолчанию для проекта @@ -729,7 +854,7 @@ ru: ":": ":" active: Активных проектов blocked: Заблокированные - closed: Closed projects + closed: Закрытые проекты completed: выполненные current: Текущие hidden: Скрытых проектов @@ -761,7 +886,7 @@ ru: day_of_week: День недели number_of_actions: Количество действий actions_dow_30days_title: Дни недели (за последние 30 дней) - actions_further: и далее + actions_further: ' и далее' actions_last_year: Действия за последние годы actions_last_year_legend: months_ago: Месяцев назад @@ -769,7 +894,7 @@ ru: actions_lastyear_title: Действия за последние 12 месяцев actions_min_completion_time: Минимальное время выполнения %{time}. actions_min_max_completion_days: Минимум/максимум дней до выполнения %{min}/%{max}. - actions_selected_from_week: Действия, выбранные из недели + actions_selected_from_week: 'Действия, выбранные из недели ' click_to_return: Нажмите %{link}, чтобы вернуться к странице статистики. click_to_return_link: здесь click_to_show_actions_from_week: Кликните %{link}, чтобы отобразить действия из @@ -809,7 +934,7 @@ ru: running_time_all_legend: actions: Действия percentage: Процент - running_time: Время выполнения действия (недель). Нажмите на панель для более + running_time: Время выполнения действия (в неделях). Нажмите на панель для более подробной информации. running_time_legend: actions: Действия @@ -860,9 +985,9 @@ ru: within_one: В пределах 1 support: array: - last_word_connector: ", и" - two_words_connector: и - words_connector: "," + last_word_connector: ", и " + two_words_connector: ' и ' + words_connector: ", " select: prompt: Выберите... time: @@ -926,7 +1051,7 @@ ru: clear_due_date: Очистить дату 'Выполнить к' clear_show_from_date: Очистить дату 'Показывать с' completed: Выполнено - completed_actions: Completed actions + completed_actions: Завершённые действия completed_actions_with: Выполненные действия с меткой '%{tag_name}' completed_in_archive: one: 1 выполненное действие в архиве. @@ -937,7 +1062,7 @@ ru: completed_recurrence_completed: Нет дальнейших действий, которые следуют за удаленной регулярной задачей. Повторение остановлено completed_recurring: Выполненные регулярные задачи - completed_recurring_actions_title: TRACKS::Completed recurring actions + completed_recurring_actions_title: TRACKS::Завершённые повторяющиеся действия completed_rest_of_month: Выполнено за остаток месяца completed_rest_of_previous_month: Выполнено в конце предыдущего месяца completed_rest_of_week: Выполнено за остаток недели @@ -966,7 +1091,7 @@ ru: depends_on_separate_with_commas: Зависит от (через запятую) done: Готово? drag_action_title: Перетащите на другое действие, чтобы сделать его зависимым - от него + от него. due: Выполнить к edit: Редактировать edit_action: Редактирвоать действие @@ -1048,14 +1173,14 @@ ru: no_actions_due_this_week: До конца недели нет действий no_actions_found_title: No actions found title no_actions_with: No actions with - no_completed_actions: No completed actions - no_completed_actions_with: No completed actions with - no_completed_recurring: No completed recurring - no_deferred_actions: No deferred actions - no_deferred_actions_with: No deferred actions with + no_completed_actions: Нет завершённых действий + no_completed_actions_with: Нет завершённых действий с + no_completed_recurring: Нет завершённых повторяющихся действий + no_deferred_actions: Нет отложенных действий + no_deferred_actions_with: Нет отложенных действий с no_last_completed_actions: Не найдено выполненных действий no_project: "--Нет проекта--" - no_recurring_todos: No recurring todos + no_recurring_todos: Нет повторяющихся задач notes: Notes overdue: Просроченные pending: Ожидание @@ -1081,7 +1206,7 @@ ru: - четверг - пятница - суббота - due: '' + due: 'срок исполнения' every_day: ежедневно every_month: ежемесячно every_n: каждый %{n} @@ -1119,7 +1244,7 @@ ru: recurrence_on: due_date: даты выполнения from_tickler: даты начала отображения задачи (но не для даты выполнения) - options: 'Вычислять дату для:' + options: 'Вычислять дату для' show_always: всегда show_days_before: за %{days} дней до даты выполнения show_options: Отображать действие @@ -1171,7 +1296,7 @@ ru: was_due_on_date: было запланировано к %{date} users: account_signup: регистрация пользователя - approve_tos: I approve the Terms of Service + approve_tos: Я принимаю Условия обслуживания auth_change_submit: Сменить тип авторизации auth_type_update_error: 'Не удалось обновить ваш тип авторизации: %{error_messages}' auth_type_updated: Тип авторизации обновлен. @@ -1215,7 +1340,7 @@ ru: signup_new_user: Создать пользователя signup_successful: Вход пользователя %{username} выполнен. successfully_deleted_user: Пользователь %{username} удален - tos_link: read the Terms of Service + tos_link: прочитайте Условия обслуживания total_actions: Всего действий total_contexts: Всего контекстов total_notes: Всего примечаний @@ -1223,17 +1348,18 @@ ru: total_users_count: Всего %{count} пользователей user_created: Пользователь создан. you_have_to_reset_your_password: Вы сбросили свой пароль + manage_users_title: TRACKS::Управление пользоветелями will_paginate: next_label: След → page_entries_info: multi_page: Отображено %{model} %{from} - %{to} из %{count} multi_page_html: Отображено %{model} %{from} - %{to} из %{count} single_page: - one: '%{model} не найдено' - few: Отображен 1 %{model} + one: '%{model} не найден' + few: Отображён 1 %{model} many: Отображены все %{count} %{model} single_page_html: - one: '%{model} не найдено' + one: '%{model} не найден' few: Отображен 1 %{model} many: Отображены все %{count} %{model} page_gap: "…" From 9b45ee9965cfb56919565550538d9dd56c4c422b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D1=83=D0=BD=D0=BE=D0=B2?= Date: Tue, 23 Mar 2021 13:41:21 +0000 Subject: [PATCH 10/14] Translated using Weblate (Russian) Currently translated at 100.0% (1070 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/ru/ --- config/locales/ru.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 2725f85b..3d2c7b35 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -412,7 +412,7 @@ ru: notice_incomplete_only: 'Внимание: Все ленты отображают только действия, которые не помечены как выполенные, и только незавершенные состояния. Данные iCal-ленты могут быть добавлены в список задач. Если вы хотите отображать сроки выполнения - задач в календаре, используйте iCal-ленту на странице календаря.' + задач в календаре, используйте iCal-ленту на странице календаря' plain_text_feed: Лента в текстовом формате project_centric: Лента для незавершенных действий в определенном проекте project_needed: Должен быть выбран хотя бы один проект, чтобы можно было запросить @@ -935,7 +935,7 @@ ru: actions: Действия percentage: Процент running_time: Время выполнения действия (в неделях). Нажмите на панель для более - подробной информации. + подробной информации running_time_legend: actions: Действия percentage: Процент From 663506ba66d35b6373c777a072d7da6ef543a815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85ke=20Engelbrektson?= Date: Thu, 13 May 2021 21:18:09 +0200 Subject: [PATCH 11/14] Added translation using Weblate (Swedish) --- config/locales/sv.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/sv.yml diff --git a/config/locales/sv.yml b/config/locales/sv.yml new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/config/locales/sv.yml @@ -0,0 +1 @@ +{} From 33dfea08eda75f36cdc6349f7f6f69728b4bea72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A7=D1=82=D0=B0=D0=B1=D1=81?= Date: Sun, 20 Jun 2021 07:30:35 +0000 Subject: [PATCH 12/14] Translated using Weblate (Russian) Currently translated at 100.0% (1070 of 1070 strings) Translation: Tracks/Tracks Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/ru/ --- config/locales/ru.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 3d2c7b35..49c60157 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -536,7 +536,7 @@ ru: contribute_link_text: project website mailing_list_link_text: Mailing list irc_bullet: '%{irc_link} (также доснупно %{matrix_link})' - irc_link_text: 'Канал IRC #Tracks@FreeNode' + irc_link_text: 'IRC-канал #Tracks@Libera' matrix_link_text: Matrix layouts: mobile_navigation: From 1f625eab3552154286ea321a7262795868221010 Mon Sep 17 00:00:00 2001 From: Jyri-Petteri Paloposki Date: Mon, 9 Aug 2021 16:26:20 +0300 Subject: [PATCH 13/14] Fixed the plurals broken by Weblate (again) --- config/locales/de.yml | 33 ++++++++++++++++++++------------- config/locales/en.yml | 33 ++++++++++++++++++++------------- config/locales/fi.yml | 15 +++++++++------ 3 files changed, 49 insertions(+), 32 deletions(-) diff --git a/config/locales/de.yml b/config/locales/de.yml index 90e429bc..33026035 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -94,8 +94,9 @@ de: action: Aufgabe actions: Aufgaben actions_midsentence: - one: Aufgabe - other: Aufgaben + one: Aufgaben + other: Aufgabe + zero: Aufgabe add: Hinzufügen ajaxError: Fehler beim Empfangen vom Server back: Zurück @@ -107,8 +108,9 @@ de: contribute: Mitwirken create: Erstellen days_midsentence: - one: Tagen - other: Tag + one: Tag + other: Tagen + zero: Tagen deferred: aufgeschobene description: Beschreibung drag_handle: Verschieben @@ -127,8 +129,9 @@ de: none: Keine not_available_abbr: n/b note: - one: keine Notizen - other: 1 Notiz + one: 1 Notiz + other: "%{count} Notizen" + zero: keine Notizen notes: Notizen numbered_step: Schritt %{number} ok: Ok @@ -315,11 +318,13 @@ de: other: fast %{count} Jahre half_a_minute: eine halbe Minute less_than_x_minutes: - one: weniger als 1 Minute - other: weniger als eine Minute + one: weniger als eine Minute + other: weniger als %{count} Minuten + zero: weniger als 1 Minute less_than_x_seconds: one: weniger als 1 Sekunde - other: weniger als 1 Sekunde + other: weniger als %{count} Sekunden + zero: weniger als 1 Sekunde over_x_years: one: mehr als 1 Jahr other: mehr als %{count} Jahre @@ -1327,10 +1332,12 @@ de: multi_page_html: Angezeigte %{model} %{from} - %{to} von %{count} insgesamt single_page: - one: Kein %{model} gefunden - other: Angezeigte 1 %{model} + one: Angezeigte 1 %{model} + other: Anzeige aller %{count} %{model} + zero: Kein %{model} gefunden single_page_html: - one: Kein %{model} gefunden - other: Angezeigte 1 %{model} + one: Angezeigte 1 %{model} + other: Anzeige aller %{count} %{model} + zero: Kein %{model} gefunden page_gap: "..." previous_label: "« Zurück" diff --git a/config/locales/en.yml b/config/locales/en.yml index 023bfc74..0c5d4b4e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -95,8 +95,9 @@ en: action: Action actions: Actions actions_midsentence: - one: actions - other: action + one: action + other: actions + zero: actions add: Add ajaxError: There was an error retrieving from server back: Back @@ -108,8 +109,9 @@ en: contribute: Contribute create: Create days_midsentence: - one: days - other: day + one: day + other: days + zero: days deferred: deferred description: Description drag_handle: DRAG @@ -128,8 +130,9 @@ en: none: None not_available_abbr: n/a note: - one: no notes - other: 1 note + one: 1 notes + other: "%{count} notes" + zero: no notes notes: Notes numbered_step: Step %{number} ok: Ok @@ -316,11 +319,13 @@ en: other: almost %{count} years half_a_minute: half a minute less_than_x_minutes: - one: less than 1 minute - other: less than a minute + one: less than a minute + other: less than %{count} minutes + zero: less than 1 minute less_than_x_seconds: one: less than 1 second - other: less than 1 second + other: less than %{count} seconds + zero: less than 1 second over_x_years: one: over 1 year other: over %{count} years @@ -1319,10 +1324,12 @@ en: multi_page_html: Displaying %{model} %{from} - %{to} of %{count} in total single_page: - one: No %{model} found - other: Displaying 1 %{model} + one: Displaying 1 %{model} + other: Displaying all %{count} %{model} + zero: No %{model} found single_page_html: - one: No %{model} found - other: Displaying 1 %{model} + one: Displaying 1 %{model} + other: Displaying all %{count} %{model} + zero: No %{model} found page_gap: "…" previous_label: "← Previous" diff --git a/config/locales/fi.yml b/config/locales/fi.yml index bab78b4a..24686aa0 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -130,8 +130,9 @@ fi: none: Ei not_available_abbr: ei note: - one: ei muistiinpanoja - other: 1 muistiinpano + one: 1 muistiinpano + other: "%{count} muistiinpanoa" + zero: ei muistiinpanoja notes: Muistiinpanot numbered_step: Askel %{number} ok: Ok @@ -1330,10 +1331,12 @@ fi: multi_page_html: Näytetään %{model} %{from} - %{to} yhteensä %{count} tietueesta single_page: - one: '%{model} ei löytynyt' - other: Näytetään 1 %{model} + one: Näytetään 1 %{model} + other: Näytetään kaikki %{count} %{model} + zero: '%{model} ei löytynyt' single_page_html: - one: '%{model} ei löytynyt' - other: Näytetään 1 %{model} + one: Näytetään 1 %{model} + other: Näytetään kaikki %{count} %{model} + zero: '%{model} ei löytynyt' page_gap: "…" previous_label: "← Edellinen" From 71ae8a2092db41216701c5cbd3f86a943afbed29 Mon Sep 17 00:00:00 2001 From: Jyri-Petteri Paloposki Date: Mon, 9 Aug 2021 16:37:49 +0300 Subject: [PATCH 14/14] A few clearly wrong plurals fixed in Russian. There may be some broken left, some were likely changed on purpose. --- config/locales/ru.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 49c60157..43681c8a 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -134,9 +134,10 @@ ru: none: Не задано not_available_abbr: н/д note: - one: нет записей - few: 1 запись - many: '%{count} записи' + few: "%{count} записи" + one: 1 запись + other: '%{count} записи' + zero: нет записей notes: Заметки numbered_step: Шаг %{number} ok: ОК @@ -1355,12 +1356,12 @@ ru: multi_page: Отображено %{model} %{from} - %{to} из %{count} multi_page_html: Отображено %{model} %{from} - %{to} из %{count} single_page: - one: '%{model} не найден' - few: Отображён 1 %{model} - many: Отображены все %{count} %{model} + one: Отображён 1 %{model} + other: Отображены все %{count} %{model} + zero: '%{model} не найден' single_page_html: - one: '%{model} не найден' - few: Отображен 1 %{model} - many: Отображены все %{count} %{model} + one: Отображен 1 %{model} + other: Отображены все %{count} %{model} + zero: '%{model} не найден' page_gap: "…" previous_label: "← Пред"