Index: gc_lang/fr/build.py ================================================================== --- gc_lang/fr/build.py +++ gc_lang/fr/build.py @@ -89,12 +89,15 @@ for sp in os.listdir(spDict): if os.path.isdir(spDict+"/"+sp): hZip.write(spDict+"/"+sp+"/"+sp+".dic", "content/dictionaries/"+sp+"/"+sp+".dic") hZip.write(spDict+"/"+sp+"/"+sp+".aff", "content/dictionaries/"+sp+"/"+sp+".aff") hZip.close() - spfDebugProfile = dVars['win_tb_debug_extension_path'] if platform.system() == "Windows" else dVars['linux_tb_debug_extension_path'] - helpers.unzip(spfZip, spfDebugProfile) + spDebugProfile = dVars['win_tb_debug_extension_path'] if platform.system() == "Windows" else dVars['linux_tb_debug_extension_path'] + helpers.unzip(spfZip, spDebugProfile) + spfBetaExtension = dVars['win_tb_beta_extension_filepath'] if platform.system() == "Windows" else dVars['linux_tb_beta_extension_filepath'] + #helpers.unzip(spfZip, spBetaProfile) + file_util.copy_file(spfZip, spfBetaExtension) def _createOptionsForThunderbird (dVars): dVars['sXULTabs'] = "" dVars['sXULTabPanels'] = "" Index: gc_lang/fr/config.ini ================================================================== --- gc_lang/fr/config.ini +++ gc_lang/fr/config.ini @@ -50,12 +50,19 @@ linux_fx_nightly_path = /usr/bin/firefox # Thunderbird tb_identifier = French-GC-TB@grammalecte.net tb_name = Grammalecte [fr] +win_tb_path = C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe +#win_tb_beta_path = C:\Program Files (x86)\Mozilla Thunderbird (Beta)\thunderbird.exe +win_tb_beta_path = C:\Program Files (x86)\Mozilla Thunderbird (Beta)\thunderbird.exe +linux_tb_path = /usr/bin/thunderbird +linux_tb_beta_path = /usr/bin/thunderbird win_tb_debug_extension_path = D:\_temp\tb-debug.profile\extensions\French-GC-TB@grammalecte.net linux_tb_debug_extension_path = ~/tb-debug.profile/extensions/French-GC-TB@grammalecte.net +win_tb_beta_extension_filepath = D:\_temp\tb-beta.profile\extensions\French-GC-TB@grammalecte.net.xpi +linux_tb_beta_extension_filepath = ~/tb-beta.profile/extensions/French-GC-TB@grammalecte.net.xpi # Set Thunderbird folder in your PATH variable # Create a local profile: # thunderbird -CreateProfile "debug _build\tb-debug.profile" # Or you can use the GUI with: # thunderbird -P Index: gc_lang/fr/oxt/DictOptions/LexiconEditor.py ================================================================== --- gc_lang/fr/oxt/DictOptions/LexiconEditor.py +++ gc_lang/fr/oxt/DictOptions/LexiconEditor.py @@ -420,14 +420,15 @@ else: self.xOptionNode.setPropertyValue("personal_dic", "") self.xSettingNode.commitChanges() self.xNumDic.Label = "0" self.xDateDic.Label = self.dUI.get("void", "#err") + MessageBox(self.xDocument, self.dUI.get('save_message', "#err"), self.dUI.get('save_title', "#err")) def exportDictionary (self): try: - spfExported = os.path.join(os.path.expanduser("~"), "fr.personal.json") + spfExported = os.path.join(os.path.expanduser("~"), "fr.personal.json") sJSON = self.xOptionNode.getPropertyValue("personal_dic") if sJSON: with open(spfExported, "w", encoding="utf-8") as hDst: hDst.write(sJSON) sMessage = self.dUI.get('export_message', "#err_msg: %s") % spfExported Index: gc_lang/fr/oxt/DictOptions/lxe_strings.py ================================================================== --- gc_lang/fr/oxt/DictOptions/lxe_strings.py +++ gc_lang/fr/oxt/DictOptions/lxe_strings.py @@ -65,10 +65,12 @@ # Dictionary "dictionary_section": "Dictionnaire personnel", "save_date_label": "Date d’enregistrement :", "num_of_entries_label": "Nombre d’entrées :", + "save_title": "Enregistrement du dictionnaire", + "save_message": "Enregistrement fait.\nCe nouveau dictionnaire ne sera pris en compte qu’au redémarrage de LibreOffice.", "import_button": "Importer", "import_title": "Importation du dictionnaire", "export_button": "Exporter", "export_title": "Exportation du dictionnaire", "export_message": "Fichier exporté : ‹%s›", @@ -147,10 +149,12 @@ # Dictionary "dictionary_section": "Dictionnaire personnel", "save_date_label": "Save date:", "num_of_entries_label": "Number of entries:", + "save_title": "Saving dictionary", + "save_message": "Saving done.\nThis new dictionary will be loaded after LibreOffice restart.", "import_button": "Import", "import_title": "Import dictionary", "export_button": "Export", "export_title": "Export dictionary", "export_message": "Exported file: ‹%s›", Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -5273,10 +5273,11 @@ __[i](p_orge)__ orge (perlé|mondé|carré) @@$ <<- ~1>> * __[i](p_noire_comme)__ noire?s? (comme (?:la nuit|une nuit sans lune)) @@$ <<- ~1>> * __[i](p_partie_de_jambe_en_l_air)__ parties? (de jambes en l’air) @@$ <<- ~1>> * __[i](p_pièce_de)__ pièces? (de (?:théâtre|monnaie|\d+ (?:euros?|centimes?|cents?|livres? sterling|shillings?))) @@$ <<- ~1>> * +__[i](p_pomme_de)__ pommes? (de (?:discorde|terre|reinette|pin)|d’(?:Adam|api|amour|ambre|eau|or)) @@$ <<- ~1>> * __[i](p_porte_de)__ portes? (de (?:service|garage)) @@$ <<- ~1>> * __[i](p_poudre_aux_yeux)__ poudres? (aux yeux) @@$ <<- ~1>> * __[i](p_preuve_du_contraire)__ preuves? +(?:suffisantes? +|)(du contraire) @@$ <<- ~1>> * __[i](p_quelqu_un_d_autre)__ quelqu un (d’autre) @@$ <<- ~1>> * __[i](p_réglé_comme)__ réglée?s? (comme du papier à musique) @@$ <<- ~1>> * Index: gc_lang/fr/tb/chrome.manifest ================================================================== --- gc_lang/fr/tb/chrome.manifest +++ gc_lang/fr/tb/chrome.manifest @@ -4,6 +4,6 @@ resource grammalecte ./grammalecte-js/ locale grammarchecker fr locale/fr/ locale grammarchecker en locale/en/ skin grammarchecker classic/1.0 skin/ overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://grammarchecker/content/overlay.xul -style chrome://global/content/customizeToolbar.xul chrome://grammarchecker/content/overlay.css +style chrome://messenger/content/customizeToolbar.xul chrome://grammarchecker/content/overlay.css Index: gc_lang/fr/tb/content/about.css ================================================================== --- gc_lang/fr/tb/content/about.css +++ gc_lang/fr/tb/content/about.css @@ -23,5 +23,24 @@ font-size: 16px; text-align: center; color: hsl(210, 50%, 50%); cursor: pointer; } + + +/* + TB Next: fix dialogheaders +*/ +dialogheader { + -moz-binding: url("chrome://messenger/content/generalBindings.xml#dialogheader"); + margin: 0 5px 5px; + border: 1px solid ThreeDDarkShadow; + padding: 5px 8px; + background-color: Highlight; + color: HighlightText; +} + +.dialogheader-title { + margin: 0 !important; + font-size: larger; + font-weight: bold; +} Index: gc_lang/fr/tb/content/about.js ================================================================== --- gc_lang/fr/tb/content/about.js +++ gc_lang/fr/tb/content/about.js @@ -1,25 +1,21 @@ // JavaScript const Cc = Components.classes; const Ci = Components.interfaces; -const Cu = Components.utils; -//const { require } = Cu.import("resource://gre/modules/commonjs/toolkit/require.js", {}); - -function echo (...args) { - Services.console.logStringMessage(args.join(" -- ") + "\n"); -} +//const Cu = Components.utils; function openInBrowserURL (sURL) { // method found in S3.Google.Translator try { openURL(sURL); // Works in overlay.js, but not here… Seems there is no documentation available about this feature on Mozilla.org } catch (e) { - Cu.reportError(e); + console.error(e); + //Cu.reportError(e); } } function openInTabURL (sURL) { // method found in S3.Google.Translator @@ -31,8 +27,9 @@ if (xTabmail) { xTabmail.openTab('contentTab', { contentPage: sURL }); } } catch (e) { - Cu.reportError(e); + console.error(e); + //Cu.reportError(e); } } Index: gc_lang/fr/tb/content/about.xul ================================================================== --- gc_lang/fr/tb/content/about.xul +++ gc_lang/fr/tb/content/about.xul @@ -32,7 +32,7 @@