diff --git a/gramps/cli/plug/__init__.py b/gramps/cli/plug/__init__.py index 590512734..cc46e25f2 100644 --- a/gramps/cli/plug/__init__.py +++ b/gramps/cli/plug/__init__.py @@ -446,7 +446,7 @@ class CommandLineReport: else: print(_("Unknown option: %s") % option, file=sys.stderr) print(_(" Valid options are:") + - ", ".join(list(self.options_dict.keys())), + _(", ").join(list(self.options_dict.keys())), # Arabic OK file=sys.stderr) print(_(" Use '%(donottranslate)s' to see description " "and acceptable values" @@ -527,7 +527,7 @@ class CommandLineReport: else: print(_("Ignoring unknown option: %s") % opt, file=sys.stderr) print(_(" Valid options are:"), - ", ".join(list(self.options_dict.keys())), + _(", ").join(list(self.options_dict.keys())), # Arabic OK file=sys.stderr) print(_(" Use '%(donottranslate)s' to see description " "and acceptable values" diff --git a/gramps/gen/datehandler/_datedisplay.py b/gramps/gen/datehandler/_datedisplay.py index 787b88c2b..abdf3eeb7 100644 --- a/gramps/gen/datehandler/_datedisplay.py +++ b/gramps/gen/datehandler/_datedisplay.py @@ -342,6 +342,7 @@ class DateDisplay: for item in [scal, snewyear]: if item: if retval: + # TODO for Arabic, should the next comma be translated? retval += ", " retval += item if retval: diff --git a/gramps/gen/display/place.py b/gramps/gen/display/place.py index dd5cff250..0df0d0e59 100644 --- a/gramps/gen/display/place.py +++ b/gramps/gen/display/place.py @@ -80,6 +80,7 @@ class PlaceDisplay: if config.get('preferences.place-reverse'): names.reverse() + # TODO for Arabic, should the next line's comma be translated? return ", ".join(names) def _find_populated_place(places): diff --git a/gramps/gen/filters/rules/repository/_hasrepo.py b/gramps/gen/filters/rules/repository/_hasrepo.py index 81cc5116f..6f535967b 100644 --- a/gramps/gen/filters/rules/repository/_hasrepo.py +++ b/gramps/gen/filters/rules/repository/_hasrepo.py @@ -74,6 +74,7 @@ class HasRepo(Rule): if self.list[2]: addr_match = False for addr in repo.address_list: + # TODO for Arabic, should the next line's comma be translated? addr_text = ', '.join(addr.get_text_data_list()) if self.match_substring(2, addr_text): addr_match = True @@ -84,6 +85,7 @@ class HasRepo(Rule): if self.list[3]: url_match = False for url in repo.urls: + # TODO for Arabic, should the next line's comma be translated? url_text = ', '.join(url.get_text_data_list()) if self.match_substring(3, url_text): url_match = True diff --git a/gramps/gui/merge/mergeperson.py b/gramps/gui/merge/mergeperson.py index f54e51527..64bbb6efb 100644 --- a/gramps/gui/merge/mergeperson.py +++ b/gramps/gui/merge/mergeperson.py @@ -267,6 +267,7 @@ class MergePerson(ManagedWindow): if len(alist) > 0: self.add(tobj, title, _("Addresses")) for addr in alist: + # TODO for Arabic, should the next line's comma be translated? location = ", ".join([addr.get_street(), addr.get_city(), addr.get_state(), addr.get_country(), addr.get_postal_code(), addr.get_phone()]) diff --git a/gramps/gui/plug/_dialogs.py b/gramps/gui/plug/_dialogs.py index 5a32ca7ab..1c8340ad9 100644 --- a/gramps/gui/plug/_dialogs.py +++ b/gramps/gui/plug/_dialogs.py @@ -176,6 +176,7 @@ class PluginDialog(ManagedWindow): self.title.set_text('%s' \ % pdata.name) self.title.set_use_markup(1) + # TODO for Arabic, should the next two lines' commas be translated? self.author_name.set_text(', '.join(pdata.authors)) self.author_email.set_text(', '.join(pdata.authors_email)) self.item = pdata diff --git a/gramps/gui/plug/_windows.py b/gramps/gui/plug/_windows.py index 627e655f2..8219b2b9d 100644 --- a/gramps/gui/plug/_windows.py +++ b/gramps/gui/plug/_windows.py @@ -1209,6 +1209,7 @@ class UpdateAddons(ManagedWindow): if errors: OkDialog(_("Installation Errors"), _("The following addons had errors: ") + + # TODO for Arabic, should the next comma be translated? ", ".join(errors), parent=self.parent_window) if count: diff --git a/gramps/gui/views/treemodels/citationbasemodel.py b/gramps/gui/views/treemodels/citationbasemodel.py index d5df60179..76991d028 100644 --- a/gramps/gui/views/treemodels/citationbasemodel.py +++ b/gramps/gui/views/treemodels/citationbasemodel.py @@ -129,6 +129,7 @@ class CitationBaseModel: Return the sorted list of tags. """ tag_list = list(map(self.get_tag_name, data[COLUMN_TAGS])) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(sorted(tag_list, key=glocale.sort_key)) def citation_tag_color(self, data): @@ -241,6 +242,7 @@ class CitationBaseModel: try: source = self.db.get_source_from_handle(source_handle) tag_list = list(map(self.get_tag_name, source.get_tag_list())) + # TODO for Arabic, should the next line's comma be translated? value = ', '.join(sorted(tag_list, key=glocale.sort_key)) except: value = '' @@ -288,6 +290,7 @@ class CitationBaseModel: Return the sorted list of tags. """ tag_list = list(map(self.get_tag_name, data[COLUMN2_TAGS])) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(sorted(tag_list, key=glocale.sort_key)) def source_src_tag_color(self, data): diff --git a/gramps/gui/views/treemodels/eventmodel.py b/gramps/gui/views/treemodels/eventmodel.py index b1b9c9dda..0c43a5e7d 100644 --- a/gramps/gui/views/treemodels/eventmodel.py +++ b/gramps/gui/views/treemodels/eventmodel.py @@ -224,4 +224,5 @@ class EventModel(FlatBaseModel): Return the sorted list of tags. """ tag_list = list(map(self.get_tag_name, data[COLUMN_TAGS])) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(sorted(tag_list, key=glocale.sort_key)) diff --git a/gramps/gui/views/treemodels/familymodel.py b/gramps/gui/views/treemodels/familymodel.py index 28f89ab68..64d23fb7c 100644 --- a/gramps/gui/views/treemodels/familymodel.py +++ b/gramps/gui/views/treemodels/familymodel.py @@ -236,4 +236,5 @@ class FamilyModel(FlatBaseModel): Return the sorted list of tags. """ tag_list = list(map(self.get_tag_name, data[13])) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(sorted(tag_list, key=glocale.sort_key)) diff --git a/gramps/gui/views/treemodels/mediamodel.py b/gramps/gui/views/treemodels/mediamodel.py index 1f91f9aca..9e8c9acd3 100644 --- a/gramps/gui/views/treemodels/mediamodel.py +++ b/gramps/gui/views/treemodels/mediamodel.py @@ -187,4 +187,5 @@ class MediaModel(FlatBaseModel): Return the sorted list of tags. """ tag_list = list(map(self.get_tag_name, data[11])) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(sorted(tag_list, key=glocale.sort_key)) diff --git a/gramps/gui/views/treemodels/notemodel.py b/gramps/gui/views/treemodels/notemodel.py index 7682a5d1b..444c82680 100644 --- a/gramps/gui/views/treemodels/notemodel.py +++ b/gramps/gui/views/treemodels/notemodel.py @@ -166,4 +166,5 @@ class NoteModel(FlatBaseModel): Return the sorted list of tags. """ tag_list = list(map(self.get_tag_name, data[Note.POS_TAGS])) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(sorted(tag_list, key=glocale.sort_key)) diff --git a/gramps/gui/views/treemodels/peoplemodel.py b/gramps/gui/views/treemodels/peoplemodel.py index 4a311ecb9..e5b483c1a 100644 --- a/gramps/gui/views/treemodels/peoplemodel.py +++ b/gramps/gui/views/treemodels/peoplemodel.py @@ -559,6 +559,7 @@ class PeopleBaseModel(BaseModel): cached, value = self.get_cached_value(handle, "TAGS") if not cached: tag_list = list(map(self.get_tag_name, data[COLUMN_TAGS])) + # TODO for Arabic, should the next line's comma be translated? value = ', '.join(sorted(tag_list, key=glocale.sort_key)) self.set_cached_value(handle, "TAGS", value) return value diff --git a/gramps/gui/views/treemodels/placemodel.py b/gramps/gui/views/treemodels/placemodel.py index 6588a179c..4d33af7ff 100644 --- a/gramps/gui/views/treemodels/placemodel.py +++ b/gramps/gui/views/treemodels/placemodel.py @@ -219,6 +219,7 @@ class PlaceBaseModel: Return the sorted list of tags. """ tag_list = list(map(self.get_tag_name, data[16])) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(sorted(tag_list, key=glocale.sort_key)) #------------------------------------------------------------------------- diff --git a/gramps/gui/views/treemodels/repomodel.py b/gramps/gui/views/treemodels/repomodel.py index cb552c280..02790f7d1 100644 --- a/gramps/gui/views/treemodels/repomodel.py +++ b/gramps/gui/views/treemodels/repomodel.py @@ -269,4 +269,5 @@ class RepositoryModel(FlatBaseModel): Return the sorted list of tags. """ tag_list = list(map(self.get_tag_name, data[8])) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(sorted(tag_list, key=glocale.sort_key)) diff --git a/gramps/gui/views/treemodels/sourcemodel.py b/gramps/gui/views/treemodels/sourcemodel.py index 1b7b396b0..62ef58e9a 100644 --- a/gramps/gui/views/treemodels/sourcemodel.py +++ b/gramps/gui/views/treemodels/sourcemodel.py @@ -161,4 +161,5 @@ class SourceModel(FlatBaseModel): Return the sorted list of tags. """ tag_list = list(map(self.get_tag_name, data[11])) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(sorted(tag_list, key=glocale.sort_key)) diff --git a/gramps/plugins/db/bsddb/upgrade.py b/gramps/plugins/db/bsddb/upgrade.py index bd1593d79..2f7387005 100644 --- a/gramps/plugins/db/bsddb/upgrade.py +++ b/gramps/plugins/db/bsddb/upgrade.py @@ -201,6 +201,7 @@ def gramps_upgrade_17(self): n -= 1 while n > level: if loc[n]: + # TODO for Arabic, should the next line's comma be translated? title = ', '.join([item for item in loc[n:] if item]) parent_handle = add_place(self, loc[n], n, parent_handle, title) locations[tuple([''] * n + loc[n:])] = parent_handle diff --git a/gramps/plugins/docgen/cairodoc.py b/gramps/plugins/docgen/cairodoc.py index e5eb4a2b9..dcd6e4772 100644 --- a/gramps/plugins/docgen/cairodoc.py +++ b/gramps/plugins/docgen/cairodoc.py @@ -281,6 +281,7 @@ def write_index(index, doc): doc.start_cell('IDX-Cell') doc.start_paragraph('IDX-Entry') pages = [str(page_nr) for page_nr in index[key]] + # TODO for Arabic, should the next line's comma be translated? doc.write_text(', '.join(pages)) doc.end_paragraph() doc.end_cell() diff --git a/gramps/plugins/drawreport/fanchart.py b/gramps/plugins/drawreport/fanchart.py index 3e122890b..b94ea9329 100644 --- a/gramps/plugins/drawreport/fanchart.py +++ b/gramps/plugins/drawreport/fanchart.py @@ -359,7 +359,7 @@ class FanChart(Report): else: name = p_pn.get_first_name() + p_pn.get_surname() if (name != "") and (val != ""): - string = name + ", " + val + string = name + self._(", ") + val # Arabic OK else: string = name + val return [string] @@ -375,7 +375,7 @@ class FanChart(Report): return [name, val] else: if (name != "") and (val != ""): - string = name + ", " + val + string = name + self._(", ") + val # Arabic OK else: string = name + val return [string] diff --git a/gramps/plugins/gramplet/persondetails.py b/gramps/plugins/gramplet/persondetails.py index 4f33f848a..cb5eb726c 100644 --- a/gramps/plugins/gramplet/persondetails.py +++ b/gramps/plugins/gramplet/persondetails.py @@ -228,6 +228,7 @@ class PersonDetails(Gramplet): if attr.get_type() == attr_key: values.append(attr.get_value()) if values: + # translators: needed for Arabic, ignore otherwise self.add_row(attr_key, _(', ').join(values)) def display_type(self, active_person, event_type): diff --git a/gramps/plugins/gramplet/whatsnext.py b/gramps/plugins/gramplet/whatsnext.py index 30ea13be8..d44ca255b 100644 --- a/gramps/plugins/gramplet/whatsnext.py +++ b/gramps/plugins/gramplet/whatsnext.py @@ -367,7 +367,7 @@ class WhatNextGramplet(Gramplet): if missingbits: self.link(name, 'Person', person.get_handle()) self.append_text(_(": %(list)s\n") % { - 'list': _(", ").join(missingbits)}) + 'list': _(", ").join(missingbits)}) # Arabic OK self.__counter += 1 append_list.append(person) @@ -389,7 +389,7 @@ class WhatNextGramplet(Gramplet): if missingbits: self.link(name, 'Person', person.get_handle()) self.append_text(_(": %(list)s\n") % { - 'list': _(", ").join(missingbits)}) + 'list': _(", ").join(missingbits)}) # Arabic OK self.__counter += 1 @@ -437,7 +437,7 @@ class WhatNextGramplet(Gramplet): if missingbits: self.link(name, 'Family', family.get_handle()) self.append_text(_(": %(list)s\n") % { - 'list': _(", ").join(missingbits)}) + 'list': _(", ").join(missingbits)}) # Arabic OK self.__counter += 1 append_list.append((family, person1, person2)) @@ -470,7 +470,7 @@ class WhatNextGramplet(Gramplet): if missingbits: self.link(name, 'Family', family.get_handle()) self.append_text(_(": %(list)s\n") % { - 'list': _(", ").join(missingbits)}) + 'list': _(", ").join(missingbits)}) # Arabic OK self.__counter += 1 @@ -492,7 +492,7 @@ class WhatNextGramplet(Gramplet): # translators: needed for French, ignore otherwise return [_("%(str1)s: %(str2)s" ) % {'str1' : event.get_type(), - 'str2' : _(", ").join(missingbits)}] + 'str2' : _(", ").join(missingbits)}] # Arabic OK else: return [] diff --git a/gramps/plugins/graph/gvrelgraph.py b/gramps/plugins/graph/gvrelgraph.py index 2f2d64b0d..8b030380d 100644 --- a/gramps/plugins/graph/gvrelgraph.py +++ b/gramps/plugins/graph/gvrelgraph.py @@ -657,7 +657,7 @@ class RelGraphReport(Report): label += '%s' % desc if place: if date or desc: - label += ', ' + label += self._(', ') # Arabic OK label += '%s' % place label += ')' diff --git a/gramps/plugins/importer/importgeneweb.py b/gramps/plugins/importer/importgeneweb.py index 3afba25dd..45d44b30b 100644 --- a/gramps/plugins/importer/importgeneweb.py +++ b/gramps/plugins/importer/importgeneweb.py @@ -676,6 +676,7 @@ class GeneWebParser: except IndexError: # not all parts are written all the time pass if tnth: # Append title numer to title + # TODO for Arabic, should the next comma be translated? ttitle += ", " + tnth title = self.create_event( EventType.NOB_TITLE, ttitle, tstart, tplace) diff --git a/gramps/plugins/importer/importprogen.py b/gramps/plugins/importer/importprogen.py index e568b7e27..884700d48 100644 --- a/gramps/plugins/importer/importprogen.py +++ b/gramps/plugins/importer/importprogen.py @@ -293,6 +293,7 @@ class PG30DefTableField(object): self.size = int(self.fields[3]) def __repr__(self): + # TODO for Arabic, should the next line's comma be translated? return self.fieldname + ' -> ' + ', '.join(self.fields) diff --git a/gramps/plugins/lib/libgedcom.py b/gramps/plugins/lib/libgedcom.py index fa84585e4..dc449bf8e 100644 --- a/gramps/plugins/lib/libgedcom.py +++ b/gramps/plugins/lib/libgedcom.py @@ -3306,6 +3306,7 @@ class GedcomParser(UpdateCallback): for elmn in str_list: if elmn: if title != '': + # TODO for Arabic, should the next comma be translated? title += ', ' title += elmn return title diff --git a/gramps/plugins/lib/libplaceimport.py b/gramps/plugins/lib/libplaceimport.py index da7c4eb26..82689ca3b 100644 --- a/gramps/plugins/lib/libplaceimport.py +++ b/gramps/plugins/lib/libplaceimport.py @@ -88,6 +88,7 @@ class PlaceImport: n -= 1 while n > type_num: if loc[n]: + # TODO for Arabic, should the next comma be translated? title = ', '.join([item for item in loc[n:] if item]) parent = self.__add_place(loc[n], n, parent, title, trans) self.loc2handle[tuple([''] * n + loc[n:])] = parent diff --git a/gramps/plugins/lib/maps/geography.py b/gramps/plugins/lib/maps/geography.py index 951fd507f..1b5d3e3f3 100644 --- a/gramps/plugins/lib/maps/geography.py +++ b/gramps/plugins/lib/maps/geography.py @@ -1063,6 +1063,7 @@ class GeoGraphyView(OsmGps, NavigationView): if gids == "": gids = plce.gramps_id else: + # TODO for Arabic, should the next comma be translated? gids = gids + ", " + plce.gramps_id if nb_places > 1: from gramps.gui.dialog import WarningDialog diff --git a/gramps/plugins/mapservices/eniroswedenmap.py b/gramps/plugins/mapservices/eniroswedenmap.py index f1c98c425..e0aac0b1c 100644 --- a/gramps/plugins/mapservices/eniroswedenmap.py +++ b/gramps/plugins/mapservices/eniroswedenmap.py @@ -77,10 +77,13 @@ def _build_title(db, place): if descr: title_descr += descr.strip() if parish: + # TODO for Arabic, should the next line's comma be translated? title_descr += ', ' + parish.strip() + _(" parish") if city: + # TODO for Arabic, should the next line's comma be translated? title_descr += ', ' + city.strip() if state: + # TODO for Arabic, should the next line's comma be translated? title_descr += ', ' + state.strip() + _(" state") return _strip_leading_comma(title_descr) @@ -91,6 +94,7 @@ def _build_city(db, place): # Build a title description string that will work for Eniro city_descr = _build_area(db, place) if county: + # TODO for Arabic, should the next line's comma be translated? city_descr += ', ' + county return _strip_leading_comma(city_descr) @@ -104,6 +108,7 @@ def _build_area(db, place): if street: area_descr += street.strip() if city: + # TODO for Arabic, should the next line's comma be translated? area_descr += ', ' + city return _strip_leading_comma(area_descr) diff --git a/gramps/plugins/quickview/all_relations.py b/gramps/plugins/quickview/all_relations.py index 44a19892b..fe5038a0c 100644 --- a/gramps/plugins/quickview/all_relations.py +++ b/gramps/plugins/quickview/all_relations.py @@ -315,6 +315,7 @@ class AllRelReport: if isinstance(fam, list): famstr = str(fam[0]+1) for val in fam[1:] : + # TODO for Arabic, should the next comma be translated? famstr += ', ' + str(val+1) else: famstr = str(fam+1) diff --git a/gramps/plugins/quickview/lineage.py b/gramps/plugins/quickview/lineage.py index 0a2b30f59..728f06a3d 100644 --- a/gramps/plugins/quickview/lineage.py +++ b/gramps/plugins/quickview/lineage.py @@ -225,6 +225,7 @@ def add_rem(remark, text): """ Allow for extension of remark, return new remark string """ if remark: + # TODO for Arabic, should the next line's comma be translated? return remark + ', ' + text else: return text diff --git a/gramps/plugins/textreport/descendreport.py b/gramps/plugins/textreport/descendreport.py index 315a7116a..811e542a6 100644 --- a/gramps/plugins/textreport/descendreport.py +++ b/gramps/plugins/textreport/descendreport.py @@ -266,7 +266,7 @@ class Printinfo: tmp = self.__date_place( get_death_or_fallback(self.database, person)) if string and tmp: - string += ", " + string += self._(", ") # Arabic OK string += tmp if string: @@ -276,13 +276,13 @@ class Printinfo: tmp = self.__date_place( get_marriage_or_fallback(self.database, family)) if tmp: - string += ", " + tmp + string += self._(", ") + tmp # Arabic OK if family and self.showdivorce: tmp = self.__date_place( get_divorce_or_fallback(self.database, family)) if tmp: - string += ", " + tmp + string += self._(", ") + tmp # Arabic OK if family and self.want_ids: string += ' (%s)' % family.get_gramps_id() diff --git a/gramps/plugins/tool/notrelated.py b/gramps/plugins/tool/notrelated.py index 7cda82e1b..2336ce0f3 100644 --- a/gramps/plugins/tool/notrelated.py +++ b/gramps/plugins/tool/notrelated.py @@ -484,6 +484,7 @@ class NotRelated(tool.ActivePersonTool, ManagedWindow) : tag = self.db.get_tag_from_handle(handle) tags.append(tag.get_name()) tags.sort(key=glocale.sort_key) + # TODO for Arabic, should the next line's comma be translated? return ', '.join(tags) #------------------------------------------------------------------------ diff --git a/gramps/plugins/tool/relcalc.py b/gramps/plugins/tool/relcalc.py index 679c89c04..8511bd41c 100644 --- a/gramps/plugins/tool/relcalc.py +++ b/gramps/plugins/tool/relcalc.py @@ -232,6 +232,7 @@ class RelCalc(tool.Tool, ManagedWindow): for person_handle in common: person = self.db.get_person_from_handle(person_handle) if index: + # TODO for Arabic, should the next comma be translated? commontext += ", " commontext += name_displayer.display(person) index += 1 diff --git a/gramps/plugins/webreport/common.py b/gramps/plugins/webreport/common.py index 26bd9e1d8..81e54282f 100644 --- a/gramps/plugins/webreport/common.py +++ b/gramps/plugins/webreport/common.py @@ -355,6 +355,7 @@ def _get_short_name(gender, name): short_name = name.get_first_name() suffix = name.get_suffix() if suffix: + # TODO for Arabic, should the next line's comma be translated? short_name = short_name + ", " + suffix return short_name diff --git a/gramps/plugins/webreport/narrativeweb.py b/gramps/plugins/webreport/narrativeweb.py index d384aa9bc..2fd6dc9b7 100644 --- a/gramps/plugins/webreport/narrativeweb.py +++ b/gramps/plugins/webreport/narrativeweb.py @@ -765,6 +765,7 @@ class NavWebReport(Report): family = self._db.get_family_from_handle(ref_handle) ref_name = self.get_family_name(family) if ref_name != "": + # TODO for Arabic, should the next line's comma be translated? event_name += ", " + ref_name # end descriptions to media pages if self.inc_events: diff --git a/gramps/plugins/webreport/person.py b/gramps/plugins/webreport/person.py index 0698fe929..722114562 100644 --- a/gramps/plugins/webreport/person.py +++ b/gramps/plugins/webreport/person.py @@ -331,6 +331,7 @@ class PersonPages(BasePage): tcell[-1].inside += "," else: tcell = tcell[:-1] + ( + # TODO for Arabic, translate? (tcell[-1] + ", "),) # Have to manipulate as tuples so that # subsequent people are not nested @@ -1322,7 +1323,7 @@ class PersonPages(BasePage): # if we have just a firstname, then the name is preceeded # by ", " which doesn't exactly look very nice printed on # the web page - if pname[:2] == ', ': + if pname[:2] == ', ': # TODO for Arabic, translate this? pname = pname[2:] if name != primary_name: datetext = self.rlocale.get_date(name.date) diff --git a/gramps/plugins/webreport/webcal.py b/gramps/plugins/webreport/webcal.py index 5b8598b5f..a853ca508 100644 --- a/gramps/plugins/webreport/webcal.py +++ b/gramps/plugins/webreport/webcal.py @@ -1901,6 +1901,7 @@ def _regular_surname(sex, name): surname = name.get_surname() suffix = name.get_suffix() if suffix: + # TODO for Arabic, should the next line's comma be translated? surname = surname + ", " + suffix return surname