mirror of
https://github.com/mirego/accent.git
synced 2024-09-11 18:58:14 +03:00
Fix typos, replace diff library, improve add translations file commit UI and improve OpenAI prompt
This commit is contained in:
parent
4fb0d20f61
commit
0298f9b754
@ -16,7 +16,7 @@ defmodule Accent.Prompts.Provider.OpenAI do
|
||||
%{
|
||||
"role" => "system",
|
||||
"content" =>
|
||||
~s{Following this instruction "#{prompt.content}", respond with the improved text in the user’s message format.}
|
||||
~s{Following this instruction "#{prompt.content}", respond with the improved text in the user’s message format without repeating the instructions.}
|
||||
},
|
||||
%{
|
||||
"role" => "user",
|
||||
|
@ -21,7 +21,7 @@ defmodule Accent.ErrorView do
|
||||
%{error: "Not found", message: "-"}
|
||||
|
||||
iex> Accent.ErrorView.render("500.json", %{})
|
||||
%{error: "Internal error", message: "An error occured, someone as been notified"}
|
||||
%{error: "Internal error", message: "An error occurred, someone as been notified"}
|
||||
|
||||
iex> Accent.ErrorView.render("404.html", %{})
|
||||
"Page not found"
|
||||
@ -66,7 +66,7 @@ defmodule Accent.ErrorView do
|
||||
def render("500.json", _assigns) do
|
||||
%{
|
||||
error: "Internal error",
|
||||
message: "An error occured, someone as been notified"
|
||||
message: "An error occurred, someone as been notified"
|
||||
}
|
||||
end
|
||||
|
||||
|
@ -10,6 +10,7 @@ defmodule AccentTest.Movement.Builders.SlaveConflictSync do
|
||||
alias Accent.Translation
|
||||
alias Accent.User
|
||||
alias Movement.Builders.SlaveConflictSync, as: SlaveConflictSyncBuilder
|
||||
alias Movement.Context
|
||||
|
||||
@user %User{email: "test@test.com"}
|
||||
|
||||
@ -40,8 +41,8 @@ defmodule AccentTest.Movement.Builders.SlaveConflictSync do
|
||||
Repo.insert!(%Translation{key: "a", proposed_text: "C", revision_id: other_revision.id, document_id: document.id})
|
||||
|
||||
context =
|
||||
%Movement.Context{operations: [%{key: "a", action: "conflict_on_proposed"}]}
|
||||
|> Movement.Context.assign(:revisions, [revision, other_revision])
|
||||
%Context{operations: [%{key: "a", action: "conflict_on_proposed"}]}
|
||||
|> Context.assign(:revisions, [revision, other_revision])
|
||||
|> SlaveConflictSyncBuilder.build()
|
||||
|
||||
operations = Enum.map(context.operations, &Map.get(&1, :action))
|
||||
@ -73,9 +74,9 @@ defmodule AccentTest.Movement.Builders.SlaveConflictSync do
|
||||
})
|
||||
|
||||
context =
|
||||
%Movement.Context{operations: [%{key: "a", action: "conflict_on_proposed"}]}
|
||||
|> Movement.Context.assign(:revisions, [revision, other_revision])
|
||||
|> Movement.Context.assign(:document, document)
|
||||
%Context{operations: [%{key: "a", action: "conflict_on_proposed"}]}
|
||||
|> Context.assign(:revisions, [revision, other_revision])
|
||||
|> Context.assign(:document, document)
|
||||
|> SlaveConflictSyncBuilder.build()
|
||||
|
||||
operations = Enum.map(context.operations, &Map.get(&1, :action))
|
||||
|
@ -1,6 +1,7 @@
|
||||
import {helper} from '@ember/component/helper';
|
||||
import {htmlSafe} from '@ember/template';
|
||||
import {diffWords} from 'diff';
|
||||
import DiffMatchPatch from 'diff-match-patch';
|
||||
const diffMatchPatch = new DiffMatchPatch();
|
||||
|
||||
const SIMILARITY_THRESHOLD = 0.4;
|
||||
|
||||
@ -82,14 +83,15 @@ const stringDiff = ([text1, text2]: [string, string]) => {
|
||||
if (similarity < SIMILARITY_THRESHOLD)
|
||||
return htmlSafe(UNDIFFABLE_TAG_TEMPLATE(text2));
|
||||
|
||||
const diff = diffWords(text2 || '', text1 || '');
|
||||
const diff = diffMatchPatch.diff_main(text2 || '', text1 || '');
|
||||
diffMatchPatch.diff_cleanupSemantic(diff);
|
||||
|
||||
return htmlSafe(
|
||||
diff
|
||||
.map((part: {value: string; removed: string; added: string}) => {
|
||||
const value = escapeExpression(part.value);
|
||||
if (part.removed) return REMOVED_TAG_TEMPLATE(value);
|
||||
if (part.added) return ADDED_TAG_TEMPLATE(value);
|
||||
.map(([op, text]: [number, string]) => {
|
||||
const value = escapeExpression(text);
|
||||
if (op === -1) return REMOVED_TAG_TEMPLATE(value);
|
||||
if (op === 1) return ADDED_TAG_TEMPLATE(value);
|
||||
|
||||
return value;
|
||||
})
|
||||
|
@ -48,7 +48,7 @@
|
||||
},
|
||||
"login_header": {
|
||||
"text": "Login",
|
||||
"subtext": "Only your email address, fullname and profile picture will be used for your Accent profile.",
|
||||
"subtext": "Only your email address, full name and profile picture will be used for your Accent profile.",
|
||||
"subtitle": "Your reliable, <em>simple</em>, developer-oriented translation tool",
|
||||
"footer_open_source_link": "100% open-source",
|
||||
"footer_mirego_link": "Mirego",
|
||||
@ -92,7 +92,7 @@
|
||||
"commit_file": {
|
||||
"cancel_button": "Cancel",
|
||||
"file_input_button": "Choose a file",
|
||||
"commit_error": "An error occured while uploading the file",
|
||||
"commit_error": "An error occurred while uploading the file",
|
||||
"document_format": "Format of the file",
|
||||
"document_path": "Name of the file",
|
||||
"version_tag": "Version",
|
||||
@ -105,7 +105,7 @@
|
||||
"new_document_warning": "The changes will create a new file.",
|
||||
"existing_document_warning": "The changes will be applied to the already existing file.",
|
||||
"peek_button": "Preview sync",
|
||||
"peek_error": "An error occured while previewing the file",
|
||||
"peek_error": "An error occurred while previewing the file",
|
||||
"peek_help": "This action will have no effects on your project.",
|
||||
"sync_button": "Sync",
|
||||
"upload_help": "After choosing a file you will be able to preview the changes on your project",
|
||||
@ -151,7 +151,7 @@
|
||||
"correct_all_button": "Mark all strings as reviewed for this language",
|
||||
"no_translations": "No strings to review for: {query}",
|
||||
"all_reviewed_title": "All reviewed",
|
||||
"all_reviewed_subtitle": "Every strings have been marked as reviewed"
|
||||
"all_reviewed_subtitle": "All strings have been marked as reviewed"
|
||||
},
|
||||
"dashboard_master_revision": {
|
||||
"features": {
|
||||
@ -382,26 +382,26 @@
|
||||
"manage_languages": "Manage languages",
|
||||
"manage_languages_text": "Add/remove languages translated in the project",
|
||||
"jipt": "Just In Place Translations",
|
||||
"jipt_text": "Live translation on any applications, with builtin Javascript library",
|
||||
"jipt_text": "Live translation on any applications, with built-in JavaScript library",
|
||||
"machine_translations": "Machine translations",
|
||||
"machine_translations_text": "Configure an external service to translate languages automatically",
|
||||
"prompts": "AI Assistant",
|
||||
"prompts_text": "Configure your assistant to help you writing, improving, correcting your text"
|
||||
"prompts_text": "Configure your assistant to help write, improve or correct your strings"
|
||||
},
|
||||
"machine_translations": {
|
||||
"title": "Machine translations",
|
||||
"text": "Add a valid configuration to enable translating directly in the Review page. You can also translate your project’s file as well as arbirtary files that you upload on Accent.",
|
||||
"enabled_actions_sync": "Automatically run on project sync",
|
||||
"use_platform_label": "Use the platform config if available",
|
||||
"config_key_help_present": "Config key has been set but the value will never be exposed via the API.",
|
||||
"config_key_help_present": "Config key has been set, but the value will never be exposed via the API.",
|
||||
"config_key_help_not_present": "Once saved, the config key will never be shown.",
|
||||
"config_key_placeholder": "Paste the config key here…"
|
||||
},
|
||||
"prompts": {
|
||||
"title": "AI Assistant",
|
||||
"help": "Instructions will be available on every string inputs to help you improve your content. The clearer the instructions you give to the assistant, to better the output will be.",
|
||||
"help": "Instructions will be available on all string inputs to help you improve your content. The clearer the instructions you give to the assistant, to better the output will be.",
|
||||
"new_button": "Add a new instruction",
|
||||
"config_key_help_present": "Config key has been set but the value will never be exposed via the API.",
|
||||
"config_key_help_present": "Config key has been set, but the value will never be exposed via the API.",
|
||||
"config_key_help_not_present": "Once saved, the config key will never be shown.",
|
||||
"delete_confirm": "Are you sure you want to delete this instruction?"
|
||||
},
|
||||
@ -429,7 +429,7 @@
|
||||
"script_title": "Add the script at the root of your app",
|
||||
"add_language_title": "Add the pseudo language to your project",
|
||||
"add_language_image_1": "Here is a language like you already have in your project:",
|
||||
"add_language_image_2": "Here is the pseudo language named \"accent\" that act as a normal translsation in your project:",
|
||||
"add_language_image_2": "Here is the pseudo language named \"accent\" that act as a normal translation in your project:",
|
||||
"use_language_title": "Use the pseudo language",
|
||||
"pseudo_language_text": "The Accent script parses the DOM for strings that match the Just In Place Translations export. Go in the \"Files\" section to export the file or use the CLI to add the pseudo language to your project.",
|
||||
"use_language_text": "By switching to the Accent language using your favorite framework i18n tool, the page will display the strings in the pseudo language files and the Accent script will replace those by the strings in Accent. It will also bind click event on the elements so that you can select strings directly in your app and edit them via Accent."
|
||||
@ -700,11 +700,11 @@
|
||||
"project_manage_languages": {
|
||||
"create_error": "Language can not be added right now. Try again later.",
|
||||
"conflicts_explain_title": "On conflicts",
|
||||
"conflicts_explain_text": "Every string addition or deletion will be reflected in the language. When a text changes in the main revision, the string in the language will be marked as in review.",
|
||||
"conflicts_explain_text": "All string addition or deletion will be reflected in the language. When a text changes in the main revision, the string in the language will be marked as in review.",
|
||||
"sync_explain_title": "On sync",
|
||||
"sync_explain_text": "The main language will be the default source when syncing a file. The other languages are never \"synced\", they just follow the main language.",
|
||||
"add_translations_explain_title": "On add translations",
|
||||
"add_translations_explain_text": "Every languages can have strings \"merged\" into it by adding translations. Conflict resolution will work the same but will never add or remove strings.",
|
||||
"add_translations_explain_text": "All languages can have strings \"merged\" into it by adding translations. Conflict resolution will work the same but will never add or remove strings.",
|
||||
"main_text": "You can add a new language that will follow the main language.",
|
||||
"title": "Manage languages"
|
||||
},
|
||||
@ -1017,9 +1017,9 @@
|
||||
"loading_content": "Fetching dashboard…",
|
||||
"flash_messages": {
|
||||
"revision_correct_success": "All strings in the language have been marked as reviewed",
|
||||
"revision_correct_error": "An error has occured when marking all the strings in that language as reviewed",
|
||||
"revision_correct_error": "An error has occurred when marking all the strings in that language as reviewed",
|
||||
"revision_uncorrect_success": "All strings in the language have been marked to be reviewed",
|
||||
"revision_uncorrect_error": "An error has occured when marking all the strings in that language to be reviewed"
|
||||
"revision_uncorrect_error": "An error has occurred when marking all the strings in that language to be reviewed"
|
||||
}
|
||||
},
|
||||
"activities": {
|
||||
@ -1039,7 +1039,7 @@
|
||||
"loading_content": "Searching the strings in review…",
|
||||
"flash_messages": {
|
||||
"revision_correct_success": "All strings in the language have been marked as reviewed",
|
||||
"revision_correct_error": "An error has occured when marking all the strings in that language as reviewed",
|
||||
"revision_correct_error": "An error has occurred when marking all the strings in that language as reviewed",
|
||||
"translate_provider_error": "The string could not be translated by: {provider}",
|
||||
"translate_error": {
|
||||
"unsupported_target": "The string could not be translated: Unsupported target {target}",
|
||||
|
@ -146,12 +146,12 @@
|
||||
}
|
||||
},
|
||||
"conflict_item": {
|
||||
"correct_error_text": "Impossible de corriger le conflit. Réessayez plus tard.",
|
||||
"correct_error_text": "Impossible de réviser le conflit. Réessayez plus tard.",
|
||||
"conflicted_label": "à réviser",
|
||||
"in_review_tooltip": "Voir à réviser",
|
||||
"translate_tooltip": "Traduire à partir de ce texte",
|
||||
"translation_tooltip": "Afficher les détails de la chaîne",
|
||||
"uncorrect_error_text": "Impossible de corriger le conflit. Réessayez plus tard."
|
||||
"uncorrect_error_text": "Impossible de réviser le conflit. Réessayez plus tard."
|
||||
},
|
||||
"conflicts_actions": {
|
||||
"reload_button": "Recharger"
|
||||
@ -180,7 +180,7 @@
|
||||
"title": "Exportation"
|
||||
},
|
||||
"review": {
|
||||
"text": "Marquez les chaînes comme révisées, corrigez-les tout en voyant un diff textuel du contenu précédent. Vous pouvez même voir le texte d’une autre langue pour la chaîne correspondante.",
|
||||
"text": "Marquez les chaînes comme révisées, révisez-les tout en voyant un diff textuel du contenu précédent. Vous pouvez même voir le texte d’une autre langue pour la chaîne correspondante.",
|
||||
"title": "Révisions"
|
||||
},
|
||||
"sync": {
|
||||
@ -294,7 +294,7 @@
|
||||
"details_label": "Détails:",
|
||||
"explanation_label": "Pourquoi est-ce arrivé?",
|
||||
"rollback_confirm": "Voulez-vous vraiment annuler cette activité ? Vous ne pouvez pas annuler une restauration.",
|
||||
"rollback": "Retour en arriere",
|
||||
"rollback": "Retour en arrière",
|
||||
"stats_label_text": "Activités réalisées :",
|
||||
"stats_text": {
|
||||
"merge_on_corrected": "Chaîne traduite",
|
||||
@ -322,7 +322,7 @@
|
||||
"create_version": "Lorsqu’un utilisateur fige l’état de toutes les chaînes pour le marquer avec une version. Utilisé pour gérer plusieurs versions de la même application en parallèle.",
|
||||
"conflict_on_corrected": "Lorsque le texte téléchargé est différent du dernier texte synchronisé et que le dernier texte synchronisé est différent du texte actuel. Cela se produit si le texte a été touché par un utilisateur dans Accent. Il est utile d’identifier un conflit causé par une différence entre une synchronisation et la version modifiée dans Accent.",
|
||||
"conflict_on_proposed": "Lorsque le texte téléchargé est différent du dernier texte téléchargé et que le dernier texte synchronisé est égal au texte actuel. Cela se produit si le texte n’a pas été touché par un utilisateur dans Accent. Il est utile d’identifier un conflit causé uniquement par une synchronisation et non par une intervention humaine.",
|
||||
"conflict_on_slave": "Lorsque l’activité \"conflit sur proposition\" ou \"conflit sur corrigé\" se produit sur une chaîne, les clés correspondantes dans d’autres langues appliquent cette activité. Le but de cette activité est de signaler un changement de sens dans la langue principale dans les traductions. La chaîne sera signalée comme \"en révision\"",
|
||||
"conflict_on_slave": "Lorsque l’activité \"conflit sur proposition\" ou \"conflit sur révisé\" se produit sur une chaîne, les clés correspondantes dans d’autres langues appliquent cette activité. Le but de cette activité est de signaler un changement de sens dans la langue principale dans les traductions. La chaîne sera signalée comme \"en révision\"",
|
||||
"correct_all": "Lorsque toutes les chaînes sont marquées manuellement comme révisées.",
|
||||
"correct_conflict": "Lorsqu’une chaîne est marquée manuellement comme révisée.",
|
||||
"batch_correct_conflict": "Lorsque plusieurs chaînes ont été marquées comme révisées dans un court laps de temps.",
|
||||
@ -396,7 +396,7 @@
|
||||
},
|
||||
"links_list": {
|
||||
"prompts": "Assistant IA",
|
||||
"prompts_text": "Configurez votre assistant pour vous aider à rédiger, améliorer, corriger votre texte",
|
||||
"prompts_text": "Configurez votre assistant pour vous aider à rédiger, améliorer, réviser votre texte",
|
||||
"collaborators": "Collaborateurs",
|
||||
"collaborators_text": "Gérer qui a accès à quelles fonctionnalités de ce projet",
|
||||
"badges": "Insignes",
|
||||
@ -408,7 +408,7 @@
|
||||
"manage_languages": "Gérer les langues",
|
||||
"manage_languages_text": "Ajouter/supprimer des langues traduites dans le projet",
|
||||
"jipt": "Traductions JIPT",
|
||||
"jipt_text": "Traduction en direct sur toutes les applications, avec bibliothèque Javascript intégrée",
|
||||
"jipt_text": "Traduction en direct sur toutes les applications, avec bibliothèque JavaScript intégrée",
|
||||
"machine_translations": "Traductions machines",
|
||||
"machine_translations_text": "Configurer un service externe pour traduire automatiquement les langues"
|
||||
},
|
||||
@ -529,23 +529,23 @@
|
||||
},
|
||||
"project_activities_filter": {
|
||||
"actions": {
|
||||
"conflict_on_corrected": "Conflit sur corrigé",
|
||||
"conflict_on_corrected": "Conflit sur révisé",
|
||||
"conflict_on_proposed": "Conflit sur la proposition",
|
||||
"conflict_on_slave": "Conflit sur l’esclave",
|
||||
"correct_all": "Corrigez tout",
|
||||
"correct_conflict": "Corriger le conflit",
|
||||
"batch_correct_conflict": "Corriger les conflits",
|
||||
"correct_all": "Révisez tout",
|
||||
"correct_conflict": "Réviser le conflit",
|
||||
"batch_correct_conflict": "Réviser les conflits",
|
||||
"document_delete": "Suppression de fichier",
|
||||
"new": "Nouveau",
|
||||
"renew": "Renouveler",
|
||||
"new_comment": "Nouveau commentaire",
|
||||
"remove": "Éliminer",
|
||||
"rollback": "Retour en arriere",
|
||||
"rollback": "Retour en arrière",
|
||||
"batch_merge": "Ajouter des traductions aux fichiers",
|
||||
"merge": "Ajouter des traductions au fichier",
|
||||
"sync": "Synchroniser le fichier",
|
||||
"batch_sync": "Synchroniser les fichiers",
|
||||
"uncorrect_all": "Ne pas corriger tout",
|
||||
"uncorrect_all": "Ne pas réviser tout",
|
||||
"uncorrect_conflict": "Conflit incorrect",
|
||||
"update": "Mettre à jour la chaîne",
|
||||
"batch_update": "Mettre à jour les chaînes"
|
||||
@ -678,7 +678,7 @@
|
||||
"export_jipt": "Traduction JIPT"
|
||||
},
|
||||
"project_navigation": {
|
||||
"back_to_projects": "Retour au projets",
|
||||
"back_to_projects": "Retour aux projets",
|
||||
"engage": "Engager",
|
||||
"revise": "Réviser",
|
||||
"manage": "Gérer",
|
||||
@ -727,14 +727,14 @@
|
||||
"related_translations_list": {
|
||||
"comments_label": "{count, plural, =0 {Aucun commentaire} =1 {1 commentaire} other {# commentaires}}",
|
||||
"conflicted_label": "à réviser",
|
||||
"master_label": "Principale",
|
||||
"master_label": "principale",
|
||||
"save_button": "Sauver",
|
||||
"last_updated_label": "Dernière mise à jour:",
|
||||
"new_language_link": "Nouveau langage",
|
||||
"no_related_translations": "Pas encore de traductions. Vous devez ajouter une autre langue à votre projet."
|
||||
},
|
||||
"removed_translation_edit": {
|
||||
"cant_edit": "Cette chaîne ne peut pas être modifiée car elle a été supprimée."
|
||||
"cant_edit": "Cette chaîne ne peut pas être modifiée, car elle a été supprimée."
|
||||
},
|
||||
"project_manage_languages_create_form": {
|
||||
"default_null": "Initialiser le langage avec des chaînes vides",
|
||||
@ -757,7 +757,7 @@
|
||||
"default_version": "Version par défaut",
|
||||
"orders": {
|
||||
"az": "Ordre alphabétique",
|
||||
"original": "Ordre originale"
|
||||
"original": "Ordre original"
|
||||
},
|
||||
"advanced_filters_title": "Filtres de traduction",
|
||||
"advanced_filters": {
|
||||
@ -822,7 +822,7 @@
|
||||
"correct_button": "Mettre à jour et marquer comme révisé",
|
||||
"previous_text": "Texte précédent :",
|
||||
"uncorrect_button": "Remettre à révisée",
|
||||
"uneditable": "Le texte n’est pas modifiable car il a été marqué comme révisé",
|
||||
"uneditable": "Le texte n’est pas modifiable, car il a été marqué comme révisé",
|
||||
"update_text": "Mettre à jour le texte",
|
||||
"form": {
|
||||
"true_option": "vrai",
|
||||
@ -832,7 +832,7 @@
|
||||
"float_type_notice": "Le texte a été défini avec une valeur flottante.",
|
||||
"empty_type_notice": "Le texte a été défini sur une chaîne vide",
|
||||
"empty_type_placeholder": "Texte vide",
|
||||
"null_type_notice": "Le texte a été défini sur null",
|
||||
"null_type_notice": "Le texte a été défini sur nulle",
|
||||
"file_comment": {
|
||||
"title": "Commentaire de fichier"
|
||||
},
|
||||
@ -854,7 +854,7 @@
|
||||
"FIRST_LETTER_CASE": "La casse de la première lettre ne concorde pas",
|
||||
"THREE_DOTS_ELLIPSIS": "Trois points pour des points de suspension",
|
||||
"SAME_TRAILING_CHARACTER": "Le caractère de fin ne concorde pas",
|
||||
"SPELLING": "Ortographe",
|
||||
"SPELLING": "Orthographe",
|
||||
"URL_COUNT": "Le nombre d’URL ne concorde pas"
|
||||
},
|
||||
"checks": {
|
||||
@ -866,8 +866,8 @@
|
||||
"FIRST_LETTER_CASE": "La première lettre de traduction ne correspond pas à la casse de la langue principal",
|
||||
"THREE_DOTS_ELLIPSIS": "La chaîne contient trois points au lieu de points de suspension",
|
||||
"SAME_TRAILING_CHARACTER": "La chaîne ne correspond pas au caractère de fin de la langue principal",
|
||||
"SPELLING": "La chaîne contient une faute d’ortographe",
|
||||
"URL_COUNT": "Le cnombre d’URL ne correspond pas à la chaîne principale"
|
||||
"SPELLING": "La chaîne contient une faute d’orthographe",
|
||||
"URL_COUNT": "Le nombre d’URL ne correspond pas à la chaîne principale"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -881,7 +881,7 @@
|
||||
"translation_splash_title": {
|
||||
"plural_label": "pluriel",
|
||||
"conflicted_label": "à réviser",
|
||||
"master_label": "Principale",
|
||||
"master_label": "principale",
|
||||
"last_updated_label": "Dernière mise à jour:",
|
||||
"removed_label": "Cette chaîne a été supprimée {removedAt}"
|
||||
},
|
||||
@ -930,7 +930,7 @@
|
||||
"api_token": "Obtenir un jeton API",
|
||||
"api_token_text": "Interagissez avec l’API de votre projet",
|
||||
"start_review": "Commencez à réviser et à traduire",
|
||||
"export": "Exporter le fichier corrigé",
|
||||
"export": "Exporter le fichier révisé",
|
||||
"help": "Aider?"
|
||||
}
|
||||
},
|
||||
@ -1057,14 +1057,14 @@
|
||||
"machine_translations_config_remove_error": "La configuration des traductions automatiques n’a pas pu être supprimée",
|
||||
"machine_translations_config_remove_success": "La configuration des traductions automatiques a été supprimée avec succès",
|
||||
"prompts_update_success": "L’instruction a été mise à jour avec succès",
|
||||
"prompts_update_error": "L’instruction n'a pas pu être mise à jour",
|
||||
"prompts_update_error": "L’instruction n’a pas pu être mise à jour",
|
||||
"prompts_create_success": "L’instruction a été créée avec succès",
|
||||
"prompts_create_error": "Impossible de créer l’instruction",
|
||||
"prompts_remove_success": "L’instruction a été supprimée avec succès",
|
||||
"prompts_remove_error": "Impossible de supprimer l’instruction",
|
||||
"prompts_config_error": "La configuration de l’assistant AI n'a pas pu être enregistrée",
|
||||
"prompts_config_error": "La configuration de l’assistant AI n’a pas pu être enregistrée",
|
||||
"prompts_config_success": "La configuration de l’assistant AI a été enregistrée avec succès",
|
||||
"prompts_config_remove_error": "La configuration de l’assistant AI n'a pas pu être supprimée",
|
||||
"prompts_config_remove_error": "La configuration de l’assistant AI n’a pas pu être supprimée",
|
||||
"prompts_config_remove_success": "La configuration de l’assistant AI a été supprimée avec succès",
|
||||
"collaborator_add_error": "Le collaborateur n’a pas pu être ajouté",
|
||||
"collaborator_add_success": "Le collaborateur a été ajouté avec succès",
|
||||
|
@ -118,7 +118,9 @@ export default class CommitFile extends Component<Args> {
|
||||
@tracked
|
||||
revisionValue =
|
||||
this.mappedRevisions.find(({value}) => value === this.revision) ||
|
||||
this.mappedRevisions[0];
|
||||
(this.args.commitAction === 'merge' && this.mappedRevisions[1])
|
||||
? this.mappedRevisions[1]
|
||||
: this.mappedRevisions[0];
|
||||
|
||||
@tracked
|
||||
versionValue =
|
||||
@ -127,7 +129,11 @@ export default class CommitFile extends Component<Args> {
|
||||
) || this.mappedVersions[0];
|
||||
|
||||
@tracked
|
||||
revision = this.args.revisions.find((revision: any) => revision.isMaster);
|
||||
revision =
|
||||
this.args.revisions.find((revision: any) => revision.isMaster) ||
|
||||
(this.args.commitAction === 'merge' && this.args.revisions[1])
|
||||
? this.args.revisions[1]
|
||||
: this.args.revisions[0];
|
||||
|
||||
@tracked
|
||||
version: {id: string; tag: string} | null = null;
|
||||
|
@ -274,7 +274,7 @@
|
||||
.conflictedText-references-conflicted {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-top: 10px;
|
||||
margin-top: 7px;
|
||||
font-size: 12px;
|
||||
color: var(--color-black);
|
||||
}
|
||||
|
@ -428,7 +428,7 @@ input[type='radio'] {
|
||||
}
|
||||
|
||||
:global(.added) {
|
||||
padding: 0 3px;
|
||||
padding: 0 1px;
|
||||
background: hsl(
|
||||
var(--color-green-hue),
|
||||
var(--color-green-saturation),
|
||||
@ -438,13 +438,13 @@ input[type='radio'] {
|
||||
}
|
||||
|
||||
:global(.undiffable) {
|
||||
padding: 0 3px;
|
||||
padding: 0 1px;
|
||||
background: var(--background-light-highlight);
|
||||
color: var(--color-gray);
|
||||
}
|
||||
|
||||
:global(.removed) {
|
||||
padding: 0 3px;
|
||||
padding: 0 1px;
|
||||
background: hsl(
|
||||
var(--color-error-hue),
|
||||
var(--color-error-saturation),
|
||||
|
25
webapp/package-lock.json
generated
25
webapp/package-lock.json
generated
@ -19,7 +19,7 @@
|
||||
"color": "4.2.1",
|
||||
"cryptiles": "4.1.3",
|
||||
"date-fns": "2.28.0",
|
||||
"diff": "5.0.0",
|
||||
"diff-match-patch": "1.0.5",
|
||||
"ember-auto-import": "2.4.0",
|
||||
"ember-autoresize-modifier": "0.5.0",
|
||||
"ember-cli": "4.1.1",
|
||||
@ -64,6 +64,7 @@
|
||||
"@ember/test-helpers": "2.6.0",
|
||||
"@glimmer/component": "1.0.4",
|
||||
"@types/diff": "5.0.2",
|
||||
"@types/diff-match-patch": "^1.0.35",
|
||||
"@types/ember": "4.0.0",
|
||||
"@types/ember__test-helpers": "2.6.1",
|
||||
"@types/ember-mocha": "0.16.0",
|
||||
@ -3067,6 +3068,12 @@
|
||||
"integrity": "sha512-uw8eYMIReOwstQ0QKF0sICefSy8cNO/v7gOTiIy9SbwuHyEecJUm7qlgueOO5S1udZ5I/irVydHVwMchgzbKTg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/diff-match-patch": {
|
||||
"version": "1.0.35",
|
||||
"resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.35.tgz",
|
||||
"integrity": "sha512-+RpmGthShsToYni9Df1DBhFfPuMV1/VgDvedhSCgP5ll7QsNYcaxfqv4/8Vzbw7FtEscD80OCyycQuMtIVL07Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/ember": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/ember/-/ember-4.0.0.tgz",
|
||||
@ -10098,6 +10105,11 @@
|
||||
"node": ">=0.3.1"
|
||||
}
|
||||
},
|
||||
"node_modules/diff-match-patch": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
|
||||
"integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="
|
||||
},
|
||||
"node_modules/diffie-hellman": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
|
||||
@ -31506,6 +31518,12 @@
|
||||
"integrity": "sha512-uw8eYMIReOwstQ0QKF0sICefSy8cNO/v7gOTiIy9SbwuHyEecJUm7qlgueOO5S1udZ5I/irVydHVwMchgzbKTg==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/diff-match-patch": {
|
||||
"version": "1.0.35",
|
||||
"resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.35.tgz",
|
||||
"integrity": "sha512-+RpmGthShsToYni9Df1DBhFfPuMV1/VgDvedhSCgP5ll7QsNYcaxfqv4/8Vzbw7FtEscD80OCyycQuMtIVL07Q==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/ember": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/ember/-/ember-4.0.0.tgz",
|
||||
@ -37540,6 +37558,11 @@
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
|
||||
"integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w=="
|
||||
},
|
||||
"diff-match-patch": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
|
||||
"integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="
|
||||
},
|
||||
"diffie-hellman": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
|
||||
|
@ -38,7 +38,7 @@
|
||||
"color": "4.2.1",
|
||||
"cryptiles": "4.1.3",
|
||||
"date-fns": "2.28.0",
|
||||
"diff": "5.0.0",
|
||||
"diff-match-patch": "1.0.5",
|
||||
"ember-auto-import": "2.4.0",
|
||||
"ember-autoresize-modifier": "0.5.0",
|
||||
"ember-cli": "4.1.1",
|
||||
@ -83,6 +83,7 @@
|
||||
"@ember/test-helpers": "2.6.0",
|
||||
"@glimmer/component": "1.0.4",
|
||||
"@types/diff": "5.0.2",
|
||||
"@types/diff-match-patch": "^1.0.35",
|
||||
"@types/ember": "4.0.0",
|
||||
"@types/ember__test-helpers": "2.6.1",
|
||||
"@types/ember-mocha": "0.16.0",
|
||||
|
1
webapp/types/diff.d.ts
vendored
1
webapp/types/diff.d.ts
vendored
@ -1 +0,0 @@
|
||||
declare module 'diff';
|
Loading…
Reference in New Issue
Block a user