Grammalecte  Check-in [1daf45b00e]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:[lo] remove dictionary switcher (deprecated code)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | lo
Files: files | file ages | folders
SHA3-256:1daf45b00e1a0be0f8ce17166104c9b8649fe447737d1bd504f155ad060b459e
User & Date: olr 2019-04-29 16:36:08
Context
2019-04-29
16:50
[fr][lo] ne plus générer le dictionnaire moderne check-in: c0ea873e70 user: olr tags: fr, lo, trunk
16:36
[lo] remove dictionary switcher (deprecated code) check-in: 1daf45b00e user: olr tags: lo, trunk
16:24
[lo] use Dialog for dictionaries to set Hunspell dictionary also check-in: 3eef67439f user: olr tags: lo, trunk
Changes

Deleted gc_lang/fr/oxt/Dictionnaires/DictionarySwitcher.py.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# French Dictionary Switcher
# by Olivier R.
# License: MPL 2

import unohelper
import uno
import re
import traceback

import helpers
import ds_strings

from com.sun.star.task import XJobExecutor
from com.sun.star.awt import XActionListener
from com.sun.star.beans import PropertyValue


class FrenchDictionarySwitcher (unohelper.Base, XActionListener, XJobExecutor):
    def __init__ (self, ctx):
        self.ctx = ctx
        self.xSvMgr = self.ctx.ServiceManager
        self.xContainer = None
        self.xDialog = None
        self.xRB_m = None
        self.xRB_c = None
        self.xRB_r = None
        self.xRB_f = None
        self.sCurrentDic = ''
        self.sSelectedDic = ''

    def _addWidget (self, name, wtype, x, y, w, h, **kwargs):
        xWidget = self.xDialog.createInstance('com.sun.star.awt.UnoControl%sModel' % wtype)
        xWidget.Name = name
        xWidget.PositionX = x
        xWidget.PositionY = y
        xWidget.Width = w
        xWidget.Height = h
        for k, w in kwargs.items():
            setattr(xWidget, k, w)
        self.xDialog.insertByName(name, xWidget)
        return xWidget

    def run (self, sLang):
        dUI = ds_strings.getUI(sLang)

        # what is the current dictionary
        xSettings = helpers.getConfigSetting("/org.openoffice.Office.Linguistic/ServiceManager/Dictionaries/HunSpellDic_fr", False)
        xLocations = xSettings.getByName("Locations")
        m = re.search(r"fr-(\w*)\.(?:dic|aff)", xLocations[0])
        self.sCurrentDic = m.group(1)

        # dialog
        self.xDialog = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.UnoControlDialogModel', self.ctx)
        self.xDialog.Width = 200
        self.xDialog.Height = 290
        self.xDialog.Title = dUI.get('title', "#title#")
        xWindowSize = helpers.getWindowSize()
        self.xDialog.PositionX = int((xWindowSize.Width / 2) - (self.xDialog.Width / 2))
        self.xDialog.PositionY = int((xWindowSize.Height / 2) - (self.xDialog.Height / 2))

        # xWidgets
        padding = 10
        hspace = 60
        posY1 = 20; posY2 = posY1 + hspace; posY3 = posY2 + hspace; posY4 = posY3 + hspace; posY5 = posY4 + hspace + 10;
        nLblWidth = 170
        nLblHeight = 20
        nDescWidth = 170
        nDescHeight = 40

        xFD1 = uno.createUnoStruct("com.sun.star.awt.FontDescriptor")
        xFD1.Height = 12
        xFD1.Name = "Verdana"

        xFD2 = uno.createUnoStruct("com.sun.star.awt.FontDescriptor")
        xFD2.Height = 11
        xFD2.Name = "Verdana"

        xFD3 = uno.createUnoStruct("com.sun.star.awt.FontDescriptor")
        xFD3.Height = 10
        xFD3.Weight = uno.getConstantByName("com.sun.star.awt.FontWeight.BOLD")
        xFD3.Name = "Verdana"

        gbm = self._addWidget('groupbox', 'GroupBox', 5, 5, 190, 260, Label = dUI.get('choose', "#choose#"), FontDescriptor = xFD1, FontRelief = 1, TextColor = 0xAA2200)

        # Note: the only way to group RadioButtons is to create them successively
        rbm_m = self._addWidget('rb-moderne', 'RadioButton', padding, posY1, nLblWidth, nLblHeight, Label = dUI.get('moderne', "#moderne#"), FontDescriptor = xFD2, FontRelief = 1, TextColor = 0x0022AA)
        self.xRB_m = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.UnoControlRadioButton', self.ctx)
        self.xRB_m.setModel(rbm_m)
        rbm_c = self._addWidget('rb-classique', 'RadioButton', padding, posY2, nLblWidth, nLblHeight, Label = dUI.get('classique', "#classique#"), FontDescriptor = xFD2, FontRelief = 1, TextColor = 0x0022AA)
        self.xRB_c = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.UnoControlRadioButton', self.ctx)
        self.xRB_c.setModel(rbm_c)
        rbm_r = self._addWidget('rb-reforme1990', 'RadioButton', padding, posY3, nLblWidth, nLblHeight, Label = dUI.get('reforme1990', "#reforme1990#"), FontDescriptor = xFD2, FontRelief = 1, TextColor = 0x0022AA)
        self.xRB_r = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.UnoControlRadioButton', self.ctx)
        self.xRB_r.setModel(rbm_r)
        rbm_t = self._addWidget('rb-toutesvariantes', 'RadioButton', padding, posY4, nLblWidth, nLblHeight, Label = dUI.get('toutesvariantes', "#toutesvariantes#"), FontDescriptor = xFD2, FontRelief = 1, TextColor = 0x0022AA)
        self.xRB_t = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.UnoControlRadioButton', self.ctx)
        self.xRB_t.setModel(rbm_t)

        self._addWidget('label_m', 'FixedText', 20, posY1+10, nDescWidth, nDescHeight, Label = dUI.get('descModern', "#descModern#"), MultiLine = True)
        self._addWidget('label_c', 'FixedText', 20, posY2+10, nDescWidth, nDescHeight, Label = dUI.get('descClassic', "#descClassic#"), MultiLine = True)
        self._addWidget('label_r', 'FixedText', 20, posY3+10, nDescWidth, nDescHeight, Label = dUI.get('descReform', "#descReform#"), MultiLine = True)
        self._addWidget('label_t', 'FixedText', 20, posY4+10, nDescWidth, nDescHeight, Label = dUI.get('descAllvar', "#descAllvar#"), MultiLine = True)

        if self.sCurrentDic:
            self.setRadioButton()
            sMsgLabel = dUI.get('restart', "#restart#")
            bButtonActive = True
        else:
            sMsgLabel = dUI.get('error', "#error#")
            bButtonActive = False

        label_info = self._addWidget('label_info', 'FixedText', 10, posY4+50, 180, 10, Label = sMsgLabel, TextColor = 0xAA2200, MultiLine = True)
        button = self._addWidget('select', 'Button', padding+40, posY5, 100, 14, Label = dUI.get('select', "#select#"), FontDescriptor = xFD3, TextColor = 0x004400, Enabled = bButtonActive)

        # container
        self.xContainer = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.UnoControlDialog', self.ctx)
        self.xContainer.setModel(self.xDialog)
        self.xContainer.getControl('select').addActionListener(self)
        self.xContainer.setVisible(False)
        toolkit = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.ExtToolkit', self.ctx)
        self.xContainer.createPeer(toolkit, None)
        self.xContainer.execute()

    def setRadioButton (self):
        print(self.sCurrentDic)
        if self.sCurrentDic == 'moderne':
            self.xRB_m.State = 1
        elif self.sCurrentDic == 'classique':
            self.xRB_c.State = 1
        elif self.sCurrentDic == 'reforme1990':
            self.xRB_r.State = 1
        elif self.sCurrentDic == 'toutesvariantes':
            self.xRB_t.State = 1
        else:
            pass

    # XActionListener
    def actionPerformed (self, actionEvent):
        try:
            if self.xRB_m.getState():
                self.sSelectedDic = 'moderne'
            elif self.xRB_c.getState():
                self.sSelectedDic = 'classique'
            elif self.xRB_r.getState():
                self.sSelectedDic = 'reforme1990'
            elif self.xRB_t.getState():
                self.sSelectedDic = 'toutesvariantes'
            else:
                # no dictionary selected
                pass
            if self.sSelectedDic and self.sSelectedDic != self.sCurrentDic :
                # Modify the registry
                xSettings = helpers.getConfigSetting("/org.openoffice.Office.Linguistic/ServiceManager/Dictionaries/HunSpellDic_fr", True)
                xLocations = xSettings.getByName("Locations")
                v1 = xLocations[0].replace(self.sCurrentDic, self.sSelectedDic)
                v2 = xLocations[1].replace(self.sCurrentDic, self.sSelectedDic)
                #xSettings.replaceByName("Locations", xLocations)  # doesn't work, see line below
                uno.invoke(xSettings, "replaceByName", ("Locations", uno.Any("[]string", (v1, v2))))
                xSettings.commitChanges()
            self.xContainer.endExecute()
        except:
            traceback.print_exc()

    # XJobExecutor
    def trigger (self, args):
        try:
            dialog = FrenchDictionarySwitcher(self.ctx)
            dialog.run()
        except:
            traceback.print_exc()


