diff --git a/CHANGES b/CHANGES index 6cedbaf7dac416c1cfa47673eaf7eab985784648..a063ae75e9b43d50e205ffeb146f66b678f672cd 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,16 @@ +v3.0.1 +------ + +- When an application does not request a specific language, use the + default one (or English) + +- Fix: applications failed to start when the system's default locale + was unsupported. + +- Now properly detects when launched with unsupported JVM (currently + v9 and v10), and informs the user before exiting. + + v3.0.0 ------ diff --git a/build.xml b/build.xml index 3fbae22a9c82bd3954d058037704263d99c03898..0509b93401665ba5f1e3497222d8ceea866dbb13 100644 --- a/build.xml +++ b/build.xml @@ -7,7 +7,7 @@ <format property="build.time" pattern="yyyy-MM-dd'T'hh:mm:ss.SSSZ"/> </tstamp> - <property name="praxis.version" value="3.0.0"/> + <property name="praxis.version" value="3.0.1"/> <!-- If not called from an other project setting praxis.home, define it. In details: - it is unset when directly building the jars of Praxis, diff --git a/data/i18n/native_to_ascii.sh b/data/i18n/native_to_ascii.sh index c0560f1a914d8817118fea7d50e62acec535a928..b6d0467b4d6667f9d9eb2678783b86379e6e24cf 100755 --- a/data/i18n/native_to_ascii.sh +++ b/data/i18n/native_to_ascii.sh @@ -1,6 +1,8 @@ #! /bin/bash shopt -s nullglob +# transform original/praxis_XX files into .properties files + cd ${0%/*}/original for lang in el en es fr; do t9n="praxis_${lang}" @@ -13,6 +15,8 @@ for lang in el en es fr; do echo "${t9n}: ${encoding} to ascii..." >&2 native2ascii -encoding "${encoding}" "${t9n}" "../${t9n}.properties" + # we use java.text.MessageFormat, escape simple quotes + sed -i -e "s/'/''/g" "../${t9n}.properties" # remove the emacs' coding system sed -i -e '/^# *-\*- coding:/ d' "../${t9n}.properties" done diff --git a/data/i18n/original/praxis_el b/data/i18n/original/praxis_el index 66ab28341da5c88ac7fc5b3a8badc782bf3bc5a6..dc3758fedd93a6b7be0060f8ff4d3d6cc71e7a5e 100644 --- a/data/i18n/original/praxis_el +++ b/data/i18n/original/praxis_el @@ -54,8 +54,8 @@ UI.actions.zoom_original = Ζουμ 1:1 UI.actions.zoom_original_tt = Επαναφέρει τον προεπιλεγμένο συντελεστή ζουμ UI.actions.zoom_out = Σμίκρυνση UI.actions.zoom_out_tt = Σχεδιάζει μια μικρότερη ροή εργασιών για να δείξει ένα μεγαλύτερο μέρος της -UI.annotation.for_workflow = Σχόλιο για τη ροή εργασιών ''{0}'' -UI.annotation.for_program = Σχόλιο για το πρόγραμμα: ''{0}'' +UI.annotation.for_workflow = Σχόλιο για τη ροή εργασιών '{0}' +UI.annotation.for_program = Σχόλιο για το πρόγραμμα: '{0}' UI.ctrlwf.run.file_does_not_exist = Το Αρχείο {0} δεν υπάρχει UI.ctrlwf.run.file_unreadable = Το Αρχείο {0} δεν μπορεί να διαβαστεί UI.ctrlwf.run.zip_failed = Η εκτέλεση της ροής εργασιών απέτυχε: παρουσιάστηκε μη αναμενόμενο σφάλμα κατά την προετοιμασία της εκτέλεσης\n\ @@ -298,9 +298,9 @@ UI.menu_items.changes = Τροποποιήσει UI.menu_items.languages = Ρυθμίσεις Γλώσσας... (Language settings…) # value = language (translated language) +UI.menu_items.language.fr = Français (Γαλλικά) UI.menu_items.language.el = Ελληνικά UI.menu_items.language.en = English (Αγγλικά) -UI.menu_items.language.fr = Français (Γαλλικά) UI.menu_items.language.es = Español (Ισπανικά) UI.progtree.database = Βάση δεδομένων @@ -335,34 +335,41 @@ common.error = Σφάλμα common.no = Όχι common.yes = Ναι common.warning = Προειδοποίηση -common.client_out_of_date = Αυτό το πρόγραμμα-πελάτης είναι εκτός λειτουργίας:\nΕπιλέξτε να κάνετε λήψη του νέου προγράμματος-πελάτη! +common.client_out_of_date = Αυτό το πρόγραμμα-πελάτης είναι εκτός λειτουργίας:\n\ +Επιλέξτε να κάνετε λήψη του νέου προγράμματος-πελάτη! common.client_out_of_date_title = Το πρόγραμμα-πελάτης δεν είναι ενημερωμένο -common.cnx_rejected.invalid_credentials = Δεν είναι δυνατή η σύνδεση με τον διακομιστή:\nμη έγκυρα διαπιστευτήρια. +common.cnx_rejected.invalid_credentials = Δεν είναι δυνατή η σύνδεση με τον διακομιστή:\n\ +μη έγκυρα διαπιστευτήρια. common.cnx_rejected.invalid_credentials_title = Αποτυχία σύνδεσης -common.cnx_rejected.client_already_connected = Δεν είναι δυνατή η σύνδεση με τον διακομιστή:\nαυτός ο χρήστης είναι ήδη συνδεδεμένος. +common.cnx_rejected.client_already_connected = Δεν είναι δυνατή η σύνδεση με τον διακομιστή:\n\ +αυτός ο χρήστης είναι ήδη συνδεδεμένος. common.cnx_rejected.client_already_connected_title = Αποτυχία σύνδεσης common.cnx_rejected.client_login_disabled = Ο διακομιστής απορρίπτει τις συνδέσεις, δοκιμάστε ξανά αργότερα. common.cnx_rejected.client_login_disabled_title = Αποτυχία σύνδεσης -common.cnx_rejected.client_login_disabled_w_reason = Ο διακομιστής απορρίπτει τις συνδέσεις\n{0} +common.cnx_rejected.client_login_disabled_w_reason = Ο διακομιστής απορρίπτει τις συνδέσεις\n\ +{0} common.cnx_rejected.client_login_disabled_w_reason_title = Αποτυχία σύνδεσης -common.cnx_rejected.maximum_number_of_clients = Η σύνδεση απορρίφθηκε: ο διακομιστής δεν μπορεί να δεχτεί περισσότερες συνδέσεις\nΔοκιμάστε ξανά αργότερα\n\nΖητάμε συγνώμη για την ταλαιπωρία. +common.cnx_rejected.maximum_number_of_clients = Η σύνδεση απορρίφθηκε: ο διακομιστής δεν μπορεί να δεχτεί περισσότερες συνδέσεις\n\ +Δοκιμάστε ξανά αργότερα\n\ +\n\ +Ζητάμε συγνώμη για την ταλαιπωρία. common.cnx_rejected.maximum_number_of_clients_title = Άρνηση σύνδεσης -wf.xmlwarnings.prg_desc_does_not_exists = Η ροή εργασιών χρησιμοποίησε ένα πρόγραμμα με όνομα '' {0} '' το οποίο δεν είναι πλέον διαθέσιμο. -wf.xmlwarnings.prg_desc_replace_by_alternative = Η ροή εργασιών χρησιμοποίησε ένα πρόγραμμα με όνομα '' {0} '' το οποίο δεν είναι πλέον διαθέσιμο.\n\ -Έχει αντικατασταθεί από το πρόγραμμα ''{1}''.\n\ +wf.xmlwarnings.prg_desc_does_not_exists = Η ροή εργασιών χρησιμοποίησε ένα πρόγραμμα με όνομα ' {0} ' το οποίο δεν είναι πλέον διαθέσιμο. +wf.xmlwarnings.prg_desc_replace_by_alternative = Η ροή εργασιών χρησιμοποίησε ένα πρόγραμμα με όνομα ' {0} ' το οποίο δεν είναι πλέον διαθέσιμο.\n\ +Έχει αντικατασταθεί από το πρόγραμμα '{1}'.\n\ Είναι πιθανό αυτή η έκδοση να μην είναι πλήρως συμβατή με την παλαιότερη. Aν είναι απαραίτητο, θα εμφανιστούν στη συνέχεια οι προειδοποιήσεις \ για να δώσουν όλες τις λεπτομέρειες σχετικά με αυτές τις πιθανές ασυμβατότητες. -wf.xmlwarnings.prg_declares_invalid_param = Το πρόγραμμα '' {0} '' χρησιμοποίησε μια παράμετρο με το όνομα '' {1} '' που δεν ισχύει πια \ -(η τιμή για αυτήν την παράμετρο ήταν: ''{2}''). -wf.xmlwarnings.prg_param_has_invalid_value = Το πρόγραμμα '' {0} '' δηλώνει μη έγκυρη τιμή για την παράμετρο '' {1} ''. Αυτή η τιμή \ -ήταν '' {2} '' και δεν ισχύει πια: η τιμή της παραμέτρου επαναφέρεται στην προεπιλεγμένη τιμή''{3}''. -wf.xmlwarnings.prg_has_invalid_link = Το πρόγραμμα '' {0} '' συνδέθηκε με την έξοδο του προγράμματος '' {1} '' (η έξοδος προσδιορίστηκε ως '' {2} '') αλλά ο σύνδεσμος είναι άκυρος\ -(είτε το '' {1} '' δεν είναι πλέον ένα έγκυρο πρόγραμμα στη ροή εργασιών, ή η αντίστοιχη έξοδος του δεν είναι πλέον έγκυρη).\n\ +wf.xmlwarnings.prg_declares_invalid_param = Το πρόγραμμα ' {0} ' χρησιμοποίησε μια παράμετρο με το όνομα ' {1} ' που δεν ισχύει πια \ +(η τιμή για αυτήν την παράμετρο ήταν: '{2}'). +wf.xmlwarnings.prg_param_has_invalid_value = Το πρόγραμμα ' {0} ' δηλώνει μη έγκυρη τιμή για την παράμετρο ' {1} '. Αυτή η τιμή \ +ήταν ' {2} ' και δεν ισχύει πια: η τιμή της παραμέτρου επαναφέρεται στην προεπιλεγμένη τιμή'{3}'. +wf.xmlwarnings.prg_has_invalid_link = Το πρόγραμμα ' {0} ' συνδέθηκε με την έξοδο του προγράμματος ' {1} ' (η έξοδος προσδιορίστηκε ως ' {2} ') αλλά ο σύνδεσμος είναι άκυρος\ +(είτε το ' {1} ' δεν είναι πλέον ένα έγκυρο πρόγραμμα στη ροή εργασιών, ή η αντίστοιχη έξοδος του δεν είναι πλέον έγκυρη).\n\ Δεν ήταν δυνατή η αποκατάσταση της σύνδεσης μεταξύ των δύο προγραμμάτων. -wf.xmlwarnings.prg_link_is_inactive = Η έξοδος '' {1} '' του προγράμματος '' {0} '' και η είσοδος '' {3} '' του προγράμματος ''{2}'' \ +wf.xmlwarnings.prg_link_is_inactive = Η έξοδος ' {1} ' του προγράμματος ' {0} ' και η είσοδος ' {3} ' του προγράμματος '{2}' \ συνδέθηκαν το ένα με το άλλο, αλλά τουλάχιστον το ένα από τα δύο δεν ενεργοποιείται στην τρέχουσα παραμετροποίηση αυτών των δύο προγραμμάτων.\n\ Δεν ήταν δυνατή η αποκατάσταση της σύνδεσης μεταξύ των δύο προγραμμάτων. -wf.xmlwarnings.prg_contains_useless_parameter = Πληροφορίες: Το πρόγραμμα '' {0} '' δηλώνει μια παράμετρο '' {1} '' (παράμετρος '' {2} ''): +wf.xmlwarnings.prg_contains_useless_parameter = Πληροφορίες: Το πρόγραμμα ' {0} ' δηλώνει μια παράμετρο ' {1} ' (παράμετρος ' {2} '): αυτή η παράμετρος αγνοείται (Σημείωση: αυτό το μήνυμα είναι καθαρά ενημερωτικό, μπορεί να αγνοηθεί με ασφάλεια) eu.telecom_bretagne.praxis.core.execution.Result.Status.UNSET = Απενεργοποίηση eu.telecom_bretagne.praxis.core.execution.Result.Status.SUBMITTED = Υποβλήθηκε diff --git a/data/i18n/original/praxis_en b/data/i18n/original/praxis_en index 7bb0ece406bec7c03a198d94981782d391f7aa93..c895e75d1974e9d24cbeb193a4a4953d5bf16ab0 100644 --- a/data/i18n/original/praxis_en +++ b/data/i18n/original/praxis_en @@ -10,7 +10,7 @@ UI.actions.display_preferences.error = An error happened when b UI.actions.execute_wf.confirm = Are you sure you want to execute the workflow {0}? UI.actions.execute_wf.error = Execution of the workflow failed UI.actions.execute_wf.title = Confirmation of the execution of a workflow -UI.actions.execute_wf.invalid_workflow = Cannot execute an invalid workflow, please check the programs'' parameters and that all inputs are connected. +UI.actions.execute_wf.invalid_workflow = Cannot execute an invalid workflow, please check the programs' parameters and that all inputs are connected. UI.actions.finished_exec.msg = The workflow {0} has successfully been executed UI.actions.finished_exec_with_errors.msg = The execution of {0} is finished: an error occurred UI.actions.finished_exec_with_warnings.msg = The execution of {0} is finished; there were some warnings, check the results for details @@ -33,18 +33,18 @@ UI.actions.wf_new = New UI.actions.wf_new_tt = Create a new workflow UI.actions.wf_open = Open... UI.actions.wf_open_tt = Open an existing workflow -UI.actions.wf_open_err_no_workflow = <html>There isn''t any existing workflows yet!<br/>\ +UI.actions.wf_open_err_no_workflow = <html>There isn't any existing workflows yet!<br/>\ To create a new workflow, use the menu "Workflow" and select "New"</html> UI.actions.wf_open_err_all_workflows_already_opened = All existing workflows are already opened! UI.actions.wf_save = Save UI.actions.wf_save_as = Save as... UI.actions.wf_save_as_tt = Save as... UI.actions.wf_save_tt = Save the current workflow -UI.actions.show_results.connect_err = Results couldn''t be retrieved +UI.actions.show_results.connect_err = Results couldn't be retrieved UI.actions.show_results.connect_err.title = Connection error UI.actions.show_results.empty = No result available for this workflow UI.actions.show_results.empty.title = Results -UI.actions.stop_exec.error = Error: execution couldn''t be stopped +UI.actions.stop_exec.error = Error: execution couldn't be stopped UI.actions.valid_links_confirm = Are you sure you want to deactivate the automatic checking of validity of links between programs? UI.actions.create_file_error = Cannot create file {0} UI.actions.create_existing_file_error = Cannot create file {0}: it already exists @@ -54,8 +54,8 @@ UI.actions.zoom_original = Zoom 1:1 UI.actions.zoom_original_tt = Restores the default zoom factor UI.actions.zoom_out = Zoom Out UI.actions.zoom_out_tt = Draws a smaller workflow to show a larger part of it -UI.annotation.for_workflow = Annotation for workflow ''{0}'' -UI.annotation.for_program = Annotation for program: ''{0}'' +UI.annotation.for_workflow = Annotation for workflow '{0}' +UI.annotation.for_program = Annotation for program: '{0}' UI.ctrlwf.run.file_does_not_exist = File {0} does not exist UI.ctrlwf.run.file_unreadable = File {0} cannot be read UI.ctrlwf.run.zip_failed = Failed to execute the workflow: an unexpected error happened while preparing execution\n\ @@ -228,7 +228,7 @@ UI.menu_items.about = About... UI.menu_items.about_tt = About the software UI.menu_items.check_valid_links = Check that links are valid UI.menu_items.check_valid_links_tt = Activate/deactivate the automatic feature which checks that two elements of a workflow (programs, files or databases) are compatible when you try to link one with another -UI.menu_items.open_all_results = Open all results'' files automatically +UI.menu_items.open_all_results = Open all results' files automatically UI.menu_items.open_all_results_tt = Open all files automatically when a result is displayed UI.menu_items.options = Options... UI.menu_items.options_tt = Options @@ -247,9 +247,9 @@ UI.menu_items.exit_tt = Exits the application UI.menu_items.help = Help UI.menu_items.help_tt = Help UI.menu_items.paste = Paste -UI.menu_items.paste_tt = Paste the clipboard''s content into the current workflow +UI.menu_items.paste_tt = Paste the clipboard's content into the current workflow UI.menu_items.properties = Properties... -UI.menu_items.properties_tt = Modify the selected object''s properties +UI.menu_items.properties_tt = Modify the selected object's properties UI.menu_items.wf_delete = Delete workflow UI.menu_items.wf_delete_tt = Delete the current workflow UI.menu_items.result_delete = Delete this result @@ -265,7 +265,7 @@ UI.menu_items.wf_execute_tt = Execute the current work UI.menu_items.wf_rename = Rename... UI.menu_items.wf_rename_tt = Rename the current workflow UI.menu_items.wf_results = Results -UI.menu_items.wf_results_tt = Show the workflow''s results +UI.menu_items.wf_results_tt = Show the workflow's results UI.menu_items.show_statusbar = Status bar UI.menu_items.show_statusbar_tt = Show/hide the status bar UI.menu_items.show_toolbar = Toolbar @@ -335,35 +335,42 @@ common.error = Error common.no = No common.yes = Yes common.warning = Warning -common.client_out_of_date = This client is out-of-date:\nplease download the new client! +common.client_out_of_date = This client is out-of-date:\n\ +please download the new client! common.client_out_of_date_title = Client out-of-date -common.cnx_rejected.invalid_credentials = Cannot connect to the server:\ninvalid credentials. +common.cnx_rejected.invalid_credentials = Cannot connect to the server:\n\ +invalid credentials. common.cnx_rejected.invalid_credentials_title = Connection failed -common.cnx_rejected.client_already_connected = Cannot connect to the server:\nthis user is already connected. +common.cnx_rejected.client_already_connected = Cannot connect to the server:\n\ +this user is already connected. common.cnx_rejected.client_already_connected_title = Connection failed common.cnx_rejected.client_login_disabled = The server is currently refusing connections, please try again later. common.cnx_rejected.client_login_disabled_title = Connection failed -common.cnx_rejected.client_login_disabled_w_reason = The server is currently refusing connections\n{0} +common.cnx_rejected.client_login_disabled_w_reason = The server is currently refusing connections\n\ +{0} common.cnx_rejected.client_login_disabled_w_reason_title = Connection failed -common.cnx_rejected.maximum_number_of_clients = Connection refused: the server cannot accept more connections\nPlease try again a moment later\n\nWe apology for the inconvenience. +common.cnx_rejected.maximum_number_of_clients = Connection refused: the server cannot accept more connections\n\ +Please try again a moment later\n\ +\n\ +We apology for the inconvenience. common.cnx_rejected.maximum_number_of_clients_title = Connection refused -wf.xmlwarnings.prg_desc_does_not_exists = The workflow used a program named ''{0}'' which is not available anymore. -wf.xmlwarnings.prg_desc_replace_by_alternative = The workflow used a program named ''{0}'' which is not available anymore.\n\ -It has been replaced with the programme ''{1}''.\n\ +wf.xmlwarnings.prg_desc_does_not_exists = The workflow used a program named '{0}' which is not available anymore. +wf.xmlwarnings.prg_desc_replace_by_alternative = The workflow used a program named '{0}' which is not available anymore.\n\ +It has been replaced with the programme '{1}'.\n\ It is possible that this version is not fully compatible with the older one; if necessary, warnings will be displayed hereafter \ to give the full details on these possible incompatibilities. -wf.xmlwarnings.prg_declares_invalid_param = The program ''{0}'' used a parameter named ''{1}'' which is not valid anymore \ -(the value for this parameter was: ''{2}''). -wf.xmlwarnings.prg_param_has_invalid_value = The program ''{0}'' declared an invalid value for parameter ''{1}''. This value \ -was ''{2}'' and it is not valid anymore: the parameter''s value was reset to the default value ''{3}''. -wf.xmlwarnings.prg_has_invalid_link = The program ''{0}'' was linked to an output of the program ''{1}'' (output identified as ''{2}'') but the link is invalid \ -(either ''{1}'' is not longer a valid program in the workflow, or its corresponding output is not valid anymore).\n\ +wf.xmlwarnings.prg_declares_invalid_param = The program '{0}' used a parameter named '{1}' which is not valid anymore \ +(the value for this parameter was: '{2}'). +wf.xmlwarnings.prg_param_has_invalid_value = The program '{0}' declared an invalid value for parameter '{1}'. This value \ +was '{2}' and it is not valid anymore: the parameter's value was reset to the default value '{3}'. +wf.xmlwarnings.prg_has_invalid_link = The program '{0}' was linked to an output of the program '{1}' (output identified as '{2}') but the link is invalid \ +(either '{1}' is not longer a valid program in the workflow, or its corresponding output is not valid anymore).\n\ The link between the two programs could not be restored. -wf.xmlwarnings.prg_link_is_inactive = The output ''{1}'' of program ''{0}'' and the input ''{3}'' of program ''{2}'' \ +wf.xmlwarnings.prg_link_is_inactive = The output '{1}' of program '{0}' and the input '{3}' of program '{2}' \ were linked one to each other, but at least one of them is not activated in the current parametering of these two programs.\n\ The link between the two programs could not be restored. -wf.xmlwarnings.prg_contains_useless_parameter = Info: the program ''{0}'' declares a parameter ''{1}'' (param.''s type is ''{2}''): \ +wf.xmlwarnings.prg_contains_useless_parameter = Info: the program '{0}' declares a parameter '{1}' (param.'s type is '{2}'): \ this parameter is ignored (Note: this message is purely informational, it can be safely ignored) eu.telecom_bretagne.praxis.core.execution.Result.Status.UNSET = Unset diff --git a/data/i18n/original/praxis_es b/data/i18n/original/praxis_es index 1e9568d93800ba5189e5375769d259639881c499..478520d4e72c397935479e70a5ca575500f6dcfe 100644 --- a/data/i18n/original/praxis_es +++ b/data/i18n/original/praxis_es @@ -368,33 +368,41 @@ common.error = Error common.no = No common.yes = S� common.warning = Atenci�n -common.client_out_of_date = Este cliente est� desactualizado: \n�por favor descargue un nuevo cliente! +common.client_out_of_date = Este cliente est� desactualizado: \n\ +�por favor descargue un nuevo cliente! common.client_out_of_date_title = Cliente desactualizado -common.cnx_rejected.invalid_credentials = No se puede conectar con el servidor:\ncredenciales no v�lidas. +common.cnx_rejected.invalid_credentials = No se puede conectar con el servidor:\n\ +credenciales no v�lidas. common.cnx_rejected.invalid_credentials_title = Error en la connexi�n -common.cnx_rejected.client_already_connected = No se puede conectar con el servidor:\neste usuario ya est� conectado. +common.cnx_rejected.client_already_connected = No se puede conectar con el servidor:\n\ +este usuario ya est� conectado. common.cnx_rejected.client_already_connected_title = Error en la connexi�n common.cnx_rejected.client_login_disabled = El servidor no admite conexi�nes en este momento, por favor int�ntelo de nuevo m�s tarde. common.cnx_rejected.client_login_disabled_title = Error en la connexi�n -common.cnx_rejected.client_login_disabled_w_reason = El servidor no admite conexi�nes en este momento\n{0} +common.cnx_rejected.client_login_disabled_w_reason = El servidor no admite conexi�nes en este momento\n\ +{0} common.cnx_rejected.client_login_disabled_w_reason_title = Error en la connexi�n -common.cnx_rejected.maximum_number_of_clients = Conexi�n rechazada: el servidor no puede aceptar m�s conexiones\nPor favor int�ntelo de nuevo m�s tarde\n\nDisculpe los problemas ocasionados. +common.cnx_rejected.maximum_number_of_clients = Conexi�n rechazada: el servidor no puede aceptar m�s conexiones\n\ +Por favor int�ntelo de nuevo m�s tarde\n\ +\n\ +Disculpe los problemas ocasionados. common.cnx_rejected.maximum_number_of_clients_title = Conexi�n rechazada -wf.xmlwarnings.prg_desc_does_not_exists = El diagrama de flujo us� un programa llamado ''{0}'' que ya no est� disponible. -wf.xmlwarnings.prg_desc_replace_by_alternative = El diagrama de flujo us� un programa llamado ''{0}'' que ya no est� disponible.\n\ -Ha sido reemplazado con el programa ''{1}''.\n\ +wf.xmlwarnings.prg_desc_does_not_exists = El diagrama de flujo us� un programa llamado '{0}' que ya no est� disponible. +wf.xmlwarnings.prg_desc_replace_by_alternative = El diagrama de flujo us� un programa llamado '{0}' que ya no est� disponible.\n\ +Ha sido reemplazado con el programa '{1}'.\n\ Es posible que esta versi�n no sea totalmente compatible con la antigua; si es necesario, se mostrar�n las advertencias a continuaci�n \ para dar detalles completos de estas posibles incompatibilidades -wf.xmlwarnings.prg_declares_invalid_param = El programa ''{0}'' us� un par�metro denominado ''{1}'' que ya no est� disponible \ -(el valor de este par�metro era: ''{2}''). -wf.xmlwarnings.prg_param_has_invalid_value = El programa ''{0}'' declar� un valor no v�lido para el par�metro ''{1}''. Este valor \ -era ''{2}'' y ya no es v�lido: el valor del par�metro se restableci� al valor por defecto ''{3}''. -wf.xmlwarnings.prg_has_invalid_link = El programa ''{0}'' fue unido a un resultado del programa �{1}� (la salida se identific� como ''{2}'') pero el enlace no es v�lido \ -(otro ''{1}'' ya no es un programa v�lido en el diagrama de flujo, o su salida correspondiente ya no es v�lida).\n\ El enlace entre dos programas no se ha podido restaurar. -wf.xmlwarnings.prg_link_is_inactive = La salida ''{1}'' del programa ''{0}'' y del input ''{3}'' del programa ''{2}'' \ +wf.xmlwarnings.prg_declares_invalid_param = El programa '{0}' us� un par�metro denominado '{1}' que ya no est� disponible \ +(el valor de este par�metro era: '{2}'). +wf.xmlwarnings.prg_param_has_invalid_value = El programa '{0}' declar� un valor no v�lido para el par�metro '{1}'. Este valor \ +era '{2}' y ya no es v�lido: el valor del par�metro se restableci� al valor por defecto '{3}'. +wf.xmlwarnings.prg_has_invalid_link = El programa '{0}' fue unido a un resultado del programa �{1}� (la salida se identific� como '{2}') pero el enlace no es v�lido \ +(otro '{1}' ya no es un programa v�lido en el diagrama de flujo, o su salida correspondiente ya no es v�lida).\n\ +El enlace entre dos programas no se ha podido restaurar. +wf.xmlwarnings.prg_link_is_inactive = La salida '{1}' del programa '{0}' y del input '{3}' del programa '{2}' \ estaban unidos, pero al menos uno de ellos no est� activado en la actual parametrizaci�n de esos dos programas.\n\ El enlace entre los dos programas no podr� ser restaurado. -wf.xmlwarnings.prg_contains_useless_parameter = Info: el programa ''{0}'' declara un par�metro ''{1}'' (el tipo del param.''s es ''{2}''): \ +wf.xmlwarnings.prg_contains_useless_parameter = Info: el programa '{0}' declara un par�metro '{1}' (el tipo del param.'s es '{2}'): \ se ha ignorado este par�metro (Nota: este mensaje es puramente informativo, se puede ignorar de forma segura) eu.telecom_bretagne.praxis.core.execution.Result.Status.UNSET = Desestablecer diff --git a/data/i18n/original/praxis_fr b/data/i18n/original/praxis_fr index 4014552faab92e8ab5faca92ba6754e0f79195e9..671478f1ca703f2eb9457ac43ad6e05506d5d9b6 100644 --- a/data/i18n/original/praxis_fr +++ b/data/i18n/original/praxis_fr @@ -1,30 +1,30 @@ # -*- coding: utf-8 -*- UI.OptionsDialog.title = Options -UI.TabbedPane.close = Fermer l''onglet +UI.TabbedPane.close = Fermer l'onglet UI.TabbedPane.close_others = Fermer les autres onglets UI.TabbedPane.close_all = Fermer tous les onglets UI.TabbedPane.results = Tous les résultats... UI.actions.display_preferences.error = Une erreur est survenue lors de la création du panneau de préférence. UI.actions.execute_wf.confirm = Êtes-vous sûr de vouloir exécuter le workflow {0}? -UI.actions.execute_wf.error = L''exécution du workflow a échoué -UI.actions.execute_wf.title = Confirmation de l''exécution d''un workflow -UI.actions.execute_wf.invalid_workflow = Impossible d''exécuter le workflow: veuillez vérifier que toutes les entrées sont connectées, et que chaque programme a un paramètrage valide. -UI.actions.finished_exec.msg = L''exécution du workflow {0} s''est terminée avec succès -UI.actions.finished_exec_with_errors.msg = L''exécution du workflow {0} est terminée: une erreur s''est produite -UI.actions.finished_exec_with_warnings.msg = L''exécution du workflow {0} est terminée, avec des avertissements: voir le détail dans les résultats -UI.actions.finished_exec.title = Fin de l''exécution d''un workflow +UI.actions.execute_wf.error = L'exécution du workflow a échoué +UI.actions.execute_wf.title = Confirmation de l'exécution d'un workflow +UI.actions.execute_wf.invalid_workflow = Impossible d'exécuter le workflow: veuillez vérifier que toutes les entrées sont connectées, et que chaque programme a un paramètrage valide. +UI.actions.finished_exec.msg = L'exécution du workflow {0} s'est terminée avec succès +UI.actions.finished_exec_with_errors.msg = L'exécution du workflow {0} est terminée: une erreur s'est produite +UI.actions.finished_exec_with_warnings.msg = L'exécution du workflow {0} est terminée, avec des avertissements: voir le détail dans les résultats +UI.actions.finished_exec.title = Fin de l'exécution d'un workflow UI.actions.wf_close = Fermer UI.actions.wf_close_tt = Fermer le workflow courant UI.actions.wf_close_all = Tout fermer UI.actions.wf_close_all_tt = Fermer tous les workflows UI.actions.wf_close_others = Fermer les autres UI.actions.wf_close_others_tt = Fermer les autres workflows -UI.actions.wf_export = Exporter sans les fichiers d''entrées...... +UI.actions.wf_export = Exporter sans les fichiers d'entrées...... UI.actions.wf_export_tt = Exporter un workflow -UI.actions.wf_export_with_infiles = Exporter avec les fichiers d''entrées... -UI.actions.wf_export_with_infiles_tt = Exporter un workflow avec tous ses fichiers d''entrées, dans un fichier zip +UI.actions.wf_export_with_infiles = Exporter avec les fichiers d'entrées... +UI.actions.wf_export_with_infiles_tt = Exporter un workflow avec tous ses fichiers d'entrées, dans un fichier zip UI.actions.wf_import = Importer... UI.actions.wf_import_as_new = Importer dans un nouveau workflow... UI.actions.wf_import_as_new_tt = Importer un workflow dans un nouveau workflow @@ -33,7 +33,7 @@ UI.actions.wf_new = Nouveau UI.actions.wf_new_tt = Créer un nouveau workflow UI.actions.wf_open = Ouvrir... UI.actions.wf_open_tt = Ouvrir un workflow existant -UI.actions.wf_open_err_no_workflow = <html>Aucun workflow n''a encore été créé !<br/>\ +UI.actions.wf_open_err_no_workflow = <html>Aucun workflow n'a encore été créé !<br/>\ Pour en créer un nouveau: menu <b>Workflow</b> puis <b>Nouveau</b></br> UI.actions.wf_open_err_all_workflows_already_opened = Tous les workflows existants sont déjà ouverts ! UI.actions.wf_save = Sauvegarder @@ -42,9 +42,9 @@ UI.actions.wf_save_as_tt = Sauvegarder sous... UI.actions.wf_save_tt = Sauvegarder le workflow courant UI.actions.show_results.connect_err = Impossible de récupérer la liste des résultats UI.actions.show_results.connect_err.title = Erreur de connexion -UI.actions.show_results.empty = Aucun résultat n''est disponible pour ce workflow +UI.actions.show_results.empty = Aucun résultat n'est disponible pour ce workflow UI.actions.show_results.empty.title = Visualisation des résultats -UI.actions.stop_exec.error = Erreur: l''exécution n''a pas pu être arrêtée +UI.actions.stop_exec.error = Erreur: l'exécution n'a pas pu être arrêtée UI.actions.valid_links_confirm = Êtes-vous certain(e) de vouloir désactiver la vérification automatique de la validité des liens entre programmes? UI.actions.create_file_error = Impossible de créer le fichier {0} UI.actions.create_existing_file_error = Impossible de créer le fichier {0}: il existe déjà @@ -54,16 +54,16 @@ UI.actions.zoom_original = Zoom 1:1 UI.actions.zoom_original_tt = Rétablit le facteur de zoom par défaut UI.actions.zoom_out = Zoom arrière UI.actions.zoom_out_tt = Dessine un workflow plus petit pour en voir une portion plus large -UI.annotation.for_workflow = Annotation du workflow ''{0}'' -UI.annotation.for_program = Annotation du programme: ''{0}'' -UI.ctrlwf.run.file_does_not_exist = Le fichier {0} n''existe pas +UI.annotation.for_workflow = Annotation du workflow '{0}' +UI.annotation.for_program = Annotation du programme: '{0}' +UI.ctrlwf.run.file_does_not_exist = Le fichier {0} n'existe pas UI.ctrlwf.run.file_unreadable = Impossible de lire le fichier {0} -UI.ctrlwf.run.zip_failed = Impossible d''exécuter le workflow: une erreur inattendue est survenue lors de la préparation de l''exécution\n\ +UI.ctrlwf.run.zip_failed = Impossible d'exécuter le workflow: une erreur inattendue est survenue lors de la préparation de l'exécution\n\ \n\ Détail:\n\ {0}\n\ -UI.ctrlwf.run.zip_failed_missing_file = Impossible d''exécuter le workflow: au moins un des fichiers utilisés n''existe pas !\n\ +UI.ctrlwf.run.zip_failed_missing_file = Impossible d'exécuter le workflow: au moins un des fichiers utilisés n'existe pas !\n\ \n\ Détail:\n\ {0}\n\ @@ -85,10 +85,10 @@ UI.dialog.about_content = <html>\ UI.dialog.about_msg = UI.dialog.connection.connect_to_server = Établir la connexion au serveur : UI.dialog.connection.enter_login_passwd = Veuillez saisir votre identifiant et votre mot de passe -UI.dialog.connection.login = Nom d''utilisateur : +UI.dialog.connection.login = Nom d'utilisateur : UI.dialog.connection.passwd = Mot de passe : UI.dialog.connection.server = Serveur (hôte:port) : -UI.dialog.connection.title = Ouverture de l''application... +UI.dialog.connection.title = Ouverture de l'application... UI.dialog.connection_failure = Impossible de se connecter au serveur, veuillez réessayer ultérieurement UI.dialog.connection_failure_title = Échec de la connexion UI.dialog.datasource_inputs.add = Ajouter @@ -101,11 +101,11 @@ UI.dialog.disconnect_confirm = Souhaitez-vous vous déc UI.dialog.disconnect_confirm_title = Déconnexion du serveur UI.dialog.error = Erreur ! UI.dialog.file_chooser.title = Ajout de fichiers -UI.dialog.file.overwrite = Le fichier existe déjà: l''écraser? +UI.dialog.file.overwrite = Le fichier existe déjà: l'écraser? UI.dialog.help.title = Aide UI.dialog.help.not_available = Aucune aide disponible pour le moment -UI.dialog.image.save.failed_title = Échec de l''enregistrement -UI.dialog.image.save.failed = L''image n''a pas pu être sauvegardée: une erreur est survenue +UI.dialog.image.save.failed_title = Échec de l'enregistrement +UI.dialog.image.save.failed = L'image n'a pas pu être sauvegardée: une erreur est survenue UI.dialog.import.label_wf = Workflow UI.dialog.import.label_ws = Espace de travail UI.dialog.import.msg_wf = Quel workflow voulez-vous importer? @@ -113,11 +113,11 @@ UI.dialog.import.title = Import UI.dialog.save_as.title = Sauvegarder sous UI.dialog.rename.title = Renommer UI.dialog.logging_err_msg = Impossible de se connecter: utilisateur/mot de passe incorrects -UI.dialog.login_mandatory = Vous devez au moins fournir un nom d''utilisateur ! +UI.dialog.login_mandatory = Vous devez au moins fournir un nom d'utilisateur ! UI.dialog.open.label_wf = Sélectionner un workflow à ouvrir:\n\ \n\ -UI.dialog.open.label_ws = Sélectionner l''espace de travail à ouvrir:\n\ +UI.dialog.open.label_ws = Sélectionner l'espace de travail à ouvrir:\n\ \n\ UI.dialog.open.title = Ouverture @@ -127,27 +127,27 @@ UI.dialog.datasource.incorrect_name_title = Nom incorrect UI.dialog.datasource.incorrect_name = Les caractères :, ?, /, \\, <, >, \" et | ne sont pas autorisés UI.dialog.datasource.name_already_exists = Il existe déjà une entrée portant ce nom. Veuillez en choisir un autre. UI.dialog.prg_properties.descr_window_title = Description de: {0} -UI.dialog.prg_properties.main_label = Description de: {0} (cliquer pour l''afficher) +UI.dialog.prg_properties.main_label = Description de: {0} (cliquer pour l'afficher) UI.dialog.prg_properties.parameters = Paramètres : UI.dialog.prg_properties.parameters_default = (et leur valeur par défaut) UI.dialog.prg_properties.title = Propriétés de programme UI.dialog.quit = Quitter UI.dialog.quit_and_disconnect_msg = \n\ -Voulez-vous quitter l''application?\n\ +Voulez-vous quitter l'application?\n\ -UI.dialog.quit_msg = Voulez-vous quitter l''application? +UI.dialog.quit_msg = Voulez-vous quitter l'application? UI.dialog.save_ws.btn_none = Aucun UI.dialog.save_ws.btn_ok = OK UI.dialog.save_ws.msg = Sélectionner les workflows à sauvegarder : UI.dialog.save_ws.title = Sauvegarde de {0} UI.dialog.wf.already_opened = Ce workflow est déjà ouvert ! UI.dialog.wf.close_confirm = Voulez-vous sauvegarder le workflow "{0}" avant de le fermer? -UI.dialog.wf.close_title = Fermeture d''un workflow +UI.dialog.wf.close_title = Fermeture d'un workflow UI.dialog.wf.enter_name = Choisir un nom pour le workflow: UI.dialog.wf.creation_failed_ws_not_selected = Veuillez créer ou sélectionner un espace de travail avant de créer un workflow -UI.dialog.wf.creation_failure_title = Erreur lors de la création d''un workflow -UI.dialog.wf.creation_title = Création d''un workflow -UI.dialog.wf.delete_result_confirm_title = Effacement d''un résultat +UI.dialog.wf.creation_failure_title = Erreur lors de la création d'un workflow +UI.dialog.wf.creation_title = Création d'un workflow +UI.dialog.wf.delete_result_confirm_title = Effacement d'un résultat UI.dialog.wf.delete_result_confirm = Êtes-vous sûr(e) de vouloir effacer définitivement ce résultat ? UI.dialog.wf.delete_all_results_confirm_title = Effacement de tous les résultats UI.dialog.wf.delete_all_results_confirm = Êtes-vous sûr(e) de vouloir effacer définitivement tous les résultats de ce workflow ? @@ -155,41 +155,41 @@ UI.dialog.wf.delete = Suppression du workflow UI.dialog.wf.delete_confirm = \n\ Êtes-vous certain(e) de vouloir définitivement effacer ce workflow?\n\ \n\ -Cet opération supprimera définitivement l''ensemble de ses résultats.\n\ +Cet opération supprimera définitivement l'ensemble de ses résultats.\n\ UI.dialog.wf.existing_names = Les workflows déjà existants sont: -UI.dialog.wf.export_title = Export d''un workflow -UI.dialog.wf.export_failed = Échec de l''export -UI.dialog.wf.import_cannot_extract = Impossible d''extraire les fichiers +UI.dialog.wf.export_title = Export d'un workflow +UI.dialog.wf.export_failed = Échec de l'export +UI.dialog.wf.import_cannot_extract = Impossible d'extraire les fichiers UI.dialog.wf.import_cannot_create_dir = Impossible de créer le répertoire choisi. Vérifiez que vous avez les droits suffisants. UI.dialog.wf.import_cannot_read_zip = Impossible de lire le fichier zip -UI.dialog.wf.import_create_dir = Le répertoire choisi n''existe pas. Voulez-vous le créer? -UI.dialog.wf.import_drop_file_in_dir = Déposer les fichiers d''entré dans ce répertoire -UI.dialog.wf.import_failure = Une erreur inattendue s''est produite lors de l''importation du workflow -UI.dialog.wf.import_failure_title = Échec de l''importation d''un workflow -UI.dialog.wf.import_impossible_coz_execution = Impossible d''importer le workflow: une exécution est en cours +UI.dialog.wf.import_create_dir = Le répertoire choisi n'existe pas. Voulez-vous le créer? +UI.dialog.wf.import_drop_file_in_dir = Déposer les fichiers d'entré dans ce répertoire +UI.dialog.wf.import_failure = Une erreur inattendue s'est produite lors de l'importation du workflow +UI.dialog.wf.import_failure_title = Échec de l'importation d'un workflow +UI.dialog.wf.import_impossible_coz_execution = Impossible d'importer le workflow: une exécution est en cours UI.dialog.wf.import_invalid_archive = Archive invalide -UI.dialog.wf.import_not_a_dir = "{0}" n''est pas un répertoire. Veuillez sélectionner un répertoire. +UI.dialog.wf.import_not_a_dir = "{0}" n'est pas un répertoire. Veuillez sélectionner un répertoire. UI.dialog.wf.invalid_name_empty = Le nom ne peut pas être vide! UI.dialog.wf.invalid_name_already_exists = Un autre workflow a déjà ce nom! -UI.dialog.wf.open_failed_no_workflow = Impossible d''ouvrir un workflow: aucun n''est disponible ! -UI.dialog.wf.open_failed_xml_not_conform_to_DTD = Impossible d''ouvrir le workflow: le xml n''est pas conforme à la DTD -UI.dialog.wf.open_failure = Une erreur inattendue s''est produite lors de l''ouverture du workflow -UI.dialog.wf.rename_save_before_confirm = Le workflow a été modifié et doit être sauvegardé avant d''être renommé.\n\ +UI.dialog.wf.open_failed_no_workflow = Impossible d'ouvrir un workflow: aucun n'est disponible ! +UI.dialog.wf.open_failed_xml_not_conform_to_DTD = Impossible d'ouvrir le workflow: le xml n'est pas conforme à la DTD +UI.dialog.wf.open_failure = Une erreur inattendue s'est produite lors de l'ouverture du workflow +UI.dialog.wf.rename_save_before_confirm = Le workflow a été modifié et doit être sauvegardé avant d'être renommé.\n\ Souhaitez-vous le faire maintenant? -UI.dialog.wf.open_failure_title = Échec de l''ouverture d''un workflow +UI.dialog.wf.open_failure_title = Échec de l'ouverture d'un workflow UI.dialog.wf.open_select_workflows = Sélectionnez le(s) workflow(s) à ouvrir: -UI.dialog.wf.rename_failure_title = Échec du renommage d''un workflow +UI.dialog.wf.rename_failure_title = Échec du renommage d'un workflow UI.dialog.wf.rename_impossible = Échec du renommage (raison inconnue).\n\ -Cause d''échec possible: les fichiers correspondants sont peut-être ouverts dans un autre outil. +Cause d'échec possible: les fichiers correspondants sont peut-être ouverts dans un autre outil. UI.dialog.wf.rename_impossible_coz_execution = Impossible de renommer le workflow: une exécution est en cours UI.dialog.wf.rename_title = Renommage de {0} -UI.dialog.wf.save_title = Sauvegarde d''un workflow +UI.dialog.wf.save_title = Sauvegarde d'un workflow UI.dialog.wf.save_failed = Impossible de sauvegarder le workflow UI.dialog.wf.delete_title = Suppression du workflow {0} UI.dialog.wf.delete_confirm_msg = Êtes-vous sûr(e) de vouloir supprimer le workflow {0}? UI.dialog.wf.delete_confirm_msg_with_results = Êtes-vous sûr(e) de vouloir supprimer le workflow {0}?\n\ -Ce workflow a déjà été exécuté; l''effacer entraînera également la suppression de tous les résultats correspondants. +Ce workflow a déjà été exécuté; l'effacer entraînera également la suppression de tous les résultats correspondants. UI.dialog.wf.warnings_title = Le workflow nécessite des vérifications UI.dialog.wf.warnings = Attention: en chargeant le workflow, des incohérences ont été \ trouvées dans le paramétrage de certains programmes.\n\ @@ -198,7 +198,7 @@ Nous vous conseillons de vérifier ces corrections et de vous assurer par ailleu UI.dialog.result.rename = Nom du résultat : UI.dialog.result.rename_title = Renommage du résultat -UI.dialog.result.rename_failed_title = Échec du renommage d''un résultat +UI.dialog.result.rename_failed_title = Échec du renommage d'un résultat UI.dialog.result.rename_failed = Le renommage du résultat a échoué UI.dialog.btn_cancel = Annuler UI.dialog.btn_ok = OK @@ -227,9 +227,9 @@ UI.menu.workspace = Espace de travail UI.menu_items.about = À propos... UI.menu_items.about_tt = Informations sur le logiciel UI.menu_items.check_valid_links = Vérifier la validité des liens -UI.menu_items.check_valid_links_tt = Permet d''activer ou de désactiver la procédure automatique qui contrôle que deux éléments d''un workflow (programmes, fichiers ou bases de données) sont compatibles lorsque l''on cherche à les enchaîner l''un à la suite de l''autre. +UI.menu_items.check_valid_links_tt = Permet d'activer ou de désactiver la procédure automatique qui contrôle que deux éléments d'un workflow (programmes, fichiers ou bases de données) sont compatibles lorsque l'on cherche à les enchaîner l'un à la suite de l'autre. UI.menu_items.open_all_results = Ouvrir immédiatement tous les fichiers résultat -UI.menu_items.open_all_results_tt = Ouvre automatiquement tous les fichiers lorsqu''un résultat est sélectionné +UI.menu_items.open_all_results_tt = Ouvre automatiquement tous les fichiers lorsqu'un résultat est sélectionné UI.menu_items.options = Options... UI.menu_items.options_tt = Options du logiciel UI.menu_items.connect = Connexion @@ -241,15 +241,15 @@ UI.menu_items.delete_tt = Supprime le ou les objet UI.menu_items.disconnect = Déconnexion UI.menu_items.disconnect_tt = Déconnexion du serveur UI.menu_items.edit_rename = Renommer... -UI.menu_items.edit_rename_tt = Permet de renommer l''objet sélectionné +UI.menu_items.edit_rename_tt = Permet de renommer l'objet sélectionné UI.menu_items.exit = Quitter -UI.menu_items.exit_tt = Quitte l''application +UI.menu_items.exit_tt = Quitte l'application UI.menu_items.help = Aide UI.menu_items.help_tt = Aide UI.menu_items.paste = Coller UI.menu_items.paste_tt = Colle le contenu du presse-papier dans le workflow en cours UI.menu_items.properties = Propriétés... -UI.menu_items.properties_tt = Modifie les propriétés de l''objet sélectionné +UI.menu_items.properties_tt = Modifie les propriétés de l'objet sélectionné UI.menu_items.wf_delete = Supprimer le workflow UI.menu_items.wf_delete_tt = Supprime le workflow actuel UI.menu_items.result_delete = Supprimer ce résultat @@ -259,7 +259,7 @@ UI.menu_items.result_rename = Renommer ce résultat UI.menu_items.all_results_delete = Supprimer tous les résultats UI.menu_items.all_results_delete_tt = Supprime tous les résultats pour ce workflow UI.menu_items.wf_exec_stop = Interrompre -UI.menu_items.wf_exec_stop_tt = Interrompt l''exécution en cours +UI.menu_items.wf_exec_stop_tt = Interrompt l'exécution en cours UI.menu_items.wf_execute = Exécuter UI.menu_items.wf_execute_tt = Exécute le workflow actuel UI.menu_items.wf_rename = Renommer... @@ -268,17 +268,17 @@ UI.menu_items.wf_results = Résultats UI.menu_items.wf_results_tt = Afficher les résultats du workflow UI.menu_items.show_statusbar = Barre de statut UI.menu_items.show_statusbar_tt = Affiche/cache la barre de statut -UI.menu_items.show_toolbar = Barre d''outils -UI.menu_items.show_toolbar_tt = Affiche/cache la barre d''outils +UI.menu_items.show_toolbar = Barre d'outils +UI.menu_items.show_toolbar_tt = Affiche/cache la barre d'outils UI.menu_items.create_file = Créer le fichier UI.menu_items.open_with = Ouvrir avec... UI.menu_items.display_file_action = Voir le contenu UI.menu_items.display_file_action_tt = Voir le contenu du fichier sélectionné UI.menu_items.anti_aliasing = Antialiasing -UI.menu_items.anti_aliasing_tt = Utiliser ou non l''antialiasing +UI.menu_items.anti_aliasing_tt = Utiliser ou non l'antialiasing UI.menu_items.show_grid = Voir la grille -UI.menu_items.show_grid_tt = Afficher/masquer la grille dans l''éditeur de graphe +UI.menu_items.show_grid_tt = Afficher/masquer la grille dans l'éditeur de graphe UI.menu_items.snap_to_grid = Aligner sur la grille UI.menu_items.snap_to_grid_tt = Aligner les éléments graphiques sur la grille UI.menu_items.grid_size = Talle de la grille @@ -299,8 +299,8 @@ UI.menu_items.changes = Modifications... UI.menu_items.languages = Changer la langue... (Language settings…) # value = language (translated language) UI.menu_items.language.fr = Français -UI.menu_items.language.en = English (Anglais) UI.menu_items.language.el = Ελληνικά (Grec) +UI.menu_items.language.en = English (Anglais) UI.menu_items.language.es = Español (Espagnol) UI.progtree.database = Base de données @@ -309,8 +309,8 @@ UI.progtree.file = Fichier(s) UI.progtree.directory = Répertoire UI.progtree.programs = Programmes UI.results.info_title = Informations -UI.results.info_unimplemented = Aucune information supplémentaire n''est disponible sur ce fichier -UI.results.input_files_popup_menu = Fichiers d''entrée +UI.results.info_unimplemented = Aucune information supplémentaire n'est disponible sur ce fichier +UI.results.input_files_popup_menu = Fichiers d'entrée UI.results.file_truncated = Ce fichier de résultat est trop volumineux pour être affiché dans cette fenêtre: seul le début est affiché.\n\ Pour le visualiser en entier, sélectionnez un des visualisateurs externes disponibles. UI.results.viewers.launch_failed = Impossible de lancer le visualisateur externe sélectionné @@ -322,7 +322,7 @@ UI.tab.close = Ferme cet onglet UI.label.search = Recherche: UI.label.service_unknown = Cette ressource est inconnue: elle ne peut pas être utilisée -UI.label.invalid_program_description = La description de ce programme n''est pas valide, il ne peut être utilisé +UI.label.invalid_program_description = La description de ce programme n'est pas valide, il ne peut être utilisé UI.view.opened_workflows = Workflows ouverts UI.view.resources = Programmes @@ -335,40 +335,47 @@ common.error = Erreur common.no = Non common.yes = Oui common.warning = Attention -common.client_out_of_date = Ce client n''est plus à jour:\nveuillez s''il vous plait télécharger une nouvelle version! +common.client_out_of_date = Ce client n'est plus à jour:\n\ +veuillez s'il vous plait télécharger une nouvelle version! common.client_out_of_date_title = Mise à jour du client -common.cnx_rejected.invalid_credentials = Impossible de se connecter au serveur:\nlogin/mot de passe invalides. +common.cnx_rejected.invalid_credentials = Impossible de se connecter au serveur:\n\ +login/mot de passe invalides. common.cnx_rejected.invalid_credentials_title = Échec de la connexion -common.cnx_rejected.client_already_connected = Impossible de se connecter au serveur:\ncet utilisateur est déjà connecté. +common.cnx_rejected.client_already_connected = Impossible de se connecter au serveur:\n\ +cet utilisateur est déjà connecté. common.cnx_rejected.client_already_connected_title = Échec de la connexion common.cnx_rejected.client_login_disabled = Les connexions au serveur ne sont pas autorisées pour le moment, veuillez réessayer ultérieurement. common.cnx_rejected.client_login_disabled_title = Échec de la connexion -common.cnx_rejected.client_login_disabled_w_reason = Les connexions au serveur ne sont pas autorisées pour le moment\n{0} +common.cnx_rejected.client_login_disabled_w_reason = Les connexions au serveur ne sont pas autorisées pour le moment\n\ +{0} common.cnx_rejected.client_login_disabled_w_reason_title = Échec de la connexion -common.cnx_rejected.maximum_number_of_clients = Connexion refusée: le serveur ne peut plus accepter de nouvelles sessions\n Merci de réessayer un peu plus tard\n\nVeuillez nous excuser pour la gêne occasionnée. +common.cnx_rejected.maximum_number_of_clients = Connexion refusée: le serveur ne peut plus accepter de nouvelles sessions\n\ + Merci de réessayer un peu plus tard\n\ +\n\ +Veuillez nous excuser pour la gêne occasionnée. common.cnx_rejected.maximum_number_of_clients_title = Connection refusée -wf.xmlwarnings.prg_desc_does_not_exists = Le workflow utilisait un programme nommé ''{0}'', qui n''est plus disponible. -wf.xmlwarnings.prg_desc_replace_by_alternative = Le workflow utilisait un programme nommé ''{0}'', qui n''est plus disponible.\n\ -Il a été remplacé par le programme ''{1}''.\n\ -Il est possible que cette version ne soit pas compatible complètement avec l''ancienne; la présence d''avertissements ci-après \ +wf.xmlwarnings.prg_desc_does_not_exists = Le workflow utilisait un programme nommé '{0}', qui n'est plus disponible. +wf.xmlwarnings.prg_desc_replace_by_alternative = Le workflow utilisait un programme nommé '{0}', qui n'est plus disponible.\n\ +Il a été remplacé par le programme '{1}'.\n\ +Il est possible que cette version ne soit pas compatible complètement avec l'ancienne; la présence d'avertissements ci-après \ vous donnera, si besoin, les détails sur ces incompatibilités. -wf.xmlwarnings.prg_declares_invalid_param = Le programme ''{0}'' utilisait un paramètre ''{1}'' qui n''est plus valide \ -(la valeur pour ce paramètre était: ''{2}''). -wf.xmlwarnings.prg_param_has_invalid_value = Le programme ''{0}'' déclarait une valeur invalide pour le paramètre ''{1}''. \ -Cette valeur était ''{2}''; la valeur du paramètre a été réinitialisée à la valeur par défaut: ''{3}''. -wf.xmlwarnings.prg_has_invalid_link = Le programme ''{0}'' était relié à une sortie du programme ''{1}'' (sortie identifiée comme: ''{2}'') mais ce lien \ -n''est plus valide (soit ''{1}'' n''est plus un programme valide, soit cette sortie n''est plus valide).\n\ -Le lien entre les deux programmes n''a pas pu être rétabli. -wf.xmlwarnings.prg_link_is_inactive = La sortie ''{1}'' du programme ''{0}'' et l''entrée ''{3}'' du programme ''{2}'' \ - étaient liés l''un à l''autre, mais l''un et/ou l''autre de ces entrées/sorties n''est plus actif dans la configuration actuelle des programmes.\n\ -Le lien entre les deux programmes n''a pas pu être rétabli. -wf.xmlwarnings.prg_contains_useless_parameter = Info: le programme ''{0}'' déclare un paramètre ''{1}'' (de type ''{2}''): \ -ce paramètre est ignoré (Note: ce message est pour information seulement, vous pouvez l''ignorer) +wf.xmlwarnings.prg_declares_invalid_param = Le programme '{0}' utilisait un paramètre '{1}' qui n'est plus valide \ +(la valeur pour ce paramètre était: '{2}'). +wf.xmlwarnings.prg_param_has_invalid_value = Le programme '{0}' déclarait une valeur invalide pour le paramètre '{1}'. \ +Cette valeur était '{2}'; la valeur du paramètre a été réinitialisée à la valeur par défaut: '{3}'. +wf.xmlwarnings.prg_has_invalid_link = Le programme '{0}' était relié à une sortie du programme '{1}' (sortie identifiée comme: '{2}') mais ce lien \ +n'est plus valide (soit '{1}' n'est plus un programme valide, soit cette sortie n'est plus valide).\n\ +Le lien entre les deux programmes n'a pas pu être rétabli. +wf.xmlwarnings.prg_link_is_inactive = La sortie '{1}' du programme '{0}' et l'entrée '{3}' du programme '{2}' \ + étaient liés l'un à l'autre, mais l'un et/ou l'autre de ces entrées/sorties n'est plus actif dans la configuration actuelle des programmes.\n\ +Le lien entre les deux programmes n'a pas pu être rétabli. +wf.xmlwarnings.prg_contains_useless_parameter = Info: le programme '{0}' déclare un paramètre '{1}' (de type '{2}'): \ +ce paramètre est ignoré (Note: ce message est pour information seulement, vous pouvez l'ignorer) eu.telecom_bretagne.praxis.core.execution.Result.Status.UNSET = Non disponible eu.telecom_bretagne.praxis.core.execution.Result.Status.SUBMITTED = Soumis -eu.telecom_bretagne.praxis.core.execution.Result.Status.RUNNING = En cours d''exécution +eu.telecom_bretagne.praxis.core.execution.Result.Status.RUNNING = En cours d'exécution eu.telecom_bretagne.praxis.core.execution.Result.Status.OK = OK eu.telecom_bretagne.praxis.core.execution.Result.Status.WARNING = OK, avec avertissements eu.telecom_bretagne.praxis.core.execution.Result.Status.ERROR = Erreur diff --git a/data/i18n/praxis_el.properties b/data/i18n/praxis_el.properties index a8a0d11382068bb73d90df4c9384af63a9031bdc..911513ce4a5ee08e16ec1583a4374c7bde243f5f 100644 --- a/data/i18n/praxis_el.properties +++ b/data/i18n/praxis_el.properties @@ -298,9 +298,9 @@ UI.menu_items.changes = \u03a4\u03c1\u03bf\u03c0 UI.menu_items.languages = \u03a1\u03c5\u03b8\u03bc\u03af\u03c3\u03b5\u03b9\u03c2 \u0393\u03bb\u03ce\u03c3\u03c3\u03b1\u03c2... (Language settings\u2026) # value = language (translated language) +UI.menu_items.language.fr = Fran\u00e7ais (\u0393\u03b1\u03bb\u03bb\u03b9\u03ba\u03ac) UI.menu_items.language.el = \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac UI.menu_items.language.en = English (\u0391\u03b3\u03b3\u03bb\u03b9\u03ba\u03ac) -UI.menu_items.language.fr = Fran\u00e7ais (\u0393\u03b1\u03bb\u03bb\u03b9\u03ba\u03ac) UI.menu_items.language.es = Espa\u00f1ol (\u0399\u03c3\u03c0\u03b1\u03bd\u03b9\u03ba\u03ac) UI.progtree.database = \u0392\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd @@ -335,17 +335,24 @@ common.error = \u03a3\u03c6\u03ac\u03bb\u03bc\u03b1 common.no = \u038c\u03c7\u03b9 common.yes = \u039d\u03b1\u03b9 common.warning = \u03a0\u03c1\u03bf\u03b5\u03b9\u03b4\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 -common.client_out_of_date = \u0391\u03c5\u03c4\u03cc \u03c4\u03bf \u03c0\u03c1\u03cc\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1-\u03c0\u03b5\u03bb\u03ac\u03c4\u03b7\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b5\u03ba\u03c4\u03cc\u03c2 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1\u03c2:\n\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03bb\u03ae\u03c8\u03b7 \u03c4\u03bf\u03c5 \u03bd\u03ad\u03bf\u03c5 \u03c0\u03c1\u03bf\u03b3\u03c1\u03ac\u03bc\u03bc\u03b1\u03c4\u03bf\u03c2-\u03c0\u03b5\u03bb\u03ac\u03c4\u03b7! +common.client_out_of_date = \u0391\u03c5\u03c4\u03cc \u03c4\u03bf \u03c0\u03c1\u03cc\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1-\u03c0\u03b5\u03bb\u03ac\u03c4\u03b7\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b5\u03ba\u03c4\u03cc\u03c2 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1\u03c2:\n\ +\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03bb\u03ae\u03c8\u03b7 \u03c4\u03bf\u03c5 \u03bd\u03ad\u03bf\u03c5 \u03c0\u03c1\u03bf\u03b3\u03c1\u03ac\u03bc\u03bc\u03b1\u03c4\u03bf\u03c2-\u03c0\u03b5\u03bb\u03ac\u03c4\u03b7! common.client_out_of_date_title = \u03a4\u03bf \u03c0\u03c1\u03cc\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1-\u03c0\u03b5\u03bb\u03ac\u03c4\u03b7\u03c2 \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b7\u03bc\u03b5\u03c1\u03c9\u03bc\u03ad\u03bd\u03bf -common.cnx_rejected.invalid_credentials = \u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03bc\u03b5 \u03c4\u03bf\u03bd \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae:\n\u03bc\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03b1 \u03b4\u03b9\u03b1\u03c0\u03b9\u03c3\u03c4\u03b5\u03c5\u03c4\u03ae\u03c1\u03b9\u03b1. +common.cnx_rejected.invalid_credentials = \u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03bc\u03b5 \u03c4\u03bf\u03bd \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae:\n\ +\u03bc\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03b1 \u03b4\u03b9\u03b1\u03c0\u03b9\u03c3\u03c4\u03b5\u03c5\u03c4\u03ae\u03c1\u03b9\u03b1. common.cnx_rejected.invalid_credentials_title = \u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2 -common.cnx_rejected.client_already_connected = \u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03bc\u03b5 \u03c4\u03bf\u03bd \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae:\n\u03b1\u03c5\u03c4\u03cc\u03c2 \u03bf \u03c7\u03c1\u03ae\u03c3\u03c4\u03b7\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03ae\u03b4\u03b7 \u03c3\u03c5\u03bd\u03b4\u03b5\u03b4\u03b5\u03bc\u03ad\u03bd\u03bf\u03c2. +common.cnx_rejected.client_already_connected = \u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03bc\u03b5 \u03c4\u03bf\u03bd \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae:\n\ +\u03b1\u03c5\u03c4\u03cc\u03c2 \u03bf \u03c7\u03c1\u03ae\u03c3\u03c4\u03b7\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03ae\u03b4\u03b7 \u03c3\u03c5\u03bd\u03b4\u03b5\u03b4\u03b5\u03bc\u03ad\u03bd\u03bf\u03c2. common.cnx_rejected.client_already_connected_title = \u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2 common.cnx_rejected.client_login_disabled = \u039f \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae\u03c2 \u03b1\u03c0\u03bf\u03c1\u03c1\u03af\u03c0\u03c4\u03b5\u03b9 \u03c4\u03b9\u03c2 \u03c3\u03c5\u03bd\u03b4\u03ad\u03c3\u03b5\u03b9\u03c2, \u03b4\u03bf\u03ba\u03b9\u03bc\u03ac\u03c3\u03c4\u03b5 \u03be\u03b1\u03bd\u03ac \u03b1\u03c1\u03b3\u03cc\u03c4\u03b5\u03c1\u03b1. common.cnx_rejected.client_login_disabled_title = \u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2 -common.cnx_rejected.client_login_disabled_w_reason = \u039f \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae\u03c2 \u03b1\u03c0\u03bf\u03c1\u03c1\u03af\u03c0\u03c4\u03b5\u03b9 \u03c4\u03b9\u03c2 \u03c3\u03c5\u03bd\u03b4\u03ad\u03c3\u03b5\u03b9\u03c2\n{0} +common.cnx_rejected.client_login_disabled_w_reason = \u039f \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae\u03c2 \u03b1\u03c0\u03bf\u03c1\u03c1\u03af\u03c0\u03c4\u03b5\u03b9 \u03c4\u03b9\u03c2 \u03c3\u03c5\u03bd\u03b4\u03ad\u03c3\u03b5\u03b9\u03c2\n\ +{0} common.cnx_rejected.client_login_disabled_w_reason_title = \u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2 -common.cnx_rejected.maximum_number_of_clients = \u0397 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03b1\u03c0\u03bf\u03c1\u03c1\u03af\u03c6\u03b8\u03b7\u03ba\u03b5: \u03bf \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae\u03c2 \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03b4\u03b5\u03c7\u03c4\u03b5\u03af \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b5\u03c2 \u03c3\u03c5\u03bd\u03b4\u03ad\u03c3\u03b5\u03b9\u03c2\n\u0394\u03bf\u03ba\u03b9\u03bc\u03ac\u03c3\u03c4\u03b5 \u03be\u03b1\u03bd\u03ac \u03b1\u03c1\u03b3\u03cc\u03c4\u03b5\u03c1\u03b1\n\n\u0396\u03b7\u03c4\u03ac\u03bc\u03b5 \u03c3\u03c5\u03b3\u03bd\u03ce\u03bc\u03b7 \u03b3\u03b9\u03b1 \u03c4\u03b7\u03bd \u03c4\u03b1\u03bb\u03b1\u03b9\u03c0\u03c9\u03c1\u03af\u03b1. +common.cnx_rejected.maximum_number_of_clients = \u0397 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03b1\u03c0\u03bf\u03c1\u03c1\u03af\u03c6\u03b8\u03b7\u03ba\u03b5: \u03bf \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae\u03c2 \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03b4\u03b5\u03c7\u03c4\u03b5\u03af \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b5\u03c2 \u03c3\u03c5\u03bd\u03b4\u03ad\u03c3\u03b5\u03b9\u03c2\n\ +\u0394\u03bf\u03ba\u03b9\u03bc\u03ac\u03c3\u03c4\u03b5 \u03be\u03b1\u03bd\u03ac \u03b1\u03c1\u03b3\u03cc\u03c4\u03b5\u03c1\u03b1\n\ +\n\ +\u0396\u03b7\u03c4\u03ac\u03bc\u03b5 \u03c3\u03c5\u03b3\u03bd\u03ce\u03bc\u03b7 \u03b3\u03b9\u03b1 \u03c4\u03b7\u03bd \u03c4\u03b1\u03bb\u03b1\u03b9\u03c0\u03c9\u03c1\u03af\u03b1. common.cnx_rejected.maximum_number_of_clients_title = \u0386\u03c1\u03bd\u03b7\u03c3\u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2 wf.xmlwarnings.prg_desc_does_not_exists = \u0397 \u03c1\u03bf\u03ae \u03b5\u03c1\u03b3\u03b1\u03c3\u03b9\u03ce\u03bd \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b5 \u03ad\u03bd\u03b1 \u03c0\u03c1\u03cc\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1 \u03bc\u03b5 \u03cc\u03bd\u03bf\u03bc\u03b1 '' {0} '' \u03c4\u03bf \u03bf\u03c0\u03bf\u03af\u03bf \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03c0\u03bb\u03ad\u03bf\u03bd \u03b4\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03bf. wf.xmlwarnings.prg_desc_replace_by_alternative = \u0397 \u03c1\u03bf\u03ae \u03b5\u03c1\u03b3\u03b1\u03c3\u03b9\u03ce\u03bd \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b5 \u03ad\u03bd\u03b1 \u03c0\u03c1\u03cc\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1 \u03bc\u03b5 \u03cc\u03bd\u03bf\u03bc\u03b1 '' {0} '' \u03c4\u03bf \u03bf\u03c0\u03bf\u03af\u03bf \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03c0\u03bb\u03ad\u03bf\u03bd \u03b4\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03bf.\n\ diff --git a/data/i18n/praxis_en.properties b/data/i18n/praxis_en.properties index 06e17ef0d16ca2c8a8c4527065ae33bee1ce80c6..ce0709ba29fe026d261c339e2bc9fc3c0da61df2 100644 --- a/data/i18n/praxis_en.properties +++ b/data/i18n/praxis_en.properties @@ -334,17 +334,24 @@ common.error = Error common.no = No common.yes = Yes common.warning = Warning -common.client_out_of_date = This client is out-of-date:\nplease download the new client! +common.client_out_of_date = This client is out-of-date:\n\ +please download the new client! common.client_out_of_date_title = Client out-of-date -common.cnx_rejected.invalid_credentials = Cannot connect to the server:\ninvalid credentials. +common.cnx_rejected.invalid_credentials = Cannot connect to the server:\n\ +invalid credentials. common.cnx_rejected.invalid_credentials_title = Connection failed -common.cnx_rejected.client_already_connected = Cannot connect to the server:\nthis user is already connected. +common.cnx_rejected.client_already_connected = Cannot connect to the server:\n\ +this user is already connected. common.cnx_rejected.client_already_connected_title = Connection failed common.cnx_rejected.client_login_disabled = The server is currently refusing connections, please try again later. common.cnx_rejected.client_login_disabled_title = Connection failed -common.cnx_rejected.client_login_disabled_w_reason = The server is currently refusing connections\n{0} +common.cnx_rejected.client_login_disabled_w_reason = The server is currently refusing connections\n\ +{0} common.cnx_rejected.client_login_disabled_w_reason_title = Connection failed -common.cnx_rejected.maximum_number_of_clients = Connection refused: the server cannot accept more connections\nPlease try again a moment later\n\nWe apology for the inconvenience. +common.cnx_rejected.maximum_number_of_clients = Connection refused: the server cannot accept more connections\n\ +Please try again a moment later\n\ +\n\ +We apology for the inconvenience. common.cnx_rejected.maximum_number_of_clients_title = Connection refused wf.xmlwarnings.prg_desc_does_not_exists = The workflow used a program named ''{0}'' which is not available anymore. diff --git a/data/i18n/praxis_es.properties b/data/i18n/praxis_es.properties index a5c18fd82aef1315029a70fd221095af5cb9eec4..e433475d2437fb5dfece12682559ad2bcd1d46db 100644 --- a/data/i18n/praxis_es.properties +++ b/data/i18n/praxis_es.properties @@ -367,17 +367,24 @@ common.error = Error common.no = No common.yes = S\u00ed common.warning = Atenci\u00f3n -common.client_out_of_date = Este cliente est\u00e1 desactualizado: \n\u00a1por favor descargue un nuevo cliente! +common.client_out_of_date = Este cliente est\u00e1 desactualizado: \n\ +\u00a1por favor descargue un nuevo cliente! common.client_out_of_date_title = Cliente desactualizado -common.cnx_rejected.invalid_credentials = No se puede conectar con el servidor:\ncredenciales no v\u00e1lidas. +common.cnx_rejected.invalid_credentials = No se puede conectar con el servidor:\n\ +credenciales no v\u00e1lidas. common.cnx_rejected.invalid_credentials_title = Error en la connexi\u00f3n -common.cnx_rejected.client_already_connected = No se puede conectar con el servidor:\neste usuario ya est\u00e1 conectado. +common.cnx_rejected.client_already_connected = No se puede conectar con el servidor:\n\ +este usuario ya est\u00e1 conectado. common.cnx_rejected.client_already_connected_title = Error en la connexi\u00f3n common.cnx_rejected.client_login_disabled = El servidor no admite conexi\u00f3nes en este momento, por favor int\u00e9ntelo de nuevo m\u00e1s tarde. common.cnx_rejected.client_login_disabled_title = Error en la connexi\u00f3n -common.cnx_rejected.client_login_disabled_w_reason = El servidor no admite conexi\u00f3nes en este momento\n{0} +common.cnx_rejected.client_login_disabled_w_reason = El servidor no admite conexi\u00f3nes en este momento\n\ +{0} common.cnx_rejected.client_login_disabled_w_reason_title = Error en la connexi\u00f3n -common.cnx_rejected.maximum_number_of_clients = Conexi\u00f3n rechazada: el servidor no puede aceptar m\u00e1s conexiones\nPor favor int\u00e9ntelo de nuevo m\u00e1s tarde\n\nDisculpe los problemas ocasionados. +common.cnx_rejected.maximum_number_of_clients = Conexi\u00f3n rechazada: el servidor no puede aceptar m\u00e1s conexiones\n\ +Por favor int\u00e9ntelo de nuevo m\u00e1s tarde\n\ +\n\ +Disculpe los problemas ocasionados. common.cnx_rejected.maximum_number_of_clients_title = Conexi\u00f3n rechazada wf.xmlwarnings.prg_desc_does_not_exists = El diagrama de flujo us\u00f3 un programa llamado ''{0}'' que ya no est\u00e1 disponible. @@ -389,7 +396,8 @@ wf.xmlwarnings.prg_declares_invalid_param = El programa ''{0}'' us\u00f3 un par\ wf.xmlwarnings.prg_param_has_invalid_value = El programa ''{0}'' declar\u00f3 un valor no v\u00e1lido para el par\u00e1metro ''{1}''. Este valor \ era ''{2}'' y ya no es v\u00e1lido: el valor del par\u00e1metro se restableci\u00f3 al valor por defecto ''{3}''. wf.xmlwarnings.prg_has_invalid_link = El programa ''{0}'' fue unido a un resultado del programa \u201c{1}\u201d (la salida se identific\u00f3 como ''{2}'') pero el enlace no es v\u00e1lido \ -(otro ''{1}'' ya no es un programa v\u00e1lido en el diagrama de flujo, o su salida correspondiente ya no es v\u00e1lida).\n\ El enlace entre dos programas no se ha podido restaurar. +(otro ''{1}'' ya no es un programa v\u00e1lido en el diagrama de flujo, o su salida correspondiente ya no es v\u00e1lida).\n\ +El enlace entre dos programas no se ha podido restaurar. wf.xmlwarnings.prg_link_is_inactive = La salida ''{1}'' del programa ''{0}'' y del input ''{3}'' del programa ''{2}'' \ estaban unidos, pero al menos uno de ellos no est\u00e1 activado en la actual parametrizaci\u00f3n de esos dos programas.\n\ El enlace entre los dos programas no podr\u00e1 ser restaurado. diff --git a/data/i18n/praxis_fr.properties b/data/i18n/praxis_fr.properties index dfdf80d11db09f841425fa9c98ec1cdba6067a7c..067931db0127c1b9d81a9e74fa6ba02927430b4d 100644 --- a/data/i18n/praxis_fr.properties +++ b/data/i18n/praxis_fr.properties @@ -298,8 +298,8 @@ UI.menu_items.changes = Modifications... UI.menu_items.languages = Changer la langue... (Language settings\u2026) # value = language (translated language) UI.menu_items.language.fr = Fran\u00e7ais -UI.menu_items.language.en = English (Anglais) UI.menu_items.language.el = \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac (Grec) +UI.menu_items.language.en = English (Anglais) UI.menu_items.language.es = Espa\u00f1ol (Espagnol) UI.progtree.database = Base de donn\u00e9es @@ -334,17 +334,24 @@ common.error = Erreur common.no = Non common.yes = Oui common.warning = Attention -common.client_out_of_date = Ce client n''est plus \u00e0 jour:\nveuillez s''il vous plait t\u00e9l\u00e9charger une nouvelle version! +common.client_out_of_date = Ce client n''est plus \u00e0 jour:\n\ +veuillez s''il vous plait t\u00e9l\u00e9charger une nouvelle version! common.client_out_of_date_title = Mise \u00e0 jour du client -common.cnx_rejected.invalid_credentials = Impossible de se connecter au serveur:\nlogin/mot de passe invalides. +common.cnx_rejected.invalid_credentials = Impossible de se connecter au serveur:\n\ +login/mot de passe invalides. common.cnx_rejected.invalid_credentials_title = \u00c9chec de la connexion -common.cnx_rejected.client_already_connected = Impossible de se connecter au serveur:\ncet utilisateur est d\u00e9j\u00e0 connect\u00e9. +common.cnx_rejected.client_already_connected = Impossible de se connecter au serveur:\n\ +cet utilisateur est d\u00e9j\u00e0 connect\u00e9. common.cnx_rejected.client_already_connected_title = \u00c9chec de la connexion common.cnx_rejected.client_login_disabled = Les connexions au serveur ne sont pas autoris\u00e9es pour le moment, veuillez r\u00e9essayer ult\u00e9rieurement. common.cnx_rejected.client_login_disabled_title = \u00c9chec de la connexion -common.cnx_rejected.client_login_disabled_w_reason = Les connexions au serveur ne sont pas autoris\u00e9es pour le moment\n{0} +common.cnx_rejected.client_login_disabled_w_reason = Les connexions au serveur ne sont pas autoris\u00e9es pour le moment\n\ +{0} common.cnx_rejected.client_login_disabled_w_reason_title = \u00c9chec de la connexion -common.cnx_rejected.maximum_number_of_clients = Connexion refus\u00e9e: le serveur ne peut plus accepter de nouvelles sessions\n Merci de r\u00e9essayer un peu plus tard\n\nVeuillez nous excuser pour la g\u00eane occasionn\u00e9e. +common.cnx_rejected.maximum_number_of_clients = Connexion refus\u00e9e: le serveur ne peut plus accepter de nouvelles sessions\n\ + Merci de r\u00e9essayer un peu plus tard\n\ +\n\ +Veuillez nous excuser pour la g\u00eane occasionn\u00e9e. common.cnx_rejected.maximum_number_of_clients_title = Connection refus\u00e9e wf.xmlwarnings.prg_desc_does_not_exists = Le workflow utilisait un programme nomm\u00e9 ''{0}'', qui n''est plus disponible. diff --git a/src/eu/telecom_bretagne/praxis/client/Client.java b/src/eu/telecom_bretagne/praxis/client/Client.java index 04dd3a0d90053340a6816b92d4e143c4a7292a76..4c94b7e2bb0456bdf3bb20fa5cf07788eecdcba0 100644 --- a/src/eu/telecom_bretagne/praxis/client/Client.java +++ b/src/eu/telecom_bretagne/praxis/client/Client.java @@ -323,40 +323,6 @@ public class Client implements ApplicationListener */ private Utile.SimpleContainer connection_status = new Utile.SimpleContainer(); - public void displayErrorMessage(String title, String message) - { - @SuppressWarnings("rawtypes") - Class MessageDialogClass = null; - if (!Configuration.getBoolean("client.no_gui")) - { - try - { - MessageDialogClass = Class.forName("eu.telecom_bretagne.praxis.client.ui.dialog.MessageDialog"); - } - catch (Throwable e) { /* ignore */ } - } - if (MessageDialogClass!=null) - { - try - { - @SuppressWarnings("unchecked") - java.lang.reflect.Method showMessageDialog = - MessageDialogClass.getDeclaredMethod("showMessageDialog", - java.awt.Component.class, - java.lang.String.class, - int.class, - java.lang.String.class); - showMessageDialog.invoke(null, null, message, javax.swing.JOptionPane.WARNING_MESSAGE, title); - } - catch (Throwable t) - { - MessageDialogClass = null; - } - } - // log it in any cases - Log.log.severe(()->title+" - "+message); - } - public void connectAndWaitAnswer(String login, String password, boolean connectStorageManager) { cnx.addListener(new ServerToClientEventAdapter() { @@ -387,7 +353,7 @@ public class Client implements ApplicationListener else error_title = "Unknown error"; - displayErrorMessage(error_title, error); + ErrorDialog.displayErrorMessage(error_title, error); System.exit(-1);// TODO list & identify all exit status } connection_status.data = ( event.data instanceof Integer ); diff --git a/src/eu/telecom_bretagne/praxis/common/Configuration.java b/src/eu/telecom_bretagne/praxis/common/Configuration.java index b579a2b9d5de6c4e105a6f1a833b2055870544e5..f9d7e30de707f050d4dd2535086f8caec9a29428 100644 --- a/src/eu/telecom_bretagne/praxis/common/Configuration.java +++ b/src/eu/telecom_bretagne/praxis/common/Configuration.java @@ -2,10 +2,15 @@ package eu.telecom_bretagne.praxis.common; import java.awt.Color; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.net.URL; import java.rmi.server.RMISocketFactory; import java.security.KeyStore; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.Locale; import java.util.Properties; @@ -29,6 +34,10 @@ import eu.telecom_bretagne.praxis.core.resource.ProgramDescription; public final class Configuration { private static final String REVISION = "revision"; + + /** This class name */ + private static final String CLASS = PraxisPreferences.class.getName(); + /* * Java par.8.7 Static Initializers The static initializers and class variable initializers are executed in * textual order. @@ -76,9 +85,9 @@ public final class Configuration throw new IllegalArgumentException(Utile.join(errors, "\n")); if ("true".equals(get("rmi.useHTTP"))) - RMISocketFactory.setSocketFactory(new RMIMasterSocketFactory(new sun.rmi.transport.proxy.RMIHttpToCGISocketFactory())); + /*FIX sun.rmi*/RMISocketFactory.setSocketFactory(new RMIMasterSocketFactory(new sun.rmi.transport.proxy.RMIHttpToCGISocketFactory())); else - RMISocketFactory.setSocketFactory(new RMIMasterSocketFactory()); + /*FIX sun.rmi*/RMISocketFactory.setSocketFactory(new RMIMasterSocketFactory()); // windows specific: use system LAF // note: do not use the system LAF on linux, it is slooow (+some items, such as JTrees, are not displayed as they should) if ("WINDOWS".equals(Environment.getPlatformOS())) @@ -610,11 +619,24 @@ public final class Configuration * @see java.util.Locale * @see I18N */ - public static void resetLocale(String language) + public static void resetLocale(final String language) { + Log.log.entering(CLASS, "resetLocale()", language); if (language == null) - language = "en"; - I18N.setLocale(new Locale(language)); + { + Log.log.exiting(CLASS, "resetlocale()"); + return; + } + Log.log.fine(() -> MessageFormat.format("Language: {0}", language)); + try + { + I18N.setLocale(new Locale(language)); + } + catch (Throwable t) + { + Log.log.log(Level.SEVERE, "Failed to set the locale "+language, t); + } + Log.log.exiting(CLASS, "resetlocale()"); } /** @@ -624,21 +646,55 @@ public final class Configuration protected static void resetLogManager() { String error=null; + + InputStream loggingProperties = null; + try { - Log.log.info("Reinitializing the logging properties"); - LogManager.getLogManager().readConfiguration(); - } - catch (SecurityException e) - { - error="Could not reinitialize the logging properties (SecurityException)"; + // is there a logging.properties in the current directory? + if (new File("logging.properties").isFile()) + try + { + loggingProperties = new FileInputStream(new File("logging.properties")); + } + catch (FileNotFoundException e) + { + Log.log.warning(() -> MessageFormat.format("Oops, file not found ({0})", e)); + } + + if ( loggingProperties == null ) + { + // nothing in the current dir, let's search our class path + try + { + final URL url = FileResources.url("logging.properties"); + loggingProperties = url.openStream(); + + } + catch (ResourceNotFoundException | IOException e) + { + Log.log.info("logging.properties not found in the resources"); + } + } + try + { + Log.log.info("Reinitializing the logging properties"); + LogManager.getLogManager().readConfiguration(loggingProperties); + } + catch (SecurityException e) + { + error="Could not reinitialize the logging properties (SecurityException)"; + Log.log.log(Level.WARNING, error, e); + } + catch (IOException e) + { + error="Could not reinitialize the logging properties (IOException)"; + Log.log.log(Level.WARNING, error, e); + } } - catch (IOException e) - { - error="Could not reinitialize the logging properties (IOException)"; + finally { + try { if (loggingProperties!= null ) loggingProperties.close(); } catch (IOException e) { /* ignore */ } } - if (error!=null) - Log.log.warning(error); } /** Private constructor so that the class cannot be instanciated elsewhere: this is a singleton */ diff --git a/src/eu/telecom_bretagne/praxis/common/I18N.java b/src/eu/telecom_bretagne/praxis/common/I18N.java index 1e82875abd606133ae825cc93ecac4ff156ec38c..1b2fa6a7d2ed69d94b4ffcd1ea54b2cee7f63ac5 100644 --- a/src/eu/telecom_bretagne/praxis/common/I18N.java +++ b/src/eu/telecom_bretagne/praxis/common/I18N.java @@ -2,7 +2,9 @@ package eu.telecom_bretagne.praxis.common; import java.text.MessageFormat; -import java.util.*; +import java.util.Locale; +import java.util.MissingResourceException; +import java.util.ResourceBundle; import java.util.logging.Level; /** @@ -17,21 +19,68 @@ public class I18N private static final MessageFormat msg_fmt = new MessageFormat(""); + /** This class name */ + private static final String CLASS = PraxisPreferences.class.getName(); + static { - setLocale(Locale.getDefault()); + try + { + setLocale(Locale.getDefault()); + } + catch (Throwable t) + { + // Log it and try to continue nevertheless + Log.log.log(Level.SEVERE, "Caught an exception in the static initializer", t); + } } - public static void setLocale(Locale locale) + public static void setLocale(final Locale locale) { - praxis = ResourceBundle.getBundle("data/i18n/praxis", locale); + Log.log.entering(CLASS, "setLocale()", locale); + // This is the locale to use in the formatter in case we cannot find the corresponding praxis bundle, + // or the app.specific bundle using the locale passed as parameter. + Locale msg_fmt_locale = locale; + try + { + praxis = ResourceBundle.getBundle("data/i18n/praxis", locale); + } + catch (NullPointerException | MissingResourceException e) + { + Log.log.info(MessageFormat.format("Could not find bundle for praxis and locale: {0}, defaulting to English", locale)); + praxis = ResourceBundle.getBundle("data/i18n/praxis", new Locale("en")); + msg_fmt_locale = new Locale("en"); + } String appSpecific = Configuration.get("i18n", ""); + if (!"".equals(appSpecific)) - applicationSpecific = ResourceBundle.getBundle(appSpecific, locale); + { + // try to find the requested one. + // If it fails: defaults to English + // And if it fails again: pretend the app. specific bundle was not set + try + { + applicationSpecific = ResourceBundle.getBundle(appSpecific, locale); + } + catch (NullPointerException | MissingResourceException e) + { + Log.log.info(MessageFormat.format("Could not find the bundle for app. specific locale {0}, defaulting to English", locale)); + try + { + applicationSpecific = ResourceBundle.getBundle(appSpecific, new Locale("en")); + } + catch (NullPointerException | MissingResourceException e2) + { + Log.log.info("Could not find the app. English bundle: ignoring app.specific locale"); + applicationSpecific = null; + } + } + } else applicationSpecific = null; - Log.log.log(java.util.logging.Level.INFO, "Setting locale: {0}", locale); - synchronized(msg_fmt) { msg_fmt.setLocale(locale); } + Log.log.log(java.util.logging.Level.INFO, MessageFormat.format("Setting formatter''s locale: {0}", msg_fmt_locale)); + synchronized(msg_fmt) { msg_fmt.setLocale(msg_fmt_locale); } + Log.log.exiting(CLASS, "setLocale()"); } public static Locale getLocale() diff --git a/src/eu/telecom_bretagne/praxis/common/Launcher.java b/src/eu/telecom_bretagne/praxis/common/Launcher.java index c4fccb240473e9c17b024f562971e49871f7c01e..77d12e6adc1cc17120e9d55efc88f6d12434083e 100644 --- a/src/eu/telecom_bretagne/praxis/common/Launcher.java +++ b/src/eu/telecom_bretagne/praxis/common/Launcher.java @@ -4,6 +4,7 @@ package eu.telecom_bretagne.praxis.common; import java.net.ProxySelector; import eu.telecom_bretagne.praxis.client.Client; +import eu.telecom_bretagne.praxis.client.ErrorDialog; import eu.telecom_bretagne.praxis.core.execution.ExecutionLoop; import eu.telecom_bretagne.praxis.platform.Platform; import eu.telecom_bretagne.praxis.platform.PlatformToClientBridge; @@ -75,16 +76,27 @@ public class Launcher { final String vendor = System.getProperty("java.vendor"); final String version = System.getProperty("java.version"); + + final int firstDotPosition = version.indexOf('.'); + final int jvmVersion = Integer.parseInt(version.substring (0, firstDotPosition)); + // we do not want to display anything for mac os x / vendor="Apple Inc.", the jvm shipped with mac os is okay. // since java 7, vendor is Oracle Corporation if (!"Sun Microsystems Inc.".equals(vendor) && !"Apple Inc.".equals(vendor) && !"Oracle Corporation".equals(vendor)) - Client.uiClient.displayErrorMessage("JVM Warning", + ErrorDialog.displayWarningMessage("JVM Warning", "We strongly recommend that you use a Java Virtual Machine provided by Oracle!\n\n" + "You're currently using the following JVM:\n - version: " + version + "\n - by: " + vendor + "\nYou may encounter errors, slowdowns and unexpected behaviour in general."); + + else if (jvmVersion >= 9) + { + ErrorDialog.displayErrorMessage("Error", + "Error: this application requires java 8 but java "+jvmVersion+" is used."); + System.exit(-2); + } else Log.log.info(()->"Running with JVM version " + version + " by " + vendor + ", fine"); } @@ -188,7 +200,7 @@ public class Launcher } catch (Throwable t) { - Client.uiClient.displayErrorMessage("Connection error", + ErrorDialog.displayErrorMessage("Connection error", "Error: unable to connect to the server\nReason: "+t.toString()); System.exit(1); } diff --git a/src/eu/telecom_bretagne/praxis/common/Log.java b/src/eu/telecom_bretagne/praxis/common/Log.java index 09bb18bb0a3f948bb67dbc418d33e4ff9b035cd4..76bdc767f5c860670983846a4e5dfd0cdd924e66 100644 --- a/src/eu/telecom_bretagne/praxis/common/Log.java +++ b/src/eu/telecom_bretagne/praxis/common/Log.java @@ -5,6 +5,12 @@ import java.util.logging.Logger; public class Log { - public static Logger log = Logger.getLogger("praxis"); - public static Logger migration = Logger.getLogger("praxis.migration"); -} \ No newline at end of file + /* + * NB: Log levels are always localized + * https://stackoverflow.com/questions/3920930/java-util-logging-how-to-set-level-by-logger-package-or-prefix + */ + public static final Logger log = Logger.getLogger("praxis", null); + + public static final Logger migration = Logger.getLogger("praxis.migration"); + +} diff --git a/src/eu/telecom_bretagne/praxis/common/PraxisPreferences.java b/src/eu/telecom_bretagne/praxis/common/PraxisPreferences.java index 2d477bc6a9e3d63f41cea7176a53433894aa0fc7..194baac4d25de85f2ae028f5bc527e8155d10d1d 100644 --- a/src/eu/telecom_bretagne/praxis/common/PraxisPreferences.java +++ b/src/eu/telecom_bretagne/praxis/common/PraxisPreferences.java @@ -17,6 +17,7 @@ import eu.telecom_bretagne.praxis.client.SimpleCommandLine; */ public class PraxisPreferences { + static final String CLASS = PraxisPreferences.class.getName(); /** * Used to customize the initialization of preferences in a praxis project.<br> * <br> @@ -185,6 +186,7 @@ public class PraxisPreferences protected static void initClient() { + Log.log.entering(CLASS, "initClient()"); try { Class.forName("eu.telecom_bretagne.praxis.client.ClientPrefs"); @@ -268,6 +270,7 @@ public class PraxisPreferences if (projectPreferences!=null) projectPreferences.initClient(); + Log.log.exiting(CLASS, "initClient()"); } /** diff --git a/src/eu/telecom_bretagne/praxis/common/RMIMasterSocketFactory.java b/src/eu/telecom_bretagne/praxis/common/RMIMasterSocketFactory.java index 54725bc95b3427ad6ba2383b1c83153ad0842437..5bd872383619a9d3f4c93662be55a7e742379081 100644 --- a/src/eu/telecom_bretagne/praxis/common/RMIMasterSocketFactory.java +++ b/src/eu/telecom_bretagne/praxis/common/RMIMasterSocketFactory.java @@ -8,8 +8,8 @@ import java.io.IOException; import java.rmi.server.RMISocketFactory; import java.util.Vector; -import sun.rmi.transport.proxy.RMIHttpToCGISocketFactory; -import sun.rmi.transport.proxy.RMIHttpToPortSocketFactory; +import sun.rmi.transport.proxy.RMIHttpToCGISocketFactory;/*FIX sun.rmi*/ +import sun.rmi.transport.proxy.RMIHttpToPortSocketFactory;/*FIX sun.rmi*/ /** * This RMISocketfactory alters the behaviour of the default strategies used by RMI to connect to the server. @@ -23,7 +23,7 @@ import sun.rmi.transport.proxy.RMIHttpToPortSocketFactory; * @author Sébastien Bigaret */ class RMIMasterSocketFactory - extends sun.rmi.transport.proxy.RMIMasterSocketFactory + extends sun.rmi.transport.proxy.RMIMasterSocketFactory/*FIX sun.rmi*/ { private final RMISocketFactory factory; diff --git a/src/eu/telecom_bretagne/praxis/common/ReleaseInfo.java b/src/eu/telecom_bretagne/praxis/common/ReleaseInfo.java index a7f452d0b23256d52948b851d0def8ddca9b4445..6c94c1ce48d41b48f8cd5b150bef9218f7de6a79 100644 --- a/src/eu/telecom_bretagne/praxis/common/ReleaseInfo.java +++ b/src/eu/telecom_bretagne/praxis/common/ReleaseInfo.java @@ -7,9 +7,9 @@ package eu.telecom_bretagne.praxis.common; */ public abstract class ReleaseInfo { - public static final String release = "3.0.0"; + public static final String release = "3.0.1"; - public static final String release_date = "2018-07-17"; + public static final String release_date = "2018-07-25"; public static final int application_revision = Configuration.getInt("revision"); diff --git a/src/eu/telecom_bretagne/praxis/common/events/RMICommunicationFacade.java b/src/eu/telecom_bretagne/praxis/common/events/RMICommunicationFacade.java index 1c8fb4d3189988d273445cdd769590e7d4c8bc94..1e90dd33f588f63a8e18b7f12cbb23d5a8131d6a 100644 --- a/src/eu/telecom_bretagne/praxis/common/events/RMICommunicationFacade.java +++ b/src/eu/telecom_bretagne/praxis/common/events/RMICommunicationFacade.java @@ -284,7 +284,7 @@ public class RMICommunicationFacade // TODO: test that the java property proxyHost IS set if (RMISocketFactory.getSocketFactory() != null) Log.log.warning("Overriding a non-null RMISocketFactory: " + RMISocketFactory.getSocketFactory()); - RMISocketFactory.setSocketFactory(new sun.rmi.transport.proxy.RMIHttpToCGISocketFactory()); + /*FIX sun.rmi*/RMISocketFactory.setSocketFactory(new sun.rmi.transport.proxy.RMIHttpToCGISocketFactory()); } Registry registry; if (useSSL) diff --git a/src/eu/telecom_bretagne/praxis/platform/PlatformToClientBridge.java b/src/eu/telecom_bretagne/praxis/platform/PlatformToClientBridge.java index 22a2dd1fac7d0219ee64c514e4485ad02c9339b1..c0fe672bb3acd5a90655b0e384a13402c5764fb8 100644 --- a/src/eu/telecom_bretagne/praxis/platform/PlatformToClientBridge.java +++ b/src/eu/telecom_bretagne/praxis/platform/PlatformToClientBridge.java @@ -13,6 +13,7 @@ import org.jdom.Document; import org.jdom.Element; import eu.telecom_bretagne.praxis.client.Client; +import eu.telecom_bretagne.praxis.client.ErrorDialog; import eu.telecom_bretagne.praxis.common.Configuration; import eu.telecom_bretagne.praxis.common.Environment; import eu.telecom_bretagne.praxis.common.I18N; @@ -95,7 +96,7 @@ public class PlatformToClientBridge Log.log.severe(()->error_title+": "+error); - client.displayErrorMessage(error_title, error); + ErrorDialog.displayErrorMessage(error_title, error); System.exit(-1);// TODO list & identify all exit status } } @@ -196,7 +197,7 @@ public class PlatformToClientBridge public void receivedMessage(ServerToClientEvent event) { if (event.forward) - client.displayErrorMessage("Message from server", (String)((Object[]) event.data)[0]); + ErrorDialog.displayWarningMessage("Message from server", (String)((Object[]) event.data)[0]); } @Override