Skip to content

Commit ecfa871

Browse files
zasrdswift
authored andcommitted
Translate notes and add tests for translations
1 parent 41514d3 commit ecfa871

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

picard/util/tags.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ def script_name(self):
180180
def notes(self):
181181
for attrib, note in ATTRIB2NOTE.items():
182182
if getattr(self, attrib):
183-
yield note
183+
yield _(note)
184184

185185
def related_options_titles(self):
186186
if not self.related_options:

test/test_util_tags.py

+28
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,16 @@
4747
)
4848

4949

50+
def _translate_patch(s):
51+
if s in {
52+
"<p><strong>{title}:</strong> {values}.</p>",
53+
"<p><em>%{name}%</em> [{tagdesc}]</p>{content}",
54+
"<p><em>%{name}%</em></p>{content}",
55+
}:
56+
return s.replace('<p>', '<p dir="rtl">')
57+
return f"_({s})"
58+
59+
5060
class TagVarTest(PicardTestCase):
5161
def test_basic_properties(self):
5262
tv = TagVar('name')
@@ -295,6 +305,24 @@ def test_tagvars_display_tooltip(self):
295305
)
296306
self.assertEqual(tagvars.display_tooltip('notes3'), result)
297307

308+
@mock.patch("picard.util.tags._", side_effect=_translate_patch)
309+
def test_tagvars_display_tooltip_translate(self, mock):
310+
tagvars = TagVars(
311+
self.tagvar_nodesc,
312+
self.tagvar_only_sd,
313+
self.tagvar_hidden_sd,
314+
self.tagvar_notes1,
315+
)
316+
self.assertEqual(tagvars.display_tooltip('nodesc'), '<p dir="rtl"><em>%nodesc%</em></p><p>_(nodesc)</p>')
317+
self.assertEqual(tagvars.display_tooltip('only_sd'), '<p dir="rtl"><em>%only_sd%</em></p><p>_(only_sd_shortdesc)</p>')
318+
self.assertEqual(tagvars.display_tooltip('~hidden:xxx'), '<p dir="rtl"><em>%_hidden%</em> [xxx]</p><p>_(No description available.)</p>')
319+
320+
result = (
321+
'<p dir="rtl"><em>%_notes1%</em></p><p>_(notes1_ld)</p>'
322+
'<p dir="rtl"><strong>_(Notes):</strong> _(preserved read-only); _(not for use in scripts); _(calculated); _(info from audio file).</p>'
323+
)
324+
self.assertEqual(tagvars.display_tooltip('_notes1'), result)
325+
298326
def test_tagvars_full_description(self):
299327
tagvars = TagVars(
300328
self.tagvar_everything,

0 commit comments

Comments
 (0)