#g_ImplementationHelper = unohelper.ImplementationHelper()
#g_ImplementationHelper.addImplementation(FrenchDictionarySwitcher, 'dicollecte.FrenchDictionarySwitcher', ('com.sun.star.task.Job',))
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<




























































































































































































































































































































































Deleted gc_lang/fr/oxt/Dictionnaires/ds_strings.py.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# -*- encoding: UTF-8 -*-

def getUI (sLang):
    if sLang in dStrings:
        return dStrings[sLang]
    return dStrings["fr"]

dStrings = {
    "fr": {
            "title": u"Orthographe française",
            "choose": u"Choisissez un dictionnaire",
            "select": u"Utiliser ce dictionnaire",
            
            "moderne": u"“Moderne”",
            "classique": u"“Classique” (recommandé)",
            "reforme1990": u"“Réforme 1990”",
            "toutesvariantes": u"“Toutes variantes”",

            "descModern": u"Ce dictionnaire propose l’orthographe telle qu’elle est écrite aujourd’hui le plus couramment. C’est le dictionnaire recommandé si le français n’est pas votre langue maternelle ou si vous ne désirez qu’une seule graphie correcte par mot.",
            "descClassic": u"Il s’agit du dictionnaire “Moderne”, avec des graphies classiques en sus, certaines encore communément utilisées, d’autres désuètes. C’est le dictionnaire recommandé si le français est votre langue maternelle.",
            "descReform": u"Avec ce dictionnaire, seule l’orthographe réformée est reconnue. Attendu que bon nombre de graphies réformées sont considérées comme erronées par beaucoup, ce dictionnaire est déconseillé. Les graphies passées dans l’usage sont déjà incluses dans le dictionnaire “Moderne”.",
            "descAllvar": u"Ce dictionnaire contient les variantes graphiques, classiques, réformées, ainsi que d’autres plus rares encore. Ce dictionnaire est déconseillé à ceux qui ne connaissent pas très bien la langue française.",

            "restart": u"Le changement ne sera effectif qu’après le redémarrage du logiciel.",
            "error": u"Erreur : impossible de savoir quel dictionnaire est actif."
          },
    "en": {
            "title": u"French spelling",
            "choose": u"Choose a dictionary",
            "select": u"Use this dictionary",
            
            "moderne": u"“Modern”",
            "classique": u"“Classic” (recommended)",
            "reforme1990": u"“Reform 1990”",
            "toutesvariantes": u"“All variants”",
            
            "descModern": u"This dictionary offers the French spelling as it is written nowadays most often. This is the recommended dictionary if French is not your mother tongue or if you want only one correct spelling per word.",
            "descClassic": u"This is the “Modern” dictionary plus classical spellings, some of them still widely used, others obsolete. This is the recommended dictionary if French is your native language.",
            "descReform": u"With this dictionary, only the reformed spelling is recognized. As many of reformed spellings are considered erroneous for many people, this dictionary is unadvised. Reformed spellings commonly used are already included in the “Modern” dictionary.",
            "descAllvar": u"This dictionary contains all spelling variants, classical and reformed, and some others even rarer. This dictionary is unadvised for those who don’t know very well the French language.",

            "restart": u"The modification will be effective only after restarting the software.",
            "error": u"Error: enable to retrieve information about the current dictionary."
          }
}


