Merge lp:~nikwen/ubuntu-calendar-app/fix-standalone-month-name-i18n into lp:ubuntu-calendar-app
- fix-standalone-month-name-i18n
- Merge into trunk
Status: | Needs review | ||||
---|---|---|---|---|---|
Proposed branch: | lp:~nikwen/ubuntu-calendar-app/fix-standalone-month-name-i18n | ||||
Merge into: | lp:ubuntu-calendar-app | ||||
Diff against target: |
330 lines (+61/-67) 4 files modified
DayView.qml (+3/-5) MonthView.qml (+3/-5) WeekView.qml (+9/-10) po/com.ubuntu.calendar.pot (+46/-47) |
||||
To merge this branch: | bzr merge lp:~nikwen/ubuntu-calendar-app/fix-standalone-month-name-i18n | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jenkins Bot | continuous-integration | Approve | |
Nekhelesh Ramananthan | Needs Fixing | ||
David Planella | Needs Fixing | ||
Kunal Parmar | Pending | ||
Review via email: mp+279509@code.launchpad.net |
Commit message
Fix bad month translations for some languages, e.g. Polish
Description of the change
Fix bad month translations for some languages, e.g. Polish
See the related bug report for more information on why this change is necessary. ;)
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
- 736. By Niklas Wenzel
-
Remove id attribute that I used during testing
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:736
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Kunal Parmar (pkunal-parmar) wrote : | # |
Thanks :), this changes seems fine to me, but need to test is once and then approve it
David Planella (dpm) wrote : | # |
Why do you need to call qsTr()? IIRC, it should work with i18n.tr() only already.
qsTr(i18n.tr("%1 %2")).arg(
David Planella (dpm) wrote : | # |
Sorry, to be more specific:
- Qt.locale() should choose the right locale for you already for the standaloneMonth
- Does currentMonth.
Niklas Wenzel (nikwen) wrote : | # |
Thank you, Kunal and David, for looking into this.
@David, to clear this up a bit:
qsTr() is responsible only for the format string here. i18n.tr() delivers the translated format string while qsTr() in combination with the arg() calls then goes ahead and replaces %1 and %2 with the arguments, i.e. the month and the year. That said, qsTr() does not do any translation job and is only needed for the format string story. I couldn't find anything in the i18n documentation to replace the qsTr() and arg() calls here. [1]
Regarding the year: Qt.locale() does not provide any way to localize the year. [2] Hence, I don't think we need to do anything, especially considering that we are talking about a number.
[1] https:/
[2] http://
Niklas Wenzel (nikwen) wrote : | # |
Any update on this? Kunal, have you given it a try yet?
David Planella (dpm) wrote : | # |
I've just double-checked this again, and I can confirm that the qsTr() call is not required. i18n.tr() (gettext) already takes care of the format string, it is not necessary to process it again with qsTr().
This can easily be tested with a simple QML app that includes the following string:
i18n.tr("%1 %2").arg(
- 737. By Niklas Wenzel
-
Remove qsTr() calls
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:737
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Niklas Wenzel (nikwen) wrote : | # |
So I just learned something new. Thanks, David! :)
(By the way, would it be possible to add an example for that to https:/
Now I just have to sort out the merge conflicts.
- 738. By Niklas Wenzel
-
Merge trunk
Niklas Wenzel (nikwen) wrote : | # |
Fixed the merge conflicts. Would you mind looking into it again, please? :)
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:738
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Niklas Wenzel (nikwen) wrote : | # |
Looking at the Jenkins logs, I don't think the test failures are related to the changes here. (Please correct me if I'm wrong, though!) Any idea what was happening?
Nekhelesh Ramananthan (nik90) wrote : | # |
@nikwen, Hi there, we're looking to release calendar v0.5 with OTA-10. I would like to get this bug fix into trunk before that. Can we work on getting this done?
I have two questions,
1. why at all do we need i18n.tr() calls? Can we just do "%1 %2".arg().arg() which then substitutes the month and year accordingly? Or is this for RTL language support where the order may need to be changed?
2. calendar app trunk has gone through a huge code change. Please merge trunk and push again pls.
Niklas Wenzel (nikwen) wrote : | # |
Hey Nekhelesh,
I'm sorry for being a bit late.
The reason why I put the i18n.tr() calls in there is because there might be languages in which it is "2016 April" instead of "April 2016". I'm not sure about whether there are any such languages, but if we are already fixing translation issues, I'd prefer to make it as flexible as possible. Furthermore, in my opinion the i18n.tr() calls don't hurt anyone if no such languages exist.
I'll merge trunk now. :)
- 739. By Niklas Wenzel
-
Merge trunk
- 740. By Niklas Wenzel
-
Also fix bug in a new place where it has been introduced
- 741. By Niklas Wenzel
-
Readd newlines where accidently removed
- 742. By Niklas Wenzel
-
Empty commit to make LP rebuild the diff
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:742
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Niklas Wenzel (nikwen) wrote : | # |
Finished merging. Thank you for your patience, Nekhelesh! :)
David Planella (dpm) wrote : | # |
Thanks Niklas, and good work everyone!
On Wed, Apr 6, 2016 at 10:38 PM, Niklas Wenzel <email address hidden>
wrote:
> Finished merging. Thank you for your patience, Nekhelesh! :)
> --
>
> https:/
> You are reviewing the proposed merge of
> lp:~nikwen/ubuntu-calendar-app/fix-standalone-month-name-i18n into
> lp:ubuntu-calendar-app.
>
Niklas Wenzel (nikwen) wrote : | # |
Nekhelesh, would you mind having a look at this again? :)
Unmerged revisions
- 742. By Niklas Wenzel
-
Empty commit to make LP rebuild the diff
- 741. By Niklas Wenzel
-
Readd newlines where accidently removed
- 740. By Niklas Wenzel
-
Also fix bug in a new place where it has been introduced
- 739. By Niklas Wenzel
-
Merge trunk
- 738. By Niklas Wenzel
-
Merge trunk
- 737. By Niklas Wenzel
-
Remove qsTr() calls
- 736. By Niklas Wenzel
-
Remove id attribute that I used during testing
- 735. By Niklas Wenzel
-
Fix bad month translations for some languages, e.g. Polish
Preview Diff
1 | === modified file 'DayView.qml' | |||
2 | --- DayView.qml 2016-03-17 01:51:25 +0000 | |||
3 | +++ DayView.qml 2016-04-06 20:33:43 +0000 | |||
4 | @@ -116,11 +116,9 @@ | |||
5 | 116 | currentDate.getDate()) | 116 | currentDate.getDate()) |
6 | 117 | return ("%1 %2").arg(lunarDate .IMonthCn).arg(lunarDate.gzYear) | 117 | return ("%1 %2").arg(lunarDate .IMonthCn).arg(lunarDate.gzYear) |
7 | 118 | } else { | 118 | } else { |
13 | 119 | // TRANSLATORS: this is a time formatting string, | 119 | // TRANSLATORS: This string is used in the headers of the month, week and day views. |
14 | 120 | // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions. | 120 | // %1 is going to be replaced by the month name, %2 by the year. |
15 | 121 | // It's used in the header of the month and week views | 121 | return i18n.tr("%1 %2").arg(Qt.locale().standaloneMonthName(currentDate.getMonth(), Locale.LongFormat)).arg(currentDate.getFullYear()) |
11 | 122 | var monthName = currentDate.toLocaleString(Qt.locale(),i18n.tr("MMMM yyyy")) | ||
12 | 123 | return monthName[0].toUpperCase() + monthName.substr(1, monthName.length - 1) | ||
16 | 124 | } | 122 | } |
17 | 125 | } | 123 | } |
18 | 126 | } | 124 | } |
19 | 127 | 125 | ||
20 | === modified file 'MonthView.qml' | |||
21 | --- MonthView.qml 2016-03-17 01:51:25 +0000 | |||
22 | +++ MonthView.qml 2016-04-06 20:33:43 +0000 | |||
23 | @@ -72,11 +72,9 @@ | |||
24 | 72 | var lunarDate = Lunar.calendar.solar2lunar(year, month + 1, day) | 72 | var lunarDate = Lunar.calendar.solar2lunar(year, month + 1, day) |
25 | 73 | return i18n.tr("%1 %2").arg(lunarDate .IMonthCn).arg(lunarDate.gzYear) | 73 | return i18n.tr("%1 %2").arg(lunarDate .IMonthCn).arg(lunarDate.gzYear) |
26 | 74 | } else { | 74 | } else { |
32 | 75 | // TRANSLATORS: this is a time formatting string, | 75 | // TRANSLATORS: This string is used in the headers of the month, week and day views. |
33 | 76 | // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions. | 76 | // %1 is going to be replaced by the month name, %2 by the year. |
34 | 77 | // It's used in the header of the month and week views | 77 | return i18n.tr("%1 %2").arg(Qt.locale().standaloneMonthName(currentDate.getMonth(), Locale.LongFormat)).arg(currentDate.getFullYear()) |
30 | 78 | var monthName = currentDate.toLocaleString(Qt.locale(),i18n.tr("MMMM yyyy")) | ||
31 | 79 | return monthName[0].toUpperCase() + monthName.substr(1, monthName.length - 1) | ||
35 | 80 | } | 78 | } |
36 | 81 | } | 79 | } |
37 | 82 | flickable: null | 80 | flickable: null |
38 | 83 | 81 | ||
39 | === modified file 'WeekView.qml' | |||
40 | --- WeekView.qml 2016-03-17 01:51:25 +0000 | |||
41 | +++ WeekView.qml 2016-04-06 20:33:43 +0000 | |||
42 | @@ -130,19 +130,18 @@ | |||
43 | 130 | currentDate.getDate()) | 130 | currentDate.getDate()) |
44 | 131 | return i18n.tr("%1 %2").arg(lunarDate .IMonthCn).arg(lunarDate.gzYear) | 131 | return i18n.tr("%1 %2").arg(lunarDate .IMonthCn).arg(lunarDate.gzYear) |
45 | 132 | } else { | 132 | } else { |
46 | 133 | // TRANSLATORS: this is a time formatting string, | ||
47 | 134 | // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions. | ||
48 | 135 | // It's used in the header of the month and week views | ||
49 | 136 | var currentLastDayOfWeek = currentFirstDayOfWeek.addDays(7) | 133 | var currentLastDayOfWeek = currentFirstDayOfWeek.addDays(7) |
50 | 137 | if (currentLastDayOfWeek.getMonth() !== currentFirstDayOfWeek.getMonth()) { | 134 | if (currentLastDayOfWeek.getMonth() !== currentFirstDayOfWeek.getMonth()) { |
56 | 138 | var firstMonthName = currentFirstDayOfWeek.toLocaleString(Qt.locale(),i18n.tr("MMM")) | 135 | // TRANSLATORS: This string is used in the header of the week view when the current week contains days from two different months. |
57 | 139 | var lastMonthName = currentLastDayOfWeek.toLocaleString(Qt.locale(),i18n.tr("MMM")) | 136 | // %1 is going to be replaced by the first month's name, %2 by the second month's name and %3 by the year. |
58 | 140 | return (firstMonthName[0].toUpperCase() + firstMonthName.substr(1, 2) + "/" + | 137 | return i18n.tr("%1/%2 %3") |
59 | 141 | lastMonthName[0].toUpperCase() + lastMonthName.substr(1, 2) + " " + | 138 | .arg(Qt.locale().standaloneMonthName(currentFirstDayOfWeek.getMonth(), Locale.ShortFormat)) |
60 | 142 | currentLastDayOfWeek.getFullYear()) | 139 | .arg(Qt.locale().standaloneMonthName(currentLastDayOfWeek.getMonth(), Locale.ShortFormat)) |
61 | 140 | .arg(currentDate.getFullYear()) | ||
62 | 143 | } else { | 141 | } else { |
65 | 144 | var monthName = currentDate.toLocaleString(Qt.locale(),i18n.tr("MMMM yyyy")) | 142 | // TRANSLATORS: This string is used in the headers of the month, week and day views. |
66 | 145 | return monthName[0].toUpperCase() + monthName.substr(1, monthName.length - 1) | 143 | // %1 is going to be replaced by the month name, %2 by the year. |
67 | 144 | return i18n.tr("%1 %2").arg(Qt.locale().standaloneMonthName(currentDate.getMonth(), Locale.LongFormat)).arg(currentDate.getFullYear()) | ||
68 | 146 | } | 145 | } |
69 | 147 | } | 146 | } |
70 | 148 | } | 147 | } |
71 | 149 | 148 | ||
72 | === modified file 'po/com.ubuntu.calendar.pot' | |||
73 | --- po/com.ubuntu.calendar.pot 2016-03-23 03:59:15 +0000 | |||
74 | +++ po/com.ubuntu.calendar.pot 2016-04-06 20:33:43 +0000 | |||
75 | @@ -8,7 +8,7 @@ | |||
76 | 8 | msgstr "" | 8 | msgstr "" |
77 | 9 | "Project-Id-Version: \n" | 9 | "Project-Id-Version: \n" |
78 | 10 | "Report-Msgid-Bugs-To: \n" | 10 | "Report-Msgid-Bugs-To: \n" |
80 | 11 | "POT-Creation-Date: 2016-03-23 00:58-0300\n" | 11 | "POT-Creation-Date: 2016-04-06 22:28+0200\n" |
81 | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
82 | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
83 | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
84 | @@ -18,7 +18,7 @@ | |||
85 | 18 | "Content-Transfer-Encoding: 8bit\n" | 18 | "Content-Transfer-Encoding: 8bit\n" |
86 | 19 | "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" | 19 | "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" |
87 | 20 | 20 | ||
89 | 21 | #: ../AgendaView.qml:50 ../calendar.qml:344 ../calendar.qml:576 | 21 | #: ../AgendaView.qml:50 ../calendar.qml:348 ../calendar.qml:580 |
90 | 22 | msgid "Agenda" | 22 | msgid "Agenda" |
91 | 23 | msgstr "" | 23 | msgstr "" |
92 | 24 | 24 | ||
93 | @@ -104,7 +104,7 @@ | |||
94 | 104 | msgstr "" | 104 | msgstr "" |
95 | 105 | 105 | ||
96 | 106 | #: ../ColorPickerDialog.qml:55 ../DeleteConfirmationDialog.qml:60 | 106 | #: ../ColorPickerDialog.qml:55 ../DeleteConfirmationDialog.qml:60 |
98 | 107 | #: ../EditEventConfirmationDialog.qml:53 ../NewEvent.qml:341 | 107 | #: ../EditEventConfirmationDialog.qml:53 ../NewEvent.qml:328 |
99 | 108 | msgid "Cancel" | 108 | msgid "Cancel" |
100 | 109 | msgstr "" | 109 | msgstr "" |
101 | 110 | 110 | ||
102 | @@ -120,11 +120,12 @@ | |||
103 | 120 | msgid "Today" | 120 | msgid "Today" |
104 | 121 | msgstr "" | 121 | msgstr "" |
105 | 122 | 122 | ||
111 | 123 | #. TRANSLATORS: this is a time formatting string, | 123 | #. TRANSLATORS: This string is used in the headers of the month, week and day views. |
112 | 124 | #. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions. | 124 | #. %1 is going to be replaced by the month name, %2 by the year. |
113 | 125 | #. It's used in the header of the month and week views | 125 | #: ../DayView.qml:120 ../MonthView.qml:73 ../MonthView.qml:77 |
114 | 126 | #: ../DayView.qml:122 ../MonthView.qml:78 ../WeekView.qml:144 | 126 | #: ../WeekView.qml:130 ../WeekView.qml:143 |
115 | 127 | msgid "MMMM yyyy" | 127 | #, qt-format |
116 | 128 | msgid "%1 %2" | ||
117 | 128 | msgstr "" | 129 | msgstr "" |
118 | 129 | 130 | ||
119 | 130 | #: ../DeleteConfirmationDialog.qml:31 | 131 | #: ../DeleteConfirmationDialog.qml:31 |
120 | @@ -154,11 +155,11 @@ | |||
121 | 154 | msgid "Delete this" | 155 | msgid "Delete this" |
122 | 155 | msgstr "" | 156 | msgstr "" |
123 | 156 | 157 | ||
125 | 157 | #: ../DeleteConfirmationDialog.qml:51 ../NewEvent.qml:348 | 158 | #: ../DeleteConfirmationDialog.qml:51 ../NewEvent.qml:335 |
126 | 158 | msgid "Delete" | 159 | msgid "Delete" |
127 | 159 | msgstr "" | 160 | msgstr "" |
128 | 160 | 161 | ||
130 | 161 | #: ../EditEventConfirmationDialog.qml:29 ../NewEvent.qml:336 | 162 | #: ../EditEventConfirmationDialog.qml:29 ../NewEvent.qml:323 |
131 | 162 | msgid "Edit Event" | 163 | msgid "Edit Event" |
132 | 163 | msgstr "" | 164 | msgstr "" |
133 | 164 | 165 | ||
134 | @@ -182,12 +183,12 @@ | |||
135 | 182 | 183 | ||
136 | 183 | #. TRANSLATORS: the first argument (%1) refers to a start time for an event, | 184 | #. TRANSLATORS: the first argument (%1) refers to a start time for an event, |
137 | 184 | #. while the second one (%2) refers to the end time | 185 | #. while the second one (%2) refers to the end time |
139 | 185 | #: ../EventBubble.qml:100 | 186 | #: ../EventBubble.qml:134 |
140 | 186 | #, qt-format | 187 | #, qt-format |
141 | 187 | msgid "%1 - %2" | 188 | msgid "%1 - %2" |
142 | 188 | msgstr "" | 189 | msgstr "" |
143 | 189 | 190 | ||
145 | 190 | #: ../EventDetails.qml:37 ../NewEvent.qml:484 | 191 | #: ../EventDetails.qml:37 ../NewEvent.qml:493 |
146 | 191 | msgid "Event Details" | 192 | msgid "Event Details" |
147 | 192 | msgstr "" | 193 | msgstr "" |
148 | 193 | 194 | ||
149 | @@ -195,32 +196,32 @@ | |||
150 | 195 | msgid "Edit" | 196 | msgid "Edit" |
151 | 196 | msgstr "" | 197 | msgstr "" |
152 | 197 | 198 | ||
154 | 198 | #: ../EventDetails.qml:164 ../TimeLineHeader.qml:66 | 199 | #: ../EventDetails.qml:167 ../TimeLineHeader.qml:66 |
155 | 199 | msgid "All Day" | 200 | msgid "All Day" |
156 | 200 | msgstr "" | 201 | msgstr "" |
157 | 201 | 202 | ||
159 | 202 | #: ../EventDetails.qml:336 ../NewEvent.qml:549 | 203 | #: ../EventDetails.qml:339 ../NewEvent.qml:559 |
160 | 203 | #: com.ubuntu.calendar_calendar.desktop.in.in.h:1 | 204 | #: com.ubuntu.calendar_calendar.desktop.in.in.h:1 |
161 | 204 | msgid "Calendar" | 205 | msgid "Calendar" |
162 | 205 | msgstr "" | 206 | msgstr "" |
163 | 206 | 207 | ||
165 | 207 | #: ../EventDetails.qml:369 | 208 | #: ../EventDetails.qml:372 |
166 | 208 | msgid "Not Attending" | 209 | msgid "Not Attending" |
167 | 209 | msgstr "" | 210 | msgstr "" |
168 | 210 | 211 | ||
170 | 211 | #: ../EventDetails.qml:373 | 212 | #: ../EventDetails.qml:376 |
171 | 212 | msgid "Attending" | 213 | msgid "Attending" |
172 | 213 | msgstr "" | 214 | msgstr "" |
173 | 214 | 215 | ||
175 | 215 | #: ../EventDetails.qml:377 | 216 | #: ../EventDetails.qml:380 |
176 | 216 | msgid "No Reply" | 217 | msgid "No Reply" |
177 | 217 | msgstr "" | 218 | msgstr "" |
178 | 218 | 219 | ||
180 | 219 | #: ../EventDetails.qml:400 ../NewEvent.qml:515 | 220 | #: ../EventDetails.qml:403 ../NewEvent.qml:525 |
181 | 220 | msgid "Description" | 221 | msgid "Description" |
182 | 221 | msgstr "" | 222 | msgstr "" |
183 | 222 | 223 | ||
185 | 223 | #: ../EventDetails.qml:418 ../EventReminder.qml:36 ../NewEvent.qml:711 | 224 | #: ../EventDetails.qml:421 ../NewEvent.qml:718 ../NewEvent.qml:757 |
186 | 224 | msgid "Reminder" | 225 | msgid "Reminder" |
187 | 225 | msgstr "" | 226 | msgstr "" |
188 | 226 | 227 | ||
189 | @@ -228,7 +229,7 @@ | |||
190 | 228 | #. and it is shown as the header of the page to choose repetition | 229 | #. and it is shown as the header of the page to choose repetition |
191 | 229 | #. and as the header of the list item that shows the repetition | 230 | #. and as the header of the list item that shows the repetition |
192 | 230 | #. summary in the page that displays the event details | 231 | #. summary in the page that displays the event details |
194 | 231 | #: ../EventRepetition.qml:40 ../EventRepetition.qml:153 | 232 | #: ../EventRepetition.qml:40 ../EventRepetition.qml:152 |
195 | 232 | msgid "Repeat" | 233 | msgid "Repeat" |
196 | 233 | msgstr "" | 234 | msgstr "" |
197 | 234 | 235 | ||
198 | @@ -236,18 +237,18 @@ | |||
199 | 236 | msgid "Repeats On:" | 237 | msgid "Repeats On:" |
200 | 237 | msgstr "" | 238 | msgstr "" |
201 | 238 | 239 | ||
203 | 239 | #: ../EventRepetition.qml:217 | 240 | #: ../EventRepetition.qml:218 |
204 | 240 | msgid "Recurring event ends" | 241 | msgid "Recurring event ends" |
205 | 241 | msgstr "" | 242 | msgstr "" |
206 | 242 | 243 | ||
207 | 243 | #. TRANSLATORS: this refers to how often a recurrent event repeats | 244 | #. TRANSLATORS: this refers to how often a recurrent event repeats |
208 | 244 | #. and it is shown as the header of the option selector to choose | 245 | #. and it is shown as the header of the option selector to choose |
209 | 245 | #. its repetition | 246 | #. its repetition |
211 | 246 | #: ../EventRepetition.qml:240 ../NewEvent.qml:685 | 247 | #: ../EventRepetition.qml:242 ../NewEvent.qml:694 |
212 | 247 | msgid "Repeats" | 248 | msgid "Repeats" |
213 | 248 | msgstr "" | 249 | msgstr "" |
214 | 249 | 250 | ||
216 | 250 | #: ../EventRepetition.qml:265 | 251 | #: ../EventRepetition.qml:268 |
217 | 251 | msgid "Date" | 252 | msgid "Date" |
218 | 252 | msgstr "" | 253 | msgstr "" |
219 | 253 | 254 | ||
220 | @@ -288,60 +289,55 @@ | |||
221 | 288 | 289 | ||
222 | 289 | #. TRANSLATORS: This is shown in the month view as "Wk" as a title | 290 | #. TRANSLATORS: This is shown in the month view as "Wk" as a title |
223 | 290 | #. to indicate the week numbers. It should be a max of up to 3 characters. | 291 | #. to indicate the week numbers. It should be a max of up to 3 characters. |
225 | 291 | #: ../MonthComponent.qml:317 | 292 | #: ../MonthComponent.qml:316 |
226 | 292 | msgid "Wk" | 293 | msgid "Wk" |
227 | 293 | msgstr "" | 294 | msgstr "" |
228 | 294 | 295 | ||
235 | 295 | #: ../MonthView.qml:73 ../WeekView.qml:131 | 296 | #: ../NewEvent.qml:182 |
230 | 296 | #, qt-format | ||
231 | 297 | msgid "%1 %2" | ||
232 | 298 | msgstr "" | ||
233 | 299 | |||
234 | 300 | #: ../NewEvent.qml:179 | ||
236 | 301 | msgid "End time can't be before start time" | 297 | msgid "End time can't be before start time" |
237 | 302 | msgstr "" | 298 | msgstr "" |
238 | 303 | 299 | ||
240 | 304 | #: ../NewEvent.qml:336 ../NewEventBottomEdge.qml:53 | 300 | #: ../NewEvent.qml:323 ../NewEventBottomEdge.qml:53 |
241 | 305 | msgid "New Event" | 301 | msgid "New Event" |
242 | 306 | msgstr "" | 302 | msgstr "" |
243 | 307 | 303 | ||
245 | 308 | #: ../NewEvent.qml:365 | 304 | #: ../NewEvent.qml:352 |
246 | 309 | msgid "Save" | 305 | msgid "Save" |
247 | 310 | msgstr "" | 306 | msgstr "" |
248 | 311 | 307 | ||
250 | 312 | #: ../NewEvent.qml:376 | 308 | #: ../NewEvent.qml:363 |
251 | 313 | msgid "Error" | 309 | msgid "Error" |
252 | 314 | msgstr "" | 310 | msgstr "" |
253 | 315 | 311 | ||
255 | 316 | #: ../NewEvent.qml:378 | 312 | #: ../NewEvent.qml:365 |
256 | 317 | msgid "OK" | 313 | msgid "OK" |
257 | 318 | msgstr "" | 314 | msgstr "" |
258 | 319 | 315 | ||
260 | 320 | #: ../NewEvent.qml:438 | 316 | #: ../NewEvent.qml:427 |
261 | 321 | msgid "From" | 317 | msgid "From" |
262 | 322 | msgstr "" | 318 | msgstr "" |
263 | 323 | 319 | ||
265 | 324 | #: ../NewEvent.qml:451 | 320 | #: ../NewEvent.qml:443 |
266 | 325 | msgid "To" | 321 | msgid "To" |
267 | 326 | msgstr "" | 322 | msgstr "" |
268 | 327 | 323 | ||
270 | 328 | #: ../NewEvent.qml:468 | 324 | #: ../NewEvent.qml:470 |
271 | 329 | msgid "All day event" | 325 | msgid "All day event" |
272 | 330 | msgstr "" | 326 | msgstr "" |
273 | 331 | 327 | ||
275 | 332 | #: ../NewEvent.qml:497 | 328 | #: ../NewEvent.qml:507 |
276 | 333 | msgid "Event Name" | 329 | msgid "Event Name" |
277 | 334 | msgstr "" | 330 | msgstr "" |
278 | 335 | 331 | ||
280 | 336 | #: ../NewEvent.qml:534 | 332 | #: ../NewEvent.qml:544 |
281 | 337 | msgid "Location" | 333 | msgid "Location" |
282 | 338 | msgstr "" | 334 | msgstr "" |
283 | 339 | 335 | ||
285 | 340 | #: ../NewEvent.qml:589 | 336 | #: ../NewEvent.qml:600 |
286 | 341 | msgid "Guests" | 337 | msgid "Guests" |
287 | 342 | msgstr "" | 338 | msgstr "" |
288 | 343 | 339 | ||
290 | 344 | #: ../NewEvent.qml:598 | 340 | #: ../NewEvent.qml:610 |
291 | 345 | msgid "Add Guest" | 341 | msgid "Add Guest" |
292 | 346 | msgstr "" | 342 | msgstr "" |
293 | 347 | 343 | ||
294 | @@ -450,8 +446,11 @@ | |||
295 | 450 | msgid "W%1" | 446 | msgid "W%1" |
296 | 451 | msgstr "" | 447 | msgstr "" |
297 | 452 | 448 | ||
300 | 453 | #: ../WeekView.qml:138 ../WeekView.qml:139 | 449 | #. TRANSLATORS: This string is used in the header of the week view when the current week contains days from two different months. |
301 | 454 | msgid "MMM" | 450 | #. %1 is going to be replaced by the first month's name, %2 by the second month's name and %3 by the year. |
302 | 451 | #: ../WeekView.qml:136 | ||
303 | 452 | #, qt-format | ||
304 | 453 | msgid "%1/%2 %3" | ||
305 | 455 | msgstr "" | 454 | msgstr "" |
306 | 456 | 455 | ||
307 | 457 | #: ../YearView.qml:79 | 456 | #: ../YearView.qml:79 |
308 | @@ -466,19 +465,19 @@ | |||
309 | 466 | "about them" | 465 | "about them" |
310 | 467 | msgstr "" | 466 | msgstr "" |
311 | 468 | 467 | ||
313 | 469 | #: ../calendar.qml:312 ../calendar.qml:492 | 468 | #: ../calendar.qml:316 ../calendar.qml:496 |
314 | 470 | msgid "Year" | 469 | msgid "Year" |
315 | 471 | msgstr "" | 470 | msgstr "" |
316 | 472 | 471 | ||
318 | 473 | #: ../calendar.qml:320 ../calendar.qml:513 | 472 | #: ../calendar.qml:324 ../calendar.qml:517 |
319 | 474 | msgid "Month" | 473 | msgid "Month" |
320 | 475 | msgstr "" | 474 | msgstr "" |
321 | 476 | 475 | ||
323 | 477 | #: ../calendar.qml:328 ../calendar.qml:534 | 476 | #: ../calendar.qml:332 ../calendar.qml:538 |
324 | 478 | msgid "Week" | 477 | msgid "Week" |
325 | 479 | msgstr "" | 478 | msgstr "" |
326 | 480 | 479 | ||
328 | 481 | #: ../calendar.qml:336 ../calendar.qml:555 | 480 | #: ../calendar.qml:340 ../calendar.qml:559 |
329 | 482 | msgid "Day" | 481 | msgid "Day" |
330 | 483 | msgstr "" | 482 | msgstr "" |
331 | 484 | 483 |
PASSED: Continuous integration, rev:735 /core-apps- jenkins. ubuntu. com/job/ calendar- app-ci/ 23/ /core-apps- jenkins. ubuntu. com/job/ generic- update- mp/221/ console
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild: /core-apps- jenkins. ubuntu. com/job/ calendar- app-ci/ 23/rebuild
https:/