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",
+
);