本文整理汇总了Python中pywikibot.i18n.translate函数的典型用法代码示例。如果您正苦于以下问题:Python translate函数的具体用法?Python translate怎么用?Python translate使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了translate函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, generator, **kwargs):
self.availableOptions.update({
'enablePage': None, # Check if someone set an enablePage or not
'disambigPage': None, # If no disambigPage given, not use it.
})
super(LonelyPagesBot, self).__init__(**kwargs)
self.generator = generator
# Take the configurations according to our project
self.site = pywikibot.Site()
if self.getOption('enablePage'):
self.options['enablePage'] = pywikibot.Page(
self.site, self.getOption('enablePage'))
self.comment = i18n.twtranslate(
self.site, 'lonelypages-comment-add-template')
self.commentdisambig = i18n.twtranslate(
self.site, 'lonelypages-comment-add-disambig-template')
self.template = i18n.translate(self.site, template)
self.exception = i18n.translate(self.site, exception_regex)
if self.template is None or self.exception is None:
pywikibot.showHelp()
sys.exit(u'Missing configuration for site %s' % self.site)
# DisambigPage part
if self.getOption('disambigPage') is not None:
self.disambigpage = pywikibot.Page(self.site, self.getOption('disambigPage'))
try:
self.disambigtext = self.disambigpage.get()
except pywikibot.NoPage:
pywikibot.output(u"%s doesn't esist, skip!" % self.disambigpage.title())
self.disambigtext = ''
except pywikibot.IsRedirectPage:
pywikibot.output(u"%s is a redirect, don't use it!"
% self.disambigpage.title())
self.options['disambigPage'] = None
示例2: __init__
def __init__(self, generator, old_image, new_image=None, **kwargs):
"""
Constructor.
@param generator: the pages to work on
@type generator: iterable
@param old_image: the title of the old image (without namespace)
@type old_image: unicode
@param new_image: the title of the new image (without namespace), or
None if you want to remove the image
@type new_image: unicode or None
"""
self.availableOptions.update({
'summary': None,
'loose': False,
})
super(ImageRobot, self).__init__(**kwargs)
self.generator = generator
self.site = pywikibot.Site()
self.old_image = old_image
self.new_image = new_image
if not self.getOption('summary'):
if self.new_image:
self.options['summary'] = i18n.translate(self.site, self.msg_replace,
fallback=True) \
% (self.old_image, self.new_image)
else:
self.options['summary'] = i18n.translate(self.site, self.msg_remove,
fallback=True) \
% self.old_image
示例3: __init__
def __init__(self, generator, oldImage, newImage=None, summary='',
always=False, loose=False):
"""
Arguments:
* generator - A page generator.
* oldImage - The title of the old image (without namespace)
* newImage - The title of the new image (without namespace), or
None if you want to remove the image.
"""
self.generator = generator
self.oldImage = oldImage
self.newImage = newImage
self.editSummary = summary
self.summary = summary
self.always = always
self.loose = loose
# get edit summary message
mysite = pywikibot.Site()
if summary:
self.editSummary = summary
elif self.newImage:
self.editSummary = i18n.translate(mysite, self.msg_replace,
fallback=True) \
% (self.oldImage, self.newImage)
else:
self.editSummary = i18n.translate(mysite, self.msg_remove,
fallback=True) \
% self.oldImage
示例4: testSemiLocalized
def testSemiLocalized(self):
self.assertEqual(i18n.translate('en', self.msg_semi_localized),
u'test-semi-localized EN')
self.assertEqual(i18n.translate('nl', self.msg_semi_localized),
u'test-semi-localized NL')
self.assertEqual(i18n.translate('fy', self.msg_semi_localized),
u'test-semi-localized NL')
示例5: testLocalized
def testLocalized(self):
self.assertEqual(i18n.translate('en', self.msg_localized),
u'test-localized EN')
self.assertEqual(i18n.translate('nl', self.msg_localized),
u'test-localized NL')
self.assertEqual(i18n.translate('fy', self.msg_localized),
u'test-localized FY')
示例6: run
def run(self):
"""Start the bot."""
template_image = i18n.translate(self.site,
template_to_the_image)
template_user = i18n.translate(self.site,
template_to_the_user)
summary = i18n.translate(self.site, comment, fallback=True)
if not all([template_image, template_user, comment]):
raise pywikibot.Error(u'This script is not localized for %s site.'
% self.site)
self.summary = summary
generator = pagegenerators.UnusedFilesGenerator(site=self.site)
generator = pagegenerators.PreloadingGenerator(generator)
for image in generator:
if not image.exists():
pywikibot.output(u"File '%s' does not exist (see bug 69133)."
% image.title())
continue
# Use fileUrl() and fileIsShared() to confirm it is local media
# rather than a local page with the same name as shared media.
if (image.fileUrl() and not image.fileIsShared() and
u'http://' not in image.text):
if template_image in image.text:
pywikibot.output(u"%s done already"
% image.title(asLink=True))
continue
self.append_text(image, u"\n\n" + template_image)
uploader = image.getFileVersionHistory().pop(0)['user']
user = pywikibot.User(image.site, uploader)
usertalkpage = user.getUserTalkPage()
msg2uploader = template_user % {'title': image.title()}
self.append_text(usertalkpage, msg2uploader)
示例7: testNoEnglish
def testNoEnglish(self):
self.assertEqual(i18n.translate('en', self.msg_no_english),
u'test-no-english JA')
self.assertEqual(i18n.translate('fy', self.msg_no_english),
u'test-no-english JA')
self.assertEqual(i18n.translate('nl', self.msg_no_english),
u'test-no-english JA')
示例8: main
def main():
always = False
for arg in pywikibot.handleArgs():
if arg == '-always':
always = True
mysite = pywikibot.Site()
# If anything needs to be prepared, you can do it here
template_image = i18n.translate(pywikibot.Site(),
template_to_the_image)
template_user = i18n.translate(pywikibot.Site(),
template_to_the_user)
except_text_translated = i18n.translate(pywikibot.Site(), except_text)
if not(template_image and template_user and except_text_translated):
pywikibot.warning(u'This script is not localized for %s site.' % mysite)
return
generator = pagegenerators.UnusedFilesGenerator()
generator = pagegenerators.PreloadingGenerator(generator)
for image in generator:
if (except_text_translated.encode('utf-8')
not in image.getImagePageHtml() and
u'http://' not in image.text):
pywikibot.output(u"\n\n>>> \03{lightpurple}%s\03{default} <<<"
% image.title())
if template_image in image.text:
pywikibot.output(u"%s done already"
% image.title(asLink=True))
continue
appendtext(image, u"\n\n" + template_image, always)
uploader = image.getFileVersionHistory().pop(0)['user']
user = pywikibot.User(mysite, uploader)
usertalkpage = user.getUserTalkPage()
msg2uploader = template_user % {'title': image.title()}
appendtext(usertalkpage, msg2uploader, always)
示例9: run
def run(self):
template_image = i18n.translate(self.site,
template_to_the_image)
template_user = i18n.translate(self.site,
template_to_the_user)
except_text_translated = i18n.translate(self.site, except_text)
summary = i18n.translate(self.site, comment, fallback=True)
if not all([template_image, template_user, except_text_translated, comment]):
raise pywikibot.Error(u'This script is not localized for %s site.'
% self.site)
self.summary = summary
generator = pagegenerators.UnusedFilesGenerator(site=self.site)
generator = pagegenerators.PreloadingGenerator(generator)
for image in generator:
if not image.exists():
pywikibot.output(u"File '%s' does not exist (see bug 69133)."
% image.title())
continue
if (except_text_translated.encode('utf-8')
not in image.getImagePageHtml() and
u'http://' not in image.text):
if template_image in image.text:
pywikibot.output(u"%s done already"
% image.title(asLink=True))
continue
self.append_text(image, u"\n\n" + template_image)
uploader = image.getFileVersionHistory().pop(0)['user']
user = pywikibot.User(image.site, uploader)
usertalkpage = user.getUserTalkPage()
msg2uploader = template_user % {'title': image.title()}
self.append_text(usertalkpage, msg2uploader)
示例10: __init__
def __init__(self, generator, **kwargs):
"""- generator : Page generator."""
self.availableOptions.update({
'ignorepdf': False, # boolean
'limit': None, # int, stop after n modified pages
'summary': None,
})
super(ReferencesRobot, self).__init__(**kwargs)
self.generator = generator
self.site = pywikibot.Site()
self._use_fake_user_agent = config.fake_user_agent_default.get('reflinks', False)
# Check
manual = 'mw:Manual:Pywikibot/refLinks'
code = None
for alt in [self.site.code] + i18n._altlang(self.site.code):
if alt in localized_msg:
code = alt
break
if code:
manual += '/%s' % code
if self.getOption('summary') is None:
self.msg = i18n.twtranslate(self.site, 'reflinks-msg', locals())
else:
self.msg = self.getOption('summary')
local = i18n.translate(self.site, badtitles)
if local:
bad = '(' + globalbadtitles + '|' + local + ')'
else:
bad = globalbadtitles
self.titleBlackList = re.compile(bad, re.I | re.S | re.X)
self.norefbot = noreferences.NoReferencesBot(None, verbose=False)
self.deduplicator = DuplicateReferences()
self.site_stop_page = i18n.translate(self.site, stop_page)
if self.site_stop_page:
self.stop_page = pywikibot.Page(self.site, self.site_stop_page)
if self.stop_page.exists():
self.stop_page_rev_id = self.stop_page.latest_revision_id
else:
pywikibot.warning('The stop page %s does not exist'
% self.stop_page.title(asLink=True))
# Regex to grasp content-type meta HTML tag in HTML source
self.META_CONTENT = re.compile(br'(?i)<meta[^>]*content\-type[^>]*>')
# Extract the encoding from a charset property (from content-type !)
self.CHARSET = re.compile(r'(?i)charset\s*=\s*(?P<enc>[^\'",;>/]*)')
# Extract html title from page
self.TITLE = re.compile(r'(?is)(?<=<title>).*?(?=</title>)')
# Matches content inside <script>/<style>/HTML comments
self.NON_HTML = re.compile(
br'(?is)<script[^>]*>.*?</script>|<style[^>]*>.*?</style>|'
br'<!--.*?-->|<!\[CDATA\[.*?\]\]>')
# Authorized mime types for HTML pages
self.MIME = re.compile(
r'application/(?:xhtml\+xml|xml)|text/(?:ht|x)ml')
示例11: testNonLocalized
def testNonLocalized(self):
self.assertEqual(i18n.translate('en', self.msg_non_localized),
u'test-non-localized EN')
self.assertEqual(i18n.translate('fy', self.msg_non_localized),
u'test-non-localized EN')
self.assertEqual(i18n.translate('nl', self.msg_non_localized),
u'test-non-localized EN')
self.assertEqual(i18n.translate('ru', self.msg_non_localized),
u'test-non-localized EN')
示例12: reportBadAccount
def reportBadAccount(self, name=None, final=False):
# Queue process
if name:
if globalvar.confirm:
answer = pywikibot.input_choice(
"%s may have an unwanted username, do you want to report " "this user?" % name,
[("Yes", "y"), ("No", "n"), ("All", "a")],
"n",
automatic_quit=False,
)
if answer in ["a", "all"]:
answer = "y"
globalvar.confirm = False
else:
answer = "y"
if answer.lower() in ["yes", "y"] or not globalvar.confirm:
showStatus()
pywikibot.output("%s is possibly an unwanted username. It will be reported." % name)
if hasattr(self, "_BAQueue"):
self._BAQueue.append(name)
else:
self._BAQueue = [name]
if len(self._BAQueue) >= globalvar.dumpToLog or final:
rep_text = ""
# name in queue is max, put detail to report page
pywikibot.output("Updating badname accounts to report page...")
rep_page = pywikibot.Page(self.site, i18n.translate(self.site, report_page))
if rep_page.exists():
text_get = rep_page.get()
else:
text_get = "This is a report page for the Bad-username, please translate me. --~~~"
pos = 0
# The talk page includes "_" between the two names, in this way i
# replace them to " ".
for usrna in self._BAQueue:
username = pywikibot.url2link(usrna, self.site, self.site)
n = re.compile(re.escape(username), re.UNICODE)
y = n.search(text_get, pos)
if y:
pywikibot.output("%s is already in the report page." % username)
else:
# Adding the log.
rep_text += i18n.translate(self.site, report_text) % username
if self.site.code == "it":
rep_text = "%s%s}}" % (rep_text, self.bname[username])
com = i18n.twtranslate(self.site, "welcome-bad_username")
if rep_text != "":
rep_page.put(text_get + rep_text, summary=com, force=True, minorEdit=True)
showStatus(5)
pywikibot.output("Reported")
self.BAQueue = list()
else:
return True
示例13: testNoEnglish
def testNoEnglish(self):
"""Test translate with missing English text."""
self.assertEqual(i18n.translate('en', self.msg_no_english,
fallback=True),
u'test-no-english JA')
self.assertEqual(i18n.translate('fy', self.msg_no_english,
fallback=True),
u'test-no-english JA')
self.assertEqual(i18n.translate('nl', self.msg_no_english,
fallback=True),
u'test-no-english JA')
示例14: testSemiLocalized
def testSemiLocalized(self):
"""Test translate by fallback to an alternative language."""
self.assertEqual(i18n.translate('en', self.msg_semi_localized,
fallback=True),
u'test-semi-localized EN')
self.assertEqual(i18n.translate('nl', self.msg_semi_localized,
fallback=True),
u'test-semi-localized NL')
self.assertEqual(i18n.translate('fy', self.msg_semi_localized,
fallback=True),
u'test-semi-localized NL')
示例15: testLocalized
def testLocalized(self):
"""Test fully localized translations."""
self.assertEqual(i18n.translate('en', self.msg_localized,
fallback=True),
u'test-localized EN')
self.assertEqual(i18n.translate('nl', self.msg_localized,
fallback=True),
u'test-localized NL')
self.assertEqual(i18n.translate('fy', self.msg_localized,
fallback=True),
u'test-localized FY')