diff --git a/extensions/cpsection/language/model.py b/extensions/cpsection/language/model.py
index e714dad..fe80410 100644
a
|
b
|
def _write_i18n(langs): |
74 | 74 | fd.close() |
75 | 75 | else: |
76 | 76 | fd = open(path, 'w') |
77 | | fd.write('LANG="%s"\n' % langs[0]) |
| 77 | fd.write('LANG="%s"\n' % langs[0].strip("\n")) |
78 | 78 | fd.write('LANGUAGE="%s"\n' % langstr) |
79 | 79 | fd.close() |
80 | 80 | |
diff --git a/extensions/cpsection/language/view.py b/extensions/cpsection/language/view.py
index 5b7e292..b546e98 100644
a
|
b
|
class Language(SectionView): |
118 | 118 | previous_add_removes = self._add_remove_boxes[-2] |
119 | 119 | previous_add_removes.hide_all() |
120 | 120 | |
| 121 | self._determine_add_remove_visibility() |
| 122 | |
121 | 123 | combobox.show() |
122 | 124 | |
123 | 125 | def _attach_to_table(self, widget, row, column, padding=20, \ |
… |
… |
class Language(SectionView): |
173 | 175 | remove_button.connect('clicked', |
174 | 176 | self.__remove_button_clicked_cb) |
175 | 177 | |
176 | | if self._selected_lang_count == 1: |
177 | | remove_button.set_sensitive(False) |
178 | | |
179 | 178 | add_remove_box = gtk.HButtonBox() |
180 | 179 | add_remove_box.set_layout(gtk.BUTTONBOX_START) |
181 | 180 | add_remove_box.set_spacing(10) |
… |
… |
class Language(SectionView): |
197 | 196 | |
198 | 197 | def _check_change(self): |
199 | 198 | selected_langs = self._get_selected_langs() |
| 199 | last_lang = selected_langs[-1] |
| 200 | |
| 201 | self._determine_add_remove_visibility(last_lang = last_lang) |
| 202 | |
200 | 203 | self._changed = (selected_langs != self._selected_locales) |
201 | 204 | |
202 | 205 | if self._changed == False: |
… |
… |
class Language(SectionView): |
226 | 229 | |
227 | 230 | return new_codes |
228 | 231 | |
| 232 | def _determine_add_remove_visibility(self, last_lang = None): |
| 233 | # We should not let users add fallback languages for English (Foo) |
| 234 | # This is because the software is not usually _translated_ into English |
| 235 | # which means that the fallback gets selected autmatically |
| 236 | |
| 237 | if last_lang is None: |
| 238 | selected_langs = self._get_selected_langs() |
| 239 | last_lang = selected_langs[-1] |
| 240 | |
| 241 | add_remove_box = self._add_remove_boxes[-1] |
| 242 | buttons = add_remove_box.get_children() |
| 243 | add_button, remove_button = buttons |
| 244 | |
| 245 | if last_lang.startswith('en_US'): |
| 246 | add_button.props.visible = False |
| 247 | else: |
| 248 | add_button.props.visible = True |
| 249 | |
| 250 | if self._selected_lang_count == 1: |
| 251 | remove_button.props.visible = False |
| 252 | else: |
| 253 | remove_button.props.visible = True |
| 254 | |
| 255 | |
229 | 256 | def __lang_timeout_cb(self, codes): |
230 | 257 | self._lang_sid = 0 |
231 | 258 | self._model.set_languages(codes) |