def ensure_dummy_mt(self): """Ensures we have dummy mt installed""" if 'dummy' in MACHINE_TRANSLATION_SERVICES: return name = 'weblate.trans.machine.dummy.DummyTranslation' service = load_class(name, 'TEST')() MACHINE_TRANSLATION_SERVICES[service.mtid] = service
# -*- coding: utf-8 -*- # # Copyright © 2012 - 2013 Michal Čihař <*****@*****.**> # # This file is part of Weblate <http://weblate.org/> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # from weblate import appsettings from weblate.trans.util import load_class # Initialize checks list MACHINE_TRANSLATION_SERVICES = {} for path in appsettings.MACHINE_TRANSLATION_SERVICES: obj = load_class(path)() MACHINE_TRANSLATION_SERVICES[obj.mtid] = obj
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # ''' Import all the autofixes defined in settings. Note, unlike checks, using a sortable data object so fixes are applied in desired order. ''' from weblate import appsettings from weblate.trans.util import load_class autofixes = [] for path in appsettings.AUTOFIX_LIST: autofixes.append(load_class(path, 'AUTOFIX_LIST')()) def fix_target(target, unit): ''' Apply each autofix to the target translation. ''' fixups = [] for fix in autofixes: target, fixed = fix.fix_target(target, unit) if fixed: fixups.append(fix.name) return target, fixups
# -*- coding: utf-8 -*- # # Copyright © 2012 - 2015 Michal Čihař <*****@*****.**> # # This file is part of Weblate <http://weblate.org/> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # from weblate import appsettings from weblate.trans.util import load_class # Initialize checks list MACHINE_TRANSLATION_SERVICES = {} for path in appsettings.MACHINE_TRANSLATION_SERVICES: obj = load_class(path, 'MACHINE_TRANSLATION_SERVICES')() MACHINE_TRANSLATION_SERVICES[obj.mtid] = obj
# -*- coding: utf-8 -*- # # Copyright © 2012 - 2015 Michal Čihař <*****@*****.**> # # This file is part of Weblate <http://weblate.org/> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # from weblate import appsettings from weblate.trans.util import load_class # Initialize checks list CHECKS = {} for path in appsettings.CHECK_LIST: cls = load_class(path, 'CHECK_LIST') CHECKS[cls.check_id] = cls()
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # ''' Import all the autofixes defined in settings. Note, unlike checks, using a sortable data object so fixes are applied in desired order. ''' from weblate import appsettings from weblate.trans.util import load_class autofixes = [] for path in appsettings.AUTOFIX_LIST: autofixes.append(load_class(path)()) def fix_target(target, unit): ''' Apply each autofix to the target translation. ''' fixups = [] for fix in autofixes: target, fixed = fix.fix_target(target, unit) if fixed: fixups.append(fix.name) return target, fixups
# -*- coding: utf-8 -*- # # Copyright © 2012 - 2015 Michal Čihař <*****@*****.**> # # This file is part of Weblate <http://weblate.org/> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # from weblate import appsettings from weblate.trans.util import load_class # Initialize checks list MACHINE_TRANSLATION_SERVICES = {} for path in appsettings.MACHINE_TRANSLATION_SERVICES: obj = load_class(path)() MACHINE_TRANSLATION_SERVICES[obj.mtid] = obj
def test_correct(self): cls = load_class('unittest.TestCase', 'TEST') self.assertEqual(cls, TestCase)
# -*- coding: utf-8 -*- # # Copyright © 2012 - 2016 Michal Čihař <*****@*****.**> # # This file is part of Weblate <https://weblate.org/> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # from weblate import appsettings from weblate.trans.util import load_class # Initialize checks list MACHINE_TRANSLATION_SERVICES = {} for path in appsettings.MACHINE_TRANSLATION_SERVICES: obj = load_class(path, 'MACHINE_TRANSLATION_SERVICES')() MACHINE_TRANSLATION_SERVICES[obj.mtid] = obj
# -*- coding: utf-8 -*- # # Copyright © 2012 - 2014 Michal Čihař <*****@*****.**> # # This file is part of Weblate <http://weblate.org/> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # from weblate import appsettings from weblate.trans.util import load_class # Initialize checks list CHECKS = {} for path in appsettings.CHECK_LIST: cls = load_class(path) CHECKS[cls.check_id] = cls()
# -*- coding: utf-8 -*- # # Copyright © 2012 - 2015 Michal Čihař <*****@*****.**> # # This file is part of Weblate <http://weblate.org/> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # from weblate import appsettings from weblate.trans.util import load_class # Initialize checks list MACHINE_TRANSLATION_SERVICES = {} for path in appsettings.MACHINE_TRANSLATION_SERVICES: obj = load_class(path, "MACHINE_TRANSLATION_SERVICES")() MACHINE_TRANSLATION_SERVICES[obj.mtid] = obj
for check in CHECKS: if not CHECKS[check].target: continue highlights += CHECKS[check].check_highlight(source, unit) # Sort by order in string highlights.sort(key=lambda x: x[0]) # Remove overlapping ones for hl_idx in range(0, len(highlights)): if hl_idx >= len(highlights): break elref = highlights[hl_idx] for hl_idx_next in range(hl_idx + 1, len(highlights)): if hl_idx_next >= len(highlights): break eltest = highlights[hl_idx_next] if eltest[0] >= elref[0] and eltest[0] < elref[1]: highlights.pop(hl_idx_next) elif eltest[0] > elref[1]: break return highlights # Initialize checks list CHECKS = {} for path in appsettings.CHECK_LIST: cls = load_class(path, 'CHECK_LIST') CHECKS[cls.check_id] = cls()