diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..f16efa9 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,18 @@ +##################################################################################### +# WARNING # +##################################################################################### +# # +# This file is synchronised across all supportpal/addon-language-* repositories. # +# Be careful not to hardcode any paths, and only update it in the # +# supportpal/addon-language-english repository! # +# # +##################################################################################### + +version: 2 + +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e0fe788 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,47 @@ +##################################################################################### +# WARNING # +##################################################################################### +# # +# This file is synchronised across all supportpal/addon-language-* repositories. # +# Be careful not to hardcode any paths, and only update it in the # +# supportpal/addon-language-english repository! # +# # +##################################################################################### +name: Release + +on: + push: + tags: + - "*" + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set environment + run: | + ADDON_NAME="$(grep -rEho "^namespace Addons\\\\Languages\\\\([^\\\\]+)" Controllers/ | sed 's:.*\\::')" + ADDON_NAME_LOWER="$(echo $ADDON_NAME | awk '{print tolower($0)}')" + BASE_FILENAME="addon-$(echo $ADDON_NAME_LOWER)-${{ github.ref_name }}" + echo "ADDON_NAME=$(echo $ADDON_NAME)" >> $GITHUB_ENV + echo "ZIP_FILENAME=$(echo $BASE_FILENAME).zip" >> $GITHUB_ENV + echo "TAR_FILENAME=$(echo $BASE_FILENAME).tar.gz" >> $GITHUB_ENV + + - name: Build Release + run: | + git archive --format=tar --prefix="${{ env.ADDON_NAME }}/" HEAD -o archive.tar + tar -xf archive.tar + rm -rf ${{ env.ADDON_NAME }}/.github/ + zip -r ${{ env.ZIP_FILENAME }} ${{ env.ADDON_NAME }} + tar -zcvf ${{ env.TAR_FILENAME }} ${{ env.ADDON_NAME }} + + - name: Release + uses: softprops/action-gh-release@v1 + with: + files: | + ${{ env.ZIP_FILENAME }} + ${{ env.TAR_FILENAME }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..9e83d91 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,53 @@ +##################################################################################### +# WARNING # +##################################################################################### +# # +# This file is synchronised across all supportpal/addon-language-* repositories. # +# Be careful not to hardcode any paths, and only update it in the # +# supportpal/addon-language-english repository! # +# # +##################################################################################### +name: test + +on: + push: + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.0 + tools: composer:v2, supportpal/language-tools + + - name: PHP Syntax Check + uses: overtrue/phplint@8.0 + with: + path: . + options: --exclude=vendor + + - name: Set environment + run: | + LANG_PATH=$(find Lang -mindepth 1 -maxdepth 1 -type d -print -quit) + echo "LANG_PATH=$(echo $LANG_PATH)" >> $GITHUB_ENV + echo "LANG_NAME=$(basename $LANG_PATH)" >> $GITHUB_ENV + + - name: Check out English + if: ${{ env.LANG_NAME != 'en' }} + uses: actions/checkout@v3 + with: + repository: supportpal/addon-language-english + path: addon-language-english/ + ref: master + + - name: Code Quality + if: ${{ env.LANG_NAME != 'en' }} + run: | + language-tools compare addon-language-english/Lang/en/ Lang/${{ env.LANG_NAME }} diff --git a/Lang/fr/conditions.php b/Lang/fr/conditions.php index ef311fb..be00103 100644 --- a/Lang/fr/conditions.php +++ b/Lang/fr/conditions.php @@ -107,4 +107,9 @@ * 3.7.0 */ "user_organisation_access_level" => "Niveau d'accès de l'organisation", + + /* + * 4.0.0 + */ + "last_message_content_exc_notes" => "Last message content (excluding notes)", ); diff --git a/Lang/fr/core.php b/Lang/fr/core.php index 3f39344..01e37a2 100644 --- a/Lang/fr/core.php +++ b/Lang/fr/core.php @@ -116,7 +116,6 @@ // Plugins "plugins" => "Plugin|Plugins", - "installed_plugins" => "Plugins installés", "visit_plugin" => "Accéder sites du plugin", // Messages @@ -405,7 +404,6 @@ "heading5" => "Heading 5", "heading6" => "Heading 6", "upload" => "Importer", - "upload_label" => "Glisser les fichiers pour les importer", "more_formatting" => "Plus de formattage", "clearformat" => "Formattage clair", "bold" => "Gras", @@ -452,15 +450,6 @@ "ticket_desc2" => "La grille de tickets peut être ajustée et filtrée selon vos besoins.", "zip_extension_required" => "L'extension Zip PHP extension n'est pas installée. Veuillez l'installer et essayez à nouveau.", "zip_file_not_downloaded" => "Le fichier zip n'a pas été téléchargé. Veuillez vérifier que vous pouvez accéder à :url", - "plugin_basic_info" => "Veuillez donnez des informations élémentaires concernant votre plugin.", - "plugin_author_name" => "Nom de l'auteur", - "plugin_author_uri" => "URL de l'auteur", - "plugin_vendor_name" => "Nom du fournisseur (Nom de votre société, peut être similaire au nom de l'auteur)", - "plugin_name" => "Nom du plugin", - "plugin_description" => "Description du plugin", - "plugin_already_exists" => "Plugin déjà existant !", - "plugin_creating" => "Création du plugin...", - "plugin_ready" => "Plugin prêt dans :directory!", /* * 3.3.0 @@ -483,9 +472,6 @@ "brand_name_desc" => "Le nom de votre marque est utilisée pour toutes les correspondances avec les utilisateurs.", "supportpal_announcements" => "Annonces SUpportPal", "add_selectize" => "Ajouter :item...", - "plugin_author_uri_short" => "Author URI", - "plugin_vendor_name_short" => "Vendor Name", - "open_link_in_new_tab" => "Ouvrir le lien dans un nouvel onglet.", "general_settings" => "Configurer les paramètres généraux", "configure_brand" => "Configurer les marques", "configure_department" => "Configurer les départements", @@ -528,4 +514,81 @@ "background_jobs" => "Background Jobs", "background_jobs_not_processing" => "Background jobs are not currently being processed, view troubleshooting steps.", + /* + * 4.0.0 + */ + "addon" => "Add-on|Add-ons", + "addon_already_exists" => "An add-on already exists at this path: :path", + "addons_marketplace" => "Marketplace", + "addons_missing_valid_artifact" => "Add-on does not have a valid archive.", + "checksum_not_matched" => "The downloaded file failed checksum verification.", + "invalid_archive_format" => "Artifact should not include other directories other than the add-on.", + "downloading_version" => "Downloading add-on version :version to :path...", + "extracting_addon" => "Extracting add-on files...", + "activating_addon" => "Activating add-on...", + "addon_install_success" => "Add-on installed successfully.", + "addon_install_error" => "Add-on failed to install, please check the application logs for more details.", + "addon_latest_version" => "Add-on is already running the latest version.", + "addon_update_success" => "Add-on updated successfully.", + "addon_update_error" => "Add-on failed to update and has been reverted, please check the application logs for more details.", + "addon_basic_info" => "Please provide some basic information about the add-on.", + "addon_author_name" => "Author name", + "addon_author_uri" => "Author URI (link to your website)", + "addon_author_uri_short" => "Author URI", + "addon_vendor_name" => "Vendor name (name of your company, can be same as author name)", + "addon_vendor_name_short" => "Vendor Name", + "addon_name" => "Add-on name", + "addon_description" => "Add-on description", + "addon_creating" => "Creating add-on...", + "addon_ready" => "Add-on ready in :directory! Build something amazing.", + "addon_version_not_supported" => "The available version of the add-on does not support the installed SupportPal version.", + "no_addons_found" => "No add-ons found.", + "price" => "Price", + "one_time" => "One Time", + "monthly" => "Monthly", + "quarterly" => "Quarterly", + "semiannually" => "Semi-Annually", + "annually" => "Annually", + "biennially" => "Biennially", + "triennially" => "Triennially", + "tag" => "Tag|Tags", + "login_to_install" => "Login to Install", + "marketplace_login_error" => "Login failed. Please logout and then ensure to log in to the account that has your SupportPal license.", + "payment_required" => "Payment Required", + "addon_purchase_info" => "By clicking the above button, your account will be charged the price shown at the selected billing cycle, and you agree to our terms of service.", + "addon_cancel_info" => "Cancelling will immediately deactivate the add-on and stop any further payments being taken.", + "system_health" => "System Health", + "system_health_desc" => "Health checks monitor that the system is performing correctly and notify you when issues arise.", + "system_health_errors" => "One or more system health checks are failing.", + "app_log_check" => "Application Log Error Count", + "app_log_errors_exist" => "Application log file for today contains errors, please check the logs by navigating to Utilities -> Logs -> Log File Manager -> :filename", + "redis_check" => "Redis Connection", + "web_server_check" => "Web Server", + "web_server_error" => "Unable to connect to :url", + "redirection_rules_check" => "Redirection Rules", + "redirection_rule_error" => "Server redirection rules must remove /index.php from path. Otherwise attackers can potentially access your files.", + "cron_check" => "Cron", + "cron_check_error" => "The cron is not running.", + "cron_check_warning" => "The following tasks: (:tasks) has not been ran within their expected interval.", + "database_check" => "Database Connection", + "disk_usage_check" => "Free Disk Space", + "email_queue_check" => "Outbound Email Queue", + "email_queue_warning" => "Email queue contains :number emails that require manual attention.", + "pipe_check" => "Email Piping", + "file_not_found" => "File ':path' not found.", + "file_not_executable" => "File ':path' is not executable.", + "dependency_resolution" => "Unable to run health check.", + "debug_mode_warning" => "Debug mode should only be used temporarily.", + "custom_colour" => "Custom Colour", + "remove_colour" => "Remove Colour", + "background_colour" => "Background Colour", + "open_link" => "Open link", + "open_link_in" => "Open link in...", + "new_window" => "New window", + "current_window" => "Current window", + "edit_image" => "Edit image...", + "alternative_description" => "Alternative description", + "browse_image" => "Browse for an image", + "drop_image" => "Drop an image here", + ); diff --git a/Lang/fr/general.php b/Lang/fr/general.php index 6747f80..a6bf888 100644 --- a/Lang/fr/general.php +++ b/Lang/fr/general.php @@ -399,4 +399,20 @@ */ "download_all" => "Télécharger tout", + /* + * 4.0.0 + */ + "install" => "Install", + "installing" => "Installing...", + "updating" => "Updating...", + "cancelling" => "Cancelling...", + "ok" => "OK", + "mark_as_verified" => "Mark as Verified", + "not_verified" => "Not Verified", + "free" => "Free", + "commercial" => "Commercial", + "purchase" => "Purchase", + "more_information" => "More Information", + "details" => "Details", + ); diff --git a/Lang/fr/license.php b/Lang/fr/license.php index 30fdcb4..b8a63c0 100644 --- a/Lang/fr/license.php +++ b/Lang/fr/license.php @@ -43,4 +43,9 @@ */ "multi_ip_support" => "Pensez à activer le Multi-IP support dans la zone du client pour définir des adresses IP additionnelles.", + /* + * 4.0.0 + */ + "unlicensed" => "Unlicensed", + ); diff --git a/Lang/fr/permission.php b/Lang/fr/permission.php index d56b14a..10f7a89 100644 --- a/Lang/fr/permission.php +++ b/Lang/fr/permission.php @@ -61,12 +61,6 @@ // General "tag" => "Gérer libellés", - /* - * 2.0.2 - */ - // Core - "plugin" => "Voir plugins", - /* * 2.0.3 */ @@ -125,4 +119,10 @@ */ "background_jobs" => "View Background Jobs", + /* + * 4.0.0 + */ + "addon" => "View and Manage Add-ons", + "system_health" => "View System Health", + ); diff --git a/Lang/fr/ticket.php b/Lang/fr/ticket.php index 08e107c..7da3402 100644 --- a/Lang/fr/ticket.php +++ b/Lang/fr/ticket.php @@ -298,8 +298,6 @@ "track_ticket_not_found" => "Impossible de trouver ticket avec numéro de ticket et adresse e-mail du client indiquée.", - "channel_deactivated" => "Le canal de tickets est actuellement désactivée, une réponse ne peut pas être affichée.", - "type_in_tags" => "Entrer libellés", /* @@ -322,7 +320,6 @@ "default_reply_options_desc" => "Sélectionnez les options de réponse par défaut lors de l'ouverture ou réponse à un ticket. Le ':reply_option' option sera cochée sur la base du ':department_option'. paramètre département", "associate_response_tag" => "Réponse pré-enregistrée associée à un tag ...", "canned_response_tags_desc" => "Ajouter des tags qui peuvent aider à trouver une réponse pré-enregistrée lors de la réponse à un ticket.", - "loading_tags" => "Activer tags", "append_ip_address" => "Ajouter adresse IP", "append_ip_address_desc" => "Ajoutez l'adresse IP des utilisateurs à leurs messages quand ils ouvrent et répondent aux tickets à partir du frontend.", "unassign_operator" => "Détacher opérateur", @@ -495,11 +492,6 @@ "block_user" => "Bloquer l'utilisateur", "merge_tickets" => "Fusionner les tickets", - /* - * 2.5.1 - */ - "channel_account_removed" => "Ce canal de tickets a été désactivé supprimé, il est donc impossible d'y répondre.", - /* * 2.6.0 */ @@ -547,4 +539,10 @@ "api_channel_name" => "API", "api_channel_desc" => "Les tickets et réponses postés depuis l'API.", + /* + * 4.0.0 + */ + "on_behalf_of" => "Created on behalf of", + "reply_canned_be_posted" => "It is not currently possible to reply to this ticket; the channel or channel account may be disabled.", + ); diff --git a/Lang/fr/user.php b/Lang/fr/user.php index dd2303f..100d353 100644 --- a/Lang/fr/user.php +++ b/Lang/fr/user.php @@ -339,4 +339,14 @@ "logged_in" => "Logged In", "revoke_session_desc" => "Revoking a session will log the device out of the operator panel. It will also revoke all remember me tokens for other devices.", + /** + * 4.0.0 + */ + "verify_phone_number" => "Verify Phone Number", + "verify_phone_method" => "Select the method you wish to verify your phone number.", + "verify_phone_code_sent" => "A verification code has been sent to your phone number, please enter this code below.", + "verify_phone_code_send_error" => "An error occurred while sending the verification code. Please try again later.", + "verify_phone_code_error" => "Code could not be verified.", + "logged_in_as" => "Logged in as :name", + );