<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<






























































































Deleted gc_lang/fr/oxt/Dictionnaires/french_flag.png.

cannot compute difference between binary files

Changes to gc_lang/fr/oxt/addons.xcu.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
..
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
...
214
215
216
217
218
219
220
221

222
223
224
225
226
227
228
229
230
...
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
...
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
<?xml version="1.0" encoding="UTF-8"?>
<oor:component-data
      xmlns:oor="http://openoffice.org/2001/registry"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      oor:package="org.openoffice.Office"
      oor:name="Addons">
  <node oor:name="AddonUI">
  
    <!-- https://wiki.openoffice.org/wiki/Documentation/DevGuide/WritingUNO/AddOns/Images_for_Toolbars_and_Menus -->
    <node oor:name="Images">
      <node oor:name="org.dicollecte.images.grammalecte" oor:op="replace">
          <prop oor:name="URL" oor:type="xs:string">
              <value>org.dicollecte.images:Grammalecte</value>
          </prop>
          <node oor:name="UserDefinedImages">
................................................................................
          <node oor:name="UserDefinedImages">
              <prop oor:name="ImageSmall">
                  <value>424D360400000000000036000000280000001000000010000000010020000000000000000000C30E0000C30E00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00640B01FF750D02FF710D02FF720E03FF720800FF734C47FF747B7CFF747272FF727274FF7C7C76FF444469FF000058FF010159FF000059FF00005BFF00004CFF981203FFB51503FFAD1503FFAD1705FFAD0D00FFAE736CFFB0BABBFFB0AEADFFADADAFFFBBBBB2FF67679FFF000087FF020289FF000087FF00008BFF000073FF9C1203FFBC1704FFB51604FFB21705FFB10E00FFB3766FFFB4BFC0FFB4B2B1FFB1B1B3FFC0C0B7FF6969A3FF000089FF02028BFF00008AFF00008EFF000075FFA31403FFC51904FFC01804FFC01905FFBB0E00FFBC7C75FFBEC9CAFFBEBCBBFFBABABDFFCACAC0FF6F6FACFF000090FF020293FF000091FF000095FF00007CFFAB1504FFCE1A05FFC81905FFCA1B07FFC91000FFC7837BFFC6D2D3FFC5C2C2FFC2C2C5FFD3D3C8FF7373B3FF000098FF02029BFF000099FF00009DFF000082FFB21604FFD61B05FFD11A05FFD21C07FFD21100FFD58C84FFD4E0E2FFD0CDCDFFCBCBCDFFDCDCD1FF7A7ABBFF00009CFF0202A0FF00009EFF0000A2FF000087FFBA1704FFE01C05FFDA1B05FFDB1D07FFDA1100FFDD9289FFDFECEDFFDEDBDAFFD7D7D9FFE6E6DAFF7E7EC3FF0000A3FF0303A7FF0000A5FF0000A9FF00008CFFC11704FFE91D05FFE31C05FFE31E07FFE31200FFE6978FFFE8F5F7FFE8E5E4FFE4E4E7FFF5F5E9FF8585CCFF0000ACFF0303AFFF0000AEFF0000B2FF000093FFC91804FFF21E05FFEC1D05FFED1F08FFEC1300FFEF9E95FFF1FFFFFFF1EEEDFFEDEDF0FFFFFFF5FF8E8EDAFF0000B6FF0303B8FF0000B4FF0000B7FF000098FFCE1B07FFF82108FFF22008FFF3220BFFF31600FFF4A197FFF4FFFFFFF4F1F0FFF0F0F3FFFFFFF7FF8F8FDFFF0000BEFF0303C1FF0000C0FF0000C3FF0000A0FFD82916FFFF321BFFFE311AFFFF331CFFFF270EFFFFAEA5FFFFFFFFFFFFFCFCFFFBFBFEFFFFFFFFFF9A9AEEFF0000D3FF0C0CD5FF0909D4FF0909DAFF0808B4FFB74F44FFDD5F52FFD75D50FFD85E51FFD85749FFD8A8A2FFD8E0E1FFD8D6D6FFD6D6D8FFE2E2DAFF9B9BCFFF3C3CC1FF4646C2FF4444C1FF4545C5FF3A3AA4FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00</value>
              </prop>
          </node>
      </node>
    </node>
  
    <node oor:name="OfficeMenuBar">
        <node oor:name="dicollecte.Tools" oor:op="replace">
            <prop oor:name="Title" oor:type="xs:string">
                <value/>
                <value xml:lang="fr">~Grammalecte</value>
                <value xml:lang="en-US">~Grammalecte</value>
            </prop>
................................................................................
                    <prop oor:name="Context" oor:type="xs:string">
                        <value>com.sun.star.text.TextDocument,com.sun.star.text.GlobalDocument,com.sun.star.text.WebDocument,com.sun.star.presentation.PresentationDocument</value>
                    </prop>
                </node>
            </node>
        </node>
    </node>
    

    <node oor:name="OfficeMenuBarMerging">
      <!--<node oor:name="TextFormatter.from.Dicollecte.by.OlivierR" oor:op="replace">
        <node oor:name="S1" oor:op="replace">
          <prop oor:name="MergePoint">
            <value>.uno:ToolsMenu\.uno:WordCountDialog</value>
          </prop>
          <prop oor:name="MergeCommand">
            <value>AddAfter</value>
          </prop>
................................................................................
              </prop>
              <prop oor:name="Target" oor:type="xs:string">
                <value>_self</value>
              </prop>
            </node>
          </node>
        </node>
      </node>-->
      
      <node oor:name="org.openoffice.Office.addon.FrenchDictionarySwitcher" oor:op="replace">
        <node oor:name="S1" oor:op="replace">
          <prop oor:name="MergePoint">
            <value>.uno:ToolsMenu\.uno:LanguageMenu\.uno:Hyphenate</value>
          </prop>
          <prop oor:name="MergeCommand">
            <value>AddAfter</value>
................................................................................
              </prop>
              <prop oor:name="URL" oor:type="xs:string">
                <value>service:net.grammalecte.AppLauncher?DS</value>
              </prop>
              <prop oor:name="Target" oor:type="xs:string">
                <value>_self</value>
              </prop>
              <!--<prop oor:name="ImageIdentifier" oor:type="xs:string">
                <value>%origin%/img/french_flag</value>
              </prop>-->
            </node>
          </node>
        </node>
      </node>
      
    </node>
    
  </node>
</oor:component-data>







|







 







|







 







|
>
|
|







 







|
|







 







|

|




|
|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
..
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
...
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
...
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
...
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
<?xml version="1.0" encoding="UTF-8"?>
<oor:component-data
      xmlns:oor="http://openoffice.org/2001/registry"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      oor:package="org.openoffice.Office"
      oor:name="Addons">
  <node oor:name="AddonUI">

    <!-- https://wiki.openoffice.org/wiki/Documentation/DevGuide/WritingUNO/AddOns/Images_for_Toolbars_and_Menus -->
    <node oor:name="Images">
      <node oor:name="org.dicollecte.images.grammalecte" oor:op="replace">
          <prop oor:name="URL" oor:type="xs:string">
              <value>org.dicollecte.images:Grammalecte</value>
          </prop>
          <node oor:name="UserDefinedImages">
................................................................................
          <node oor:name="UserDefinedImages">
              <prop oor:name="ImageSmall">
                  <value>424D360400000000000036000000280000001000000010000000010020000000000000000000C30E0000C30E00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00640B01FF750D02FF710D02FF720E03FF720800FF734C47FF747B7CFF747272FF727274FF7C7C76FF444469FF000058FF010159FF000059FF00005BFF00004CFF981203FFB51503FFAD1503FFAD1705FFAD0D00FFAE736CFFB0BABBFFB0AEADFFADADAFFFBBBBB2FF67679FFF000087FF020289FF000087FF00008BFF000073FF9C1203FFBC1704FFB51604FFB21705FFB10E00FFB3766FFFB4BFC0FFB4B2B1FFB1B1B3FFC0C0B7FF6969A3FF000089FF02028BFF00008AFF00008EFF000075FFA31403FFC51904FFC01804FFC01905FFBB0E00FFBC7C75FFBEC9CAFFBEBCBBFFBABABDFFCACAC0FF6F6FACFF000090FF020293FF000091FF000095FF00007CFFAB1504FFCE1A05FFC81905FFCA1B07FFC91000FFC7837BFFC6D2D3FFC5C2C2FFC2C2C5FFD3D3C8FF7373B3FF000098FF02029BFF000099FF00009DFF000082FFB21604FFD61B05FFD11A05FFD21C07FFD21100FFD58C84FFD4E0E2FFD0CDCDFFCBCBCDFFDCDCD1FF7A7ABBFF00009CFF0202A0FF00009EFF0000A2FF000087FFBA1704FFE01C05FFDA1B05FFDB1D07FFDA1100FFDD9289FFDFECEDFFDEDBDAFFD7D7D9FFE6E6DAFF7E7EC3FF0000A3FF0303A7FF0000A5FF0000A9FF00008CFFC11704FFE91D05FFE31C05FFE31E07FFE31200FFE6978FFFE8F5F7FFE8E5E4FFE4E4E7FFF5F5E9FF8585CCFF0000ACFF0303AFFF0000AEFF0000B2FF000093FFC91804FFF21E05FFEC1D05FFED1F08FFEC1300FFEF9E95FFF1FFFFFFF1EEEDFFEDEDF0FFFFFFF5FF8E8EDAFF0000B6FF0303B8FF0000B4FF0000B7FF000098FFCE1B07FFF82108FFF22008FFF3220BFFF31600FFF4A197FFF4FFFFFFF4F1F0FFF0F0F3FFFFFFF7FF8F8FDFFF0000BEFF0303C1FF0000C0FF0000C3FF0000A0FFD82916FFFF321BFFFE311AFFFF331CFFFF270EFFFFAEA5FFFFFFFFFFFFFCFCFFFBFBFEFFFFFFFFFF9A9AEEFF0000D3FF0C0CD5FF0909D4FF0909DAFF0808B4FFB74F44FFDD5F52FFD75D50FFD85E51FFD85749FFD8A8A2FFD8E0E1FFD8D6D6FFD6D6D8FFE2E2DAFF9B9BCFFF3C3CC1FF4646C2FF4444C1FF4545C5FF3A3AA4FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00</value>
              </prop>
          </node>
      </node>
    </node>

    <node oor:name="OfficeMenuBar">
        <node oor:name="dicollecte.Tools" oor:op="replace">
            <prop oor:name="Title" oor:type="xs:string">
                <value/>
                <value xml:lang="fr">~Grammalecte</value>
                <value xml:lang="en-US">~Grammalecte</value>
            </prop>
................................................................................
                    <prop oor:name="Context" oor:type="xs:string">
                        <value>com.sun.star.text.TextDocument,com.sun.star.text.GlobalDocument,com.sun.star.text.WebDocument,com.sun.star.presentation.PresentationDocument</value>
                    </prop>
                </node>
            </node>
        </node>
    </node>


    <!--<node oor:name="OfficeMenuBarMerging">
      <node oor:name="TextFormatter.from.Dicollecte.by.OlivierR" oor:op="replace">
        <node oor:name="S1" oor:op="replace">
          <prop oor:name="MergePoint">
            <value>.uno:ToolsMenu\.uno:WordCountDialog</value>
          </prop>
          <prop oor:name="MergeCommand">
            <value>AddAfter</value>
          </prop>
................................................................................
              </prop>
              <prop oor:name="Target" oor:type="xs:string">
                <value>_self</value>
              </prop>
            </node>
          </node>
        </node>
      </node>

      <node oor:name="org.openoffice.Office.addon.FrenchDictionarySwitcher" oor:op="replace">
        <node oor:name="S1" oor:op="replace">
          <prop oor:name="MergePoint">
            <value>.uno:ToolsMenu\.uno:LanguageMenu\.uno:Hyphenate</value>
          </prop>
          <prop oor:name="MergeCommand">
            <value>AddAfter</value>
................................................................................
              </prop>
              <prop oor:name="URL" oor:type="xs:string">
                <value>service:net.grammalecte.AppLauncher?DS</value>
              </prop>
              <prop oor:name="Target" oor:type="xs:string">
                <value>_self</value>
              </prop>
              <prop oor:name="ImageIdentifier" oor:type="xs:string">
                <value>%origin%/img/french_flag</value>
              </prop>
            </node>
          </node>
        </node>
      </node>

    </node>-->

  </node>
</oor:component-data>