diff --git a/docs-android/app/src/main/java/com/sismics/docs/adapter/LanguageAdapter.java b/docs-android/app/src/main/java/com/sismics/docs/adapter/LanguageAdapter.java index 80797651..2f14a754 100644 --- a/docs-android/app/src/main/java/com/sismics/docs/adapter/LanguageAdapter.java +++ b/docs-android/app/src/main/java/com/sismics/docs/adapter/LanguageAdapter.java @@ -34,6 +34,7 @@ public class LanguageAdapter extends BaseAdapter { languageList.add(new Language("fra", R.string.language_french, R.drawable.fra)); languageList.add(new Language("eng", R.string.language_english, R.drawable.eng)); languageList.add(new Language("deu", R.string.language_german, R.drawable.deu)); + languageList.add(new Language("pol", R.string.language_polish, R.drawable.pol)); } @Override diff --git a/docs-android/app/src/main/res/drawable-xhdpi/pol.png b/docs-android/app/src/main/res/drawable-xhdpi/pol.png new file mode 100644 index 00000000..60e45d1f Binary files /dev/null and b/docs-android/app/src/main/res/drawable-xhdpi/pol.png differ diff --git a/docs-android/app/src/main/res/values-pl/arrays.xml b/docs-android/app/src/main/res/values-pl/arrays.xml new file mode 100644 index 00000000..df051d5b --- /dev/null +++ b/docs-android/app/src/main/res/values-pl/arrays.xml @@ -0,0 +1,18 @@ + + + + + 5MB + 10MB + 30MB + 100MB + + + + 5 + 10 + 30 + 100 + + + \ No newline at end of file diff --git a/docs-android/app/src/main/res/values-pl/colors.xml b/docs-android/app/src/main/res/values-pl/colors.xml new file mode 100644 index 00000000..b27551ab --- /dev/null +++ b/docs-android/app/src/main/res/values-pl/colors.xml @@ -0,0 +1,6 @@ + + + #263238 + #21272b + #009688 + \ No newline at end of file diff --git a/docs-android/app/src/main/res/values-pl/strings.xml b/docs-android/app/src/main/res/values-pl/strings.xml new file mode 100644 index 00000000..287caf7b --- /dev/null +++ b/docs-android/app/src/main/res/values-pl/strings.xml @@ -0,0 +1,164 @@ + + + + + Nieprawidłowy email + Za krótki (min. %d) + Za długi (max. %d) + Wymagany + Tylko litery i cyfry + + + Teedy + Otwórz szufladę nawigacji + Zamknij szufladę nawigacji + github.com/sismics/docs i poniżej wprowadzić adres]]> + Serwer + Użytkownik + Hasło + Zaloguj + OK + Anuluj + Błąd logowania + Nieprawidłowa nazwa użytkownika lub hasło + Błąd sieci + Błąd sieci, sprawdź połączenie z interneterm oraz adres URL serwera + Nieprawidłowy adres URL + Sprawdź adres URL serwera i spróbuj ponownie + Wystąpiła awaria, wysłano raport w celu rozwiązania tego problemu + Data utworzenia + Pobierz bieżący plik + Pobierz + Znadź dokumenty + Wszystkie dokumenty + Udostępnione dokumenty + Wszystkie etykiety + Brak etykiet + Błąd ładowania etykiet + Brak dokumentów + Błąd ładowania dokumentów + Brak plików + Błąd ładowania plików + Nowy dokument + Udostępnij + Zamknij + Dodaj + Nazwa udostępnienia (opcjonalnie) + Ten dokument nie jest obecnie udostępniony + Usuń udostępnienie + Wyślij link udostępnienia + Błąd ładowania udostępnień + Błąd dodawania udostępnienia + Udostępnij link + Błąd usuwania udostępnienia + Wyślij link udostępnienia do + dodaj plik + Przeslij plik z + ustawienia + Wyloguj + Wersja + Kompilacja + Ustawienia zaawansowane + O programie + GitHub + Zgłoś błąd + Wyczyść cache + Wyczyść podręczne pliki + Cache wyczyszczony + Wyczyść historię wyszukiwania + Opróżnij ostatnie sugestie wyszukiwania + Historia wyszukiwania wyczyszczona + Rozmiar cache + Francuski + Angielski + Niemiecki + Polski + Zapisz + Edytuj + Błąd sieci, spróbuj ponownie + Proszę czekać + Wysyłam twoje dane + Usuń + Usuń dokument + Naprawdę chcesz usunąć dokument i powiązane z nim pliki? + Błąd sieci w czasie usuwania tego dokumentu + Usuwanie dokumentu + Usuń plik + Naprawdę chcesz usunąć ten plik? + Błąd sieci w czasie usuwania bieżącego pliku + Usuwanie pliku + Błąd podczas odczytu pliku + Teedy + Przesyłanie nowego pliku do dokumentu + Błąd przsyłania nowego pliku + Usuń bieżący plik + Zaawansowane wyszukiwanie + Znajdź + Dodaj eytkiety + Data utworzenia + Opis + Tytuł + Proste wyszukiwanie + Wyszukiwanie pełnotekstowe + Autor + Po dacie + Przed datą + Znajdź etykiety + Wszystkie języki + Przełącz informacje + Kto ma dostęp + Komentarze + Brak komentarzy + Błąd ładowania komentarzy + Wyślij + Dodaj komentarz + Błąd dodawania komentarza + Dodawanie komentarza + Usuń komentarz + Usuwanie komentarza + Błąd usuwania komentarza + PDF + Pobierz + Margines + Dostosuj obraz do strony + Eksport komentarzy + Eksport metadanych + mm + Eksport plików Teedy + Eksport dokumentu Teedy + Eksport Teedy jako PDF + Ostatnie aktywności + Aktywności + E-mail + Limit magazynu + %1$d/%2$d MB + Kod weryfikujący + Udostępnienie + Język + Zakres + Rodzaj + Źródło + Format + Udostępniający + Identifikator + temat + Prawa + Współtwórcy + Powiązania + + + ACL + Komentarz + Dokument + Plik + Grupa + Przepływ + Model przepływu + Etykieta + Użytkownik + Webhook + utworzony + zaktualizowany + usunięty + + diff --git a/docs-android/app/src/main/res/values-pl/styles.xml b/docs-android/app/src/main/res/values-pl/styles.xml new file mode 100644 index 00000000..62458393 --- /dev/null +++ b/docs-android/app/src/main/res/values-pl/styles.xml @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/docs-android/app/src/main/res/values/strings.xml b/docs-android/app/src/main/res/values/strings.xml index 65dd4d83..81981d72 100644 --- a/docs-android/app/src/main/res/values/strings.xml +++ b/docs-android/app/src/main/res/values/strings.xml @@ -72,6 +72,7 @@ Français English Deutsch + Polish Save Edit Network error, please try again diff --git a/docs-core/src/main/resources/db/update/dbupdate-025-0.sql b/docs-core/src/main/resources/db/update/dbupdate-025-0.sql index bde9adf3..e3309a17 100644 --- a/docs-core/src/main/resources/db/update/dbupdate-025-0.sql +++ b/docs-core/src/main/resources/db/update/dbupdate-025-0.sql @@ -1,3 +1,4 @@ insert into T_CONFIG(CFG_ID_C, CFG_VALUE_C) values('INBOX_AUTOMATIC_TAGS', 'false'); insert into T_CONFIG(CFG_ID_C, CFG_VALUE_C) values('INBOX_DELETE_IMPORTED', 'false'); +insert into T_LOCALE(LOC_ID_C) values('pl'); update T_CONFIG set CFG_VALUE_C = '25' where CFG_ID_C = 'DB_VERSION'; diff --git a/docs-core/src/main/resources/messages.properties.pl b/docs-core/src/main/resources/messages.properties.pl new file mode 100644 index 00000000..66eef3ac --- /dev/null +++ b/docs-core/src/main/resources/messages.properties.pl @@ -0,0 +1,10 @@ +email.template.password_recovery.subject=Proszę zresetować swoje hasło +email.template.password_recovery.hello=Witaj {0}. +email.template.password_recovery.instruction1=Otrzymaliśmy żądanie zresetowania twojego hasła.
Jeśli to nie ty potrzebujesz pomocy, moóżesz zignorować ten email. +email.template.password_recovery.instruction2=Aby zresetować swoje hasło, proszę naciśnij link poniżej: +email.template.password_recovery.click_here=Naciśnij, aby zresetować swoje hasło +email.template.route_step_validate.subject=Dokument potrzebuje twojej uwagi +email.template.route_step_validate.hello=Witaj {0}. +email.template.route_step_validate.instruction1=Został Ci przypisany etap przepływu i wymaga Twojej uwagi. +email.template.route_step_validate.instruction2=Aby wyświetlić dokument i zweryfikować przepływ pracy, kliknij poniższy link: +email.no_html.error=Twój klient poczty e-mail nie obsługuje wiadomości HTML \ No newline at end of file diff --git a/docs-core/src/main/resources/messages_pl.properties b/docs-core/src/main/resources/messages_pl.properties new file mode 100644 index 00000000..66eef3ac --- /dev/null +++ b/docs-core/src/main/resources/messages_pl.properties @@ -0,0 +1,10 @@ +email.template.password_recovery.subject=Proszę zresetować swoje hasło +email.template.password_recovery.hello=Witaj {0}. +email.template.password_recovery.instruction1=Otrzymaliśmy żądanie zresetowania twojego hasła.
Jeśli to nie ty potrzebujesz pomocy, moóżesz zignorować ten email. +email.template.password_recovery.instruction2=Aby zresetować swoje hasło, proszę naciśnij link poniżej: +email.template.password_recovery.click_here=Naciśnij, aby zresetować swoje hasło +email.template.route_step_validate.subject=Dokument potrzebuje twojej uwagi +email.template.route_step_validate.hello=Witaj {0}. +email.template.route_step_validate.instruction1=Został Ci przypisany etap przepływu i wymaga Twojej uwagi. +email.template.route_step_validate.instruction2=Aby wyświetlić dokument i zweryfikować przepływ pracy, kliknij poniższy link: +email.no_html.error=Twój klient poczty e-mail nie obsługuje wiadomości HTML \ No newline at end of file diff --git a/docs-web/src/main/webapp/src/app/docs/app.js b/docs-web/src/main/webapp/src/app/docs/app.js index f49fe8dc..2f429b7f 100644 --- a/docs-web/src/main/webapp/src/app/docs/app.js +++ b/docs-web/src/main/webapp/src/app/docs/app.js @@ -429,12 +429,13 @@ angular.module('docs', prefix: 'locale/', suffix: '.json?@build.date@' }) - .registerAvailableLanguageKeys(['en', 'es', 'fr', 'de', 'ru', 'zh_CN', 'zh_TW'], { + .registerAvailableLanguageKeys(['en', 'es', 'fr', 'de', 'ru', 'zh_CN', 'zh_TW', 'pl'], { 'ru_*': 'ru', 'en_*': 'en', 'es_*': 'es', 'fr_*': 'fr', 'de_*': 'de', + 'pl_*': 'pl', '*': 'en' }) .fallbackLanguage('en'); diff --git a/docs-web/src/main/webapp/src/app/share/app.js b/docs-web/src/main/webapp/src/app/share/app.js index 39f47c7a..4c6bb0ef 100644 --- a/docs-web/src/main/webapp/src/app/share/app.js +++ b/docs-web/src/main/webapp/src/app/share/app.js @@ -61,12 +61,13 @@ angular.module('share', prefix: 'locale/', suffix: '.json?@build.date@' }) - .registerAvailableLanguageKeys(['en', 'es', 'fr', 'de', 'ru', 'zh_CN', 'zh_TW'], { + .registerAvailableLanguageKeys(['en', 'es', 'fr', 'de', 'ru', 'zh_CN', 'zh_TW', 'pl'], { 'ru_*': 'ru', 'en_*': 'en', 'es_*': 'es', 'fr_*': 'fr', 'de_*': 'de', + 'pl_*': 'pl', '*': 'en' }) .fallbackLanguage('en'); diff --git a/docs-web/src/main/webapp/src/index.html b/docs-web/src/main/webapp/src/index.html index 8fa8e03a..c199f019 100644 --- a/docs-web/src/main/webapp/src/index.html +++ b/docs-web/src/main/webapp/src/index.html @@ -185,9 +185,10 @@ Français Deutsch Española - русский + Pусский 简体中文 繁體中文 + Polski @@ -196,9 +197,9 @@
  • Français
  • Deutsch
  • Española
  • -
  • русский
  • +
  • Pусский
  • 简体中文
  • -
  • 繁體中文
  • +
  • Polski
  • diff --git a/docs-web/src/main/webapp/src/locale/angular-locale_pl.js b/docs-web/src/main/webapp/src/locale/angular-locale_pl.js new file mode 100644 index 00000000..dfa2746f --- /dev/null +++ b/docs-web/src/main/webapp/src/locale/angular-locale_pl.js @@ -0,0 +1,143 @@ +'use strict'; +angular.module("ngLocale", [], ["$provide", function($provide) { +var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; +function getDecimals(n) { + n = n + ''; + var i = n.indexOf('.'); + return (i == -1) ? 0 : n.length - i - 1; +} + +function getVF(n, opt_precision) { + var v = opt_precision; + + if (undefined === v) { + v = Math.min(getDecimals(n), 3); + } + + var base = Math.pow(10, v); + var f = ((n * base) | 0) % base; + return {v: v, f: f}; +} + +$provide.value("$locale", { + "DATETIME_FORMATS": { + "AMPMS": [ + "AM", + "PM" + ], + "DAY": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "ERANAMES": [ + "Before Christ", + "Anno Domini" + ], + "ERAS": [ + "BC", + "AD" + ], + "FIRSTDAYOFWEEK": 6, + "MONTH": [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "SHORTDAY": [ + "Sun", + "Mon", + "Tue", + "Wed", + "Thu", + "Fri", + "Sat" + ], + "SHORTMONTH": [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec" + ], + "STANDALONEMONTH": [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "WEEKENDRANGE": [ + 5, + 6 + ], + "fullDate": "EEEE, MMMM d, y", + "longDate": "MMMM d, y", + "medium": "MMM d, y h:mm:ss a", + "mediumDate": "MMM d, y", + "mediumTime": "h:mm:ss a", + "short": "M/d/yy h:mm a", + "shortDate": "MM/dd/yyyy", + "shortTime": "h:mm a" + }, + "NUMBER_FORMATS": { + "CURRENCY_SYM": "$", + "DECIMAL_SEP": ".", + "GROUP_SEP": ",", + "PATTERNS": [ + { + "gSize": 3, + "lgSize": 3, + "maxFrac": 3, + "minFrac": 0, + "minInt": 1, + "negPre": "-", + "negSuf": "", + "posPre": "", + "posSuf": "" + }, + { + "gSize": 3, + "lgSize": 3, + "maxFrac": 2, + "minFrac": 2, + "minInt": 1, + "negPre": "-\u00a4", + "negSuf": "", + "posPre": "\u00a4", + "posSuf": "" + } + ] + }, + "id": "en", + "localeID": "en", + "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} +}); +}]); diff --git a/docs-web/src/main/webapp/src/locale/pl.json b/docs-web/src/main/webapp/src/locale/pl.json new file mode 100644 index 00000000..f6e9f9d1 --- /dev/null +++ b/docs-web/src/main/webapp/src/locale/pl.json @@ -0,0 +1,637 @@ +{ + "login": { + "username": "Username", + "password": "Password", + "validation_code_required": "A validation code is required", + "validation_code_title": "You have activated the two-factor authentication on your account. Please enter a validation code generated by the phone app you have configured.", + "validation_code": "Validation code", + "remember_me": "Remember me", + "submit": "Sign in", + "login_as_guest": "Login as guest", + "login_failed_title": "Login failed", + "login_failed_message": "Username or password invalid", + "password_lost_btn": "Password lost?", + "password_lost_sent_title": "Password reset email sent", + "password_lost_sent_message": "An email has been sent to {{ username }} to reset your password", + "password_lost_error_title": "Password reset error", + "password_lost_error_message": "Unable to send a password reset email, please contact your administrator for a manual reset" + }, + "passwordlost": { + "title": "Password lost", + "message": "Please enter your username to receive a password reset link. If you don't remember your username, please contact your administrator", + "submit": "Reset my password" + }, + "passwordreset": { + "message": "Please enter a new password", + "submit": "Change my password", + "error_title": "Error changing your password", + "error_message": "Your password recovery request is expired, please ask a new one on the login page" + }, + "index": { + "toggle_navigation": "Toggle navigation", + "nav_documents": "Documents", + "nav_tags": "Tags", + "nav_users_groups": "Users & Groups", + "error_info": "{{ count }} new error{{ count > 1 ? 's' : '' }}", + "logged_as": "Logged in as {{ username }}", + "nav_settings": "Settings", + "logout": "Logout", + "global_quota_warning": "Warning! Global quota almost reached at {{ current | number: 0 }}MB ({{ percent | number: 1 }}%) used on {{ total | number: 0 }}MB" + }, + "document": { + "navigation_up": "Go up one level", + "toggle_navigation": "Toggle folder navigation", + "display_mode_list": "Display documents in list", + "display_mode_grid": "Display documents in grid", + "search_simple": "Simple search", + "search_fulltext": "Fulltext search", + "search_creator": "Creator", + "search_language": "Language", + "search_before_date": "Created before this date", + "search_after_date": "Created after this date", + "search_before_update_date": "Updated before this date", + "search_after_update_date": "Updated after this date", + "search_tags": "Tags", + "search_shared": "Only shared documents", + "search_workflow": "Workflow assigned to me", + "search_clear": "Clear", + "any_language": "Any language", + "add_document": "Add a document", + "import_eml": "Import from an email (EML format)", + "tags": "Tags", + "no_tags": "No tags", + "no_documents": "No document in the database", + "search": "Search", + "search_empty": "No matches for \"{{ search }}\"", + "shared": "Shared", + "current_step_name": "Current step", + "title": "Title", + "description": "Description", + "contributors": "Contributors", + "language": "Language", + "creation_date": "Creation date", + "subject": "Subject", + "identifier": "Identifier", + "publisher": "Publisher", + "format": "Format", + "source": "Source", + "type": "Type", + "coverage": "Coverage", + "rights": "Rights", + "relations": "Relations", + "page_size": "Page size", + "page_size_10": "10 per page", + "page_size_20": "20 per page", + "page_size_30": "30 per page", + "upgrade_quota": "To upgrade your quota, ask your administrator", + "quota": "{{ current | number: 0 }}MB ({{ percent | number: 1 }}%) used on {{ total | number: 0 }}MB", + "count": "{{ count }} document{{ count > 1 ? 's' : '' }} found", + "last_updated": "Last updated {{ date | timeAgo: dateFormat }}", + "view": { + "delete_comment_title": "Delete comment", + "delete_comment_message": "Do you really want to delete this comment?", + "delete_document_title": "Delete document", + "delete_document_message": "Do you really want to delete this document?", + "shared_document_title": "Shared document", + "shared_document_message": "You can share this document by giving this link. Note that everyone having this link can see the document.
    ", + "not_found": "Document not found", + "forbidden": "Access forbidden", + "download_files": "Download files", + "export_pdf": "Export to PDF", + "by_creator": "by", + "comments": "Comments", + "no_comments": "No comments on this document yet", + "add_comment": "Add a comment", + "error_loading_comments": "Error loading comments", + "workflow_current": "Current workflow step", + "workflow_comment": "Add a workflow comment", + "workflow_validated_title": "Workflow step validated", + "workflow_validated_message": "The workflow step has been successfully validated.", + "content": { + "content": "Content", + "delete_file_title": "Delete file", + "delete_file_message": "Do you really want to delete this file?", + "upload_pending": "Pending...", + "upload_progress": "Uploading...", + "upload_error": "Upload error", + "upload_error_quota": "Quota reached", + "drop_zone": "Drag & drop files here to upload", + "add_files": "Add files", + "file_processing_indicator": "This file is being processed. Searching will not be available before it is complete.", + "reprocess_file": "Reprocess this file", + "upload_new_version": "Upload a new version", + "open_versions": "Show version history", + "display_mode_list": "Display files in list", + "display_mode_grid": "Display files in grid" + }, + "workflow": { + "workflow": "Workflow", + "message": "Verify or validate your documents with people of your organization using workflows.", + "workflow_start_label": "Which workflow to start?", + "add_more_workflow": "Add more workflows", + "start_workflow_submit": "Start workflow", + "full_name": "{{ name }} started on {{ create_date | date }}", + "cancel_workflow": "Cancel the current workflow", + "cancel_workflow_title": "Cancel the workflow", + "cancel_workflow_message": "Do you really want to cancel the current workflow?", + "no_workflow": "You cannot start any workflow on this document." + }, + "permissions": { + "permissions": "Permissions", + "message": "Permissions can be applied directly to this document, or can come from tags.", + "title": "Permissions on this document", + "inherited_tags": "Permissions inherited by tags", + "acl_source": "From", + "acl_target": "For", + "acl_permission": "Permission" + }, + "activity": { + "activity": "Activity", + "message": "Every actions on this document are logged here." + } + }, + "edit": { + "document_edited_with_errors": "Document successfully edited but some files cannot be uploaded", + "document_added_with_errors": "Document successfully added but some files cannot be uploaded", + "quota_reached": "Quota reached", + "primary_metadata": "Primary metadata", + "title_placeholder": "A name given to the resource", + "description_placeholder": "An account of the resource", + "new_files": "New files", + "orphan_files": "+ {{ count }} file{{ count > 1 ? 's' : '' }}", + "additional_metadata": "Additional metadata", + "subject_placeholder": "The topic of the resource", + "identifier_placeholder": "An unambiguous reference to the resource within a given context", + "publisher_placeholder": "An entity responsible for making the resource available", + "format_placeholder": "The file format, physical medium, or dimensions of the resource", + "source_placeholder": "A related resource from which the described resource is derived", + "uploading_files": "Uploading files..." + }, + "default": { + "upload_pending": "Pending...", + "upload_progress": "Uploading...", + "upload_error": "Upload error", + "upload_error_quota": "Quota reached", + "quick_upload": "Quick upload", + "drop_zone": "Drag & drop files here to upload", + "add_files": "Add files", + "add_new_document": "Add to new document", + "latest_activity": "Latest activity", + "footer_sismics": "Crafted with by Sismics", + "api_documentation": "API Documentation", + "feedback": "Give us a feedback", + "workflow_document_list": "Documents assigned to you", + "select_all": "Select all", + "select_none": "Select none" + }, + "pdf": { + "export_title": "Export to PDF", + "export_metadata": "Export metadata", + "export_comments": "Export comments", + "fit_to_page": "Fit image to page", + "margin": "Margin", + "millimeter": "mm" + }, + "share": { + "title": "Share document", + "message": "Name the sharing if you want to share multiple times the same document.", + "submit": "Share" + } + }, + "file": { + "view": { + "previous": "Previous", + "next": "Next", + "not_found": "File not found" + }, + "edit": { + "title": "Edit file", + "name": "Filename" + }, + "versions": { + "title": "Version history", + "filename": "Filename", + "mimetype": "Type", + "create_date": "Creation date", + "version": "Version" + } + }, + "tag": { + "new_tag": "New tag", + "search": "Search", + "default": { + "title": "Tags", + "message_1": "Tags are labels associated to documents.", + "message_2": "A document can be tagged by multiple tags, and a tag can be applied to multiple documents.", + "message_3": "Using the button, you can edit permissions on a tag.", + "message_4": "If a tag can be read by another user or group, associated documents can also be read by those people.", + "message_5": "For example, tag your company documents with a tag MyCompany and add the permission Can read to a group employees" + }, + "edit": { + "delete_tag_title": "Delete tag", + "delete_tag_message": "Do you really want to delete this tag?", + "name": "Name", + "color": "Color", + "parent": "Parent", + "info": "Permissions on this tag will also be applied to documents tagged {{ name }}", + "circular_reference_title": "Circular reference", + "circular_reference_message": "The hierarchy of parent tags makes a loop, please choose another parent." + } + }, + "group": { + "profile": { + "members": "Members", + "no_members": "No member", + "related_links": "Related links", + "edit_group": "Edit {{ name }} group" + } + }, + "user": { + "profile": { + "groups": "Groups", + "quota_used": "Quota used", + "percent_used": "{{ percent | number: 0 }}% Used", + "related_links": "Related links", + "document_created": "Documents created by {{ username }}", + "edit_user": "Edit {{ username }} user" + } + }, + "usergroup": { + "search_groups": "Search in groups", + "search_users": "Search in users", + "you": "It's you!", + "default": { + "title": "Users & Groups", + "message": "Here you can view informations about users and groups." + } + }, + "settings": { + "menu_personal_settings": "Personal settings", + "menu_user_account": "User account", + "menu_two_factor_auth": "Two-factor authentication", + "menu_opened_sessions": "Opened sessions", + "menu_file_importer": "Bulk file importer", + "menu_general_settings": "General settings", + "menu_workflow": "Workflow", + "menu_users": "Users", + "menu_groups": "Groups", + "menu_vocabularies": "Vocabularies", + "menu_configuration": "Configuration", + "menu_inbox": "Inbox scanning", + "menu_ldap": "LDAP authentication", + "menu_metadata": "Custom metadata", + "menu_monitoring": "Monitoring", + "ldap": { + "title": "LDAP authentication", + "enabled": "Enable LDAP authentication", + "host": "LDAP hostname", + "port": "LDAP port (389 by default)", + "admin_dn": "Admin DN", + "admin_password": "Admin password", + "base_dn": "Base search DN", + "filter": "Search filter (must contains USERNAME, eg. \"(uid=USERNAME)\")", + "default_email": "Default email for LDAP user", + "default_storage": "Default storage for LDAP user", + "saved": "LDAP configuration saved successfully" + }, + "user": { + "title": "Users management", + "add_user": "Add a user", + "username": "Username", + "create_date": "Create date", + "totp_enabled": "Two-factor authentication enabled for this account", + "edit": { + "delete_user_title": "Delete user", + "delete_user_message": "Do you really want to delete this user? All associated documents, files and tags will be deleted", + "user_used_title": "User in use", + "user_used_message": "This user is used in the workflow \"{{ name }}\"", + "edit_user_failed_title": "User already exists", + "edit_user_failed_message": "This username is already taken by another user", + "edit_user_title": "Edit \"{{ username }}\"", + "add_user_title": "Add a user", + "username": "Username", + "email": "E-mail", + "groups": "Groups", + "storage_quota": "Storage quota", + "storage_quota_placeholder": "Storage quota (in MB)", + "password": "Password", + "password_confirm": "Password (confirm)", + "disabled": "Disabled user", + "password_reset_btn": "Send a password reset email to this user", + "password_lost_sent_title": "Password reset email sent", + "password_lost_sent_message": "A password reset email has been sent to {{ username }}", + "disable_totp_btn": "Disable two-factor authentification for this user", + "disable_totp_title": "Disable two-factor authentication", + "disable_totp_message": "Are you sure you want to disable two-factor authentication for this user?" + } + }, + "workflow": { + "title": "Workflow configuration", + "add_workflow": "Add a workflow", + "name": "Name", + "create_date": "Create date", + "edit": { + "delete_workflow_title": "Delete workflow", + "delete_workflow_message": "Do you really want to delete this workflow? Currently running workflows will not be deleted", + "edit_workflow_title": "Edit \"{{ name }}\"", + "add_workflow_title": "Add a workflow", + "name": "Name", + "name_placeholder": "Step name or description", + "drag_help": "Drag and drop to reorder the step", + "type": "Step type", + "type_approve": "Approve", + "type_validate": "Validate", + "target": "Assigned to", + "target_help": "Approve: Accept or reject the review
    Validate: Review and continue the workflow", + "add_step": "Add a workflow step", + "actions": "What happens after?", + "remove_action": "Remove action", + "acl_info": "Only users and groups defined here will be able to start this workflow on a document" + } + }, + "security": { + "enable_totp": "Enable two-factor authentication", + "enable_totp_message": "Make sure you have a TOTP-compatible application on your phone ready to add a new account", + "title": "Two-factor authentication", + "message_1": "Two-factor authentication allows you to add a layer of security on your {{ appName }} account.
    Before activating this feature, make sure you have a TOTP-compatible app on your phone:", + "message_google_authenticator": "For Android, iOS, and Blackberry: Google Authenticator", + "message_duo_mobile": "For Android and iOS: Duo Mobile", + "message_authenticator": "For Windows Phone: Authenticator", + "message_2": "Those applications automatically generate a validation code that changes after a certain period of time.
    You will be required to enter this validation code each time you login on {{ appName }}.", + "secret_key": "Your secret key is: {{ secret }}", + "secret_key_warning": "Configure your TOTP app on your phone with this secret key now, you will not be able to access it later.", + "totp_enabled_message": "Two-factor authentication is enabled on your account.
    Each time you login on {{ appName }}, you will be asked a validation code from your configured phone app.
    If you lose your phone, you will not be able to login into your account but active sessions will allow you to regenerate a secrey key.", + "disable_totp": { + "disable_totp": "Disable two-factor authentication", + "message": "Your account will not be protected by the two-factor authentication anymore.", + "confirm_password": "Confirm your password", + "submit": "Disable two-factor authentication" + }, + "test_totp": "Please enter the validation code displayed on your phone :", + "test_code_success": "Validation code OK", + "test_code_fail": "This code is not valid, please double check that your phone is properly configured or disable Two-factor authentication" + }, + "group": { + "title": "Groups management", + "add_group": "Add a group", + "name": "Name", + "edit": { + "delete_group_title": "Delete group", + "delete_group_message": "Do you really want to delete this group?", + "edit_group_failed_title": "Group already exists", + "edit_group_failed_message": "This group name is already taken by another group", + "group_used_title": "Group in use", + "group_used_message": "This group is used in the workflow \"{{ name }}\"", + "edit_group_title": "Edit \"{{ name }}\"", + "add_group_title": "Add a group", + "name": "Name", + "parent_group": "Parent group", + "search_group": "Search a group", + "members": "Members", + "new_member": "New member", + "search_user": "Search a user" + } + }, + "account": { + "title": "User account", + "password": "Password", + "password_confirm": "Password (confirm)", + "updated": "Account successfully updated" + }, + "config": { + "title_guest_access": "Guest access", + "message_guest_access": "Guest access is a mode where anyone can access {{ appName }} without password.
    Like a normal user, the guest user can only access its documents and those accessible through permissions.
    ", + "enable_guest_access": "Enable guest access", + "disable_guest_access": "Disable guest access", + "title_theme": "Theme customization", + "title_general": "General configuration", + "default_language": "Default language for new documents", + "application_name": "Application name", + "main_color": "Main color", + "custom_css": "Custom CSS", + "custom_css_placeholder": "Custom CSS to add after the main stylesheet", + "logo": "Logo (squared size)", + "background_image": "Background image", + "uploading_image": "Uploading the image...", + "title_smtp": "Email configuration", + "smtp_hostname": "SMTP hostname", + "smtp_port": "SMTP port", + "smtp_from": "Sender e-mail", + "smtp_username": "SMTP username", + "smtp_password": "SMTP password", + "smtp_updated": "SMTP configuration updated successfully", + "webhooks": "Webhooks", + "webhooks_explain": "Webhooks will be called when the specified event occur. The given URL will be POST-ed with a JSON payload containing the event name and the ID of the concerned resource.", + "webhook_event": "Event", + "webhook_url": "URL", + "webhook_create_date": "Create date", + "webhook_add": "Add a webhook" + }, + "metadata": { + "title": "Custom metadata configuration", + "message": "Here you can add custom metadata to your documents like an internal identifier or an expiration date. Please note that the metadata type cannot be changed after creation.", + "name": "Metadata name", + "type": "Metadata type" + }, + "inbox": { + "title": "Inbox scanning", + "message": "By enabling this feature, the system will scan the specified inbox every minute for unread emails and automatically import them.
    After importing an email, it will be marked as read.
    Configuration settings for Gmail, Outlook.com, Yahoo.", + "enabled": "Enable inbox scanning", + "hostname": "IMAP hostname", + "port": "IMAP port (143 or 993)", + "username": "IMAP username", + "password": "IMAP password", + "tag": "Tag added to imported documents", + "test": "Test the parameters", + "last_sync": "Last synchronization: {{ data.date | date: 'medium' }}, {{ data.count }} message{{ data.count > 1 ? 's' : '' }} imported", + "test_success": "The connection to the inbox is successful ({{ count }} unread message{{ count > 1 ? 's' : '' }})", + "test_fail": "An error occurred while connecting to the inbox, please check the parameters", + "saved": "IMAP configuration saved successfully", + "autoTagsEnabled": "Automatically add tags from subject line marked with #", + "deleteImported": "Delete message from mailbox after import" + }, + "monitoring": { + "background_tasks": "Background tasks", + "queued_tasks": "There is currently {{ count }} queued tasks.", + "queued_tasks_explain": "File processing, thumbnail creation, index update, optical character recognition are background tasks. A large amount of unprocessed tasks will result in incomplete search results.", + "server_logs": "Server logs", + "log_date": "Date", + "log_tag": "Tag", + "log_message": "Message", + "indexing": "Indexing", + "indexing_info": "If you notice discrepancies in the search results, you can try to do a full reindexing. Search results will be incomplete until this operation is done.", + "start_reindexing": "Start full reindexing", + "reindexing_started": "Re-indexing started, please wait until there is no more background tasks." + }, + "session": { + "title": "Opened sessions", + "created_date": "Created date", + "last_connection_date": "Last connection date", + "user_agent": "From", + "current": "Current", + "current_session": "This is the current session", + "clear_message": "All other devices connected to this account will be disconnected", + "clear": "Clear all other sessions" + }, + "vocabulary": { + "title": "Vocabulary entries", + "choose_vocabulary": "Choose a vocabulary to edit", + "type": "Type", + "coverage": "Coverage", + "rights": "Rights", + "value": "Value", + "order": "Order", + "new_entry": "New entry" + }, + "fileimporter": { + "title": "Bulk file importer", + "advanced_users": "For advanced users!", + "need_intro": "If you need to:", + "need_1": "Import a directory of files at once", + "need_2": "Scan a directory for new files and import them", + "line_1": "Go to sismics/docs/releases and download the file importer tool for your system.", + "line_2": "Follow the instructions here to use this tool.", + "line_3": "Your files will be imported in documents according to the file importer configuration.", + "download": "Download", + "instructions": "Instructions" + } + }, + "feedback": { + "title": "Give us a feedback", + "message": "Any suggestion or question about Teedy? We listen to you!", + "sent_title": "Feedback sent", + "sent_message": "Thank you for your feedback! It will help us make Teedy even better." + }, + "import": { + "title": "Importing", + "error_quota": "Quota limit reached, contact your administrator to increase your quota", + "error_general": "An error occurred while trying to import your file, please make sure it is a valid EML file" + }, + "app_share": { + "main": "Ask a shared document link to access it", + "403": { + "title": "Not authorized", + "message": "The document you are trying to view is not shared anymore" + } + }, + "directive": { + "acledit": { + "acl_target": "For", + "acl_permission": "Permission", + "add_permission": "Add a permission", + "search_user_group": "Search a user or group" + }, + "auditlog": { + "log_created": "created", + "log_updated": "updated", + "log_deleted": "deleted", + "Acl": "ACL", + "Comment": "Comment", + "Document": "Document", + "File": "File", + "Group": "Group", + "Route": "Workflow", + "RouteModel": "Workflow model", + "Tag": "Tag", + "User": "User", + "Webhook": "Webhook" + }, + "selectrelation": { + "typeahead": "Type a document title" + }, + "selecttag": { + "typeahead": "Type a tag" + }, + "datepicker": { + "current": "Today", + "clear": "Clear", + "close": "Done" + } + }, + "filter": { + "filesize": { + "mb": "MB", + "kb": "kB" + } + }, + "acl": { + "READ": "Can read", + "READWRITE": "Can write", + "WRITE": "Can write", + "USER": "User", + "GROUP": "Group", + "SHARE": "Shared" + }, + "workflow_type": { + "VALIDATE": "Validation", + "APPROVE": "Approbation" + }, + "workflow_transition": { + "APPROVED": "Approved", + "REJECTED": "Rejected", + "VALIDATED": "Validated" + }, + "validation": { + "required": "Required", + "too_short": "Too short", + "too_long": "Too long", + "email": "Must be a valid e-mail", + "password_confirm": "Password and password confirmation must match", + "number": "Number required", + "no_space": "Spaces and colons are not allowed", + "alphanumeric": "Only letters and numbers are allowed" + }, + "action_type": { + "ADD_TAG": "Add a tag", + "REMOVE_TAG": "Remove a tag", + "PROCESS_FILES": "Process files" + }, + "pagination": { + "previous": "Previous", + "next": "Next", + "first": "First", + "last": "Last" + }, + "onboarding": { + "step1": { + "title": "First time?", + "description": "If it's your first time on Teedy, click the Next button, otherwise feel free to close me." + }, + "step2": { + "title": "Documents", + "description": "Teedy is organized in documents and each document contains multiple files." + }, + "step3": { + "title": "Files", + "description": "You can add files after creating a document or before using this Quick upload area." + }, + "step4": { + "title": "Search", + "description": "This is the main way to find your documents back. There is also an advanced search with the magnifier button." + }, + "step5": { + "title": "Tags", + "description": "Documents can be organized in tags (which are like super-folders). Create them here." + } + }, + "yes": "Yes", + "no": "No", + "ok": "OK", + "cancel": "Cancel", + "share": "Share", + "unshare": "Unshare", + "close": "Close", + "add": "Add", + "open": "Open", + "see": "See", + "save": "Save", + "export": "Export", + "edit": "Edit", + "delete": "Delete", + "rename": "Rename", + "download": "Download", + "loading": "Loading...", + "send": "Send", + "enabled": "Enabled", + "disabled": "Disabled" +} diff --git a/docs-web/src/main/webapp/src/share.html b/docs-web/src/main/webapp/src/share.html index ac317e1e..62d4c08c 100644 --- a/docs-web/src/main/webapp/src/share.html +++ b/docs-web/src/main/webapp/src/share.html @@ -71,9 +71,10 @@ Français Deutsch Española - русский + Pусский 简体中文 繁體中文 + Polski @@ -82,9 +83,10 @@
  • Français
  • Deutsch
  • Española
  • -
  • русский
  • +
  • Pусский
  • 简体中文
  • 繁體中文
  • +
  • Polski