Skip to content

Update translations from Weblate #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
ee33dc7
katex [nfc]: Factor out MathNode from its block-vs-inline variants
gnprice Apr 21, 2025
4bce7f2
katex [nfc]: Increment class index at top of loop
gnprice Apr 21, 2025
cbecb6b
katex [nfc]: Join the CSS-class switch statements into one
gnprice Apr 21, 2025
35bb431
katex [nfc]: Replace classFound local with a default case
gnprice Apr 22, 2025
071166c
katex [nfc]: Increment class index immediately on dereference
gnprice Apr 22, 2025
2d43771
katex [nfc]: Handle error immediately on spanClasses overrun
gnprice Apr 22, 2025
1f7cdd5
katex [nfc]: More early throws
gnprice Apr 22, 2025
64cbe85
katex [nfc]: Small further simplifications in CSS-class logic
gnprice Apr 22, 2025
a8b5feb
katex [nfc]: Make KatexSpanStyles immutable
gnprice Apr 22, 2025
7dc199c
katex [nfc]: Compact a bit using switch-expressions
gnprice Apr 22, 2025
102a6de
katex [nfc]: Factor out _KatexNodeList widget
gnprice Apr 22, 2025
6852eaa
katex [nfc]: Rename _KatexSpan field to "node"
gnprice Apr 22, 2025
2683df0
compose: Fix bug where compose progress can be lost on new event queue
chrisbobbe Apr 17, 2025
b7c3eed
icons: Add edit-message icon, from Figma
chrisbobbe Apr 17, 2025
a850103
msglist [nfc]: s/composeBox{Controller,State}/ in MessageListPageState
chrisbobbe Apr 17, 2025
2739149
action_sheet [nfc]: Move fetchRawContentWithFeedback to ZulipAction
chrisbobbe Apr 17, 2025
5c812e7
channel: Maintain maps consistently when removing subscriptions
PIG208 Apr 23, 2025
fddb2e4
l10n: Update translations from Weblate.
weblate Apr 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified assets/icons/ZulipIcons.ttf
Binary file not shown.
4 changes: 4 additions & 0 deletions assets/icons/edit.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 7 additions & 7 deletions assets/l10n/app_uk.arb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"@actionSheetOptionFollowTopic": {
"description": "Label for following a topic on action sheet."
},
"actionSheetOptionUnstarMessage": "Зняти позначку зірочки з повідомлення",
"actionSheetOptionUnstarMessage": "Зняти позначку зірки з повідомлення",
"@actionSheetOptionUnstarMessage": {
"description": "Label for unstar button on action sheet."
},
Expand Down Expand Up @@ -51,11 +51,11 @@
"@errorSharingFailed": {
"description": "Error message when sharing a message failed."
},
"errorStarMessageFailedTitle": "Не вдалося позначити повідомлення зірочкою",
"errorStarMessageFailedTitle": "Не вдалося позначити повідомлення зіркою",
"@errorStarMessageFailedTitle": {
"description": "Error title when starring a message failed."
},
"errorUnstarMessageFailedTitle": "Не вдалося зняти позначку зірочки з повідомлення",
"errorUnstarMessageFailedTitle": "Не вдалося зняти позначку зірки з повідомлення",
"@errorUnstarMessageFailedTitle": {
"description": "Error title when unstarring a message failed."
},
Expand Down Expand Up @@ -157,7 +157,7 @@
"@permissionsDeniedReadExternalStorage": {
"description": "Message for dialog asking the user to grant permissions for external storage read access."
},
"actionSheetOptionStarMessage": "Позначити повідомлення зірочкою",
"actionSheetOptionStarMessage": "Вибрати повідомлення",
"@actionSheetOptionStarMessage": {
"description": "Label for star button on action sheet."
},
Expand Down Expand Up @@ -315,7 +315,7 @@
}
}
},
"composeBoxGroupDmContentHint": "Група повідомлень",
"composeBoxGroupDmContentHint": "Написати групі",
"@composeBoxGroupDmContentHint": {
"description": "Hint text for content input when sending a message to a group."
},
Expand Down Expand Up @@ -691,7 +691,7 @@
"@mentionsPageTitle": {
"description": "Page title for the 'Mentions' message view."
},
"starredMessagesPageTitle": "Повідомлення, позначені зірочкою",
"starredMessagesPageTitle": "Вибрані повідомлення",
"@starredMessagesPageTitle": {
"description": "Page title for the 'Starred messages' message view."
},
Expand Down Expand Up @@ -955,7 +955,7 @@
"@recentDmConversationsPageTitle": {
"description": "Title for the page with a list of DM conversations."
},
"combinedFeedPageTitle": "Комбінована стрічка",
"combinedFeedPageTitle": "Об'єднана стрічка",
"@combinedFeedPageTitle": {
"description": "Page title for the 'Combined feed' message view."
},
Expand Down
18 changes: 18 additions & 0 deletions lib/api/model/model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,24 @@ class ZulipStream {
required this.streamWeeklyTraffic,
});

/// Construct a plain [ZulipStream] from [subscription].
factory ZulipStream.fromSubscription(Subscription subscription) {
return ZulipStream(
streamId: subscription.streamId,
name: subscription.name,
description: subscription.description,
renderedDescription: subscription.renderedDescription,
dateCreated: subscription.dateCreated,
firstMessageId: subscription.firstMessageId,
inviteOnly: subscription.inviteOnly,
isWebPublic: subscription.isWebPublic,
historyPublicToSubscribers: subscription.historyPublicToSubscribers,
messageRetentionDays: subscription.messageRetentionDays,
channelPostPolicy: subscription.channelPostPolicy,
streamWeeklyTraffic: subscription.streamWeeklyTraffic,
);
}

factory ZulipStream.fromJson(Map<String, dynamic> json) =>
_$ZulipStreamFromJson(json);

Expand Down
14 changes: 7 additions & 7 deletions lib/generated/l10n/zulip_localizations_uk.dart
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,10 @@ class ZulipLocalizationsUk extends ZulipLocalizations {
String get actionSheetOptionQuoteAndReply => 'Цитата і відповідь';

@override
String get actionSheetOptionStarMessage => 'Позначити повідомлення зірочкою';
String get actionSheetOptionStarMessage => 'Вибрати повідомлення';

@override
String get actionSheetOptionUnstarMessage => 'Зняти позначку зірочки з повідомлення';
String get actionSheetOptionUnstarMessage => 'Зняти позначку зірки з повідомлення';

@override
String get actionSheetOptionMarkTopicAsRead => 'Позначити тему як прочитану';
Expand Down Expand Up @@ -241,10 +241,10 @@ class ZulipLocalizationsUk extends ZulipLocalizations {
String get errorSharingFailed => 'Поширення не вдалося';

@override
String get errorStarMessageFailedTitle => 'Не вдалося позначити повідомлення зірочкою';
String get errorStarMessageFailedTitle => 'Не вдалося позначити повідомлення зіркою';

@override
String get errorUnstarMessageFailedTitle => 'Не вдалося зняти позначку зірочки з повідомлення';
String get errorUnstarMessageFailedTitle => 'Не вдалося зняти позначку зірки з повідомлення';

@override
String get successLinkCopied => 'Посилання скопійовано';
Expand Down Expand Up @@ -279,7 +279,7 @@ class ZulipLocalizationsUk extends ZulipLocalizations {
}

@override
String get composeBoxGroupDmContentHint => 'Група повідомлень';
String get composeBoxGroupDmContentHint => 'Написати групі';

@override
String get composeBoxSelfDmContentHint => 'Занотувати щось';
Expand Down Expand Up @@ -536,13 +536,13 @@ class ZulipLocalizationsUk extends ZulipLocalizations {
String get recentDmConversationsSectionHeader => 'Особисті повідомлення';

@override
String get combinedFeedPageTitle => 'Комбінована стрічка';
String get combinedFeedPageTitle => 'Об\'єднана стрічка';

@override
String get mentionsPageTitle => 'Згадки';

@override
String get starredMessagesPageTitle => 'Повідомлення, позначені зірочкою';
String get starredMessagesPageTitle => 'Вибрані повідомлення';

@override
String get channelsPageTitle => 'Канали';
Expand Down
11 changes: 10 additions & 1 deletion lib/model/channel.dart
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,16 @@ class ChannelStoreImpl with ChannelStore {

case SubscriptionRemoveEvent():
for (final streamId in event.streamIds) {
subscriptions.remove(streamId);
assert(streams.containsKey(streamId));
assert(streams[streamId] is Subscription);
assert(streamsByName.containsKey(streams[streamId]!.name));
assert(streamsByName[streams[streamId]!.name] is Subscription);
assert(subscriptions.containsKey(streamId));
final subscription = subscriptions.remove(streamId);
if (subscription == null) continue; // TODO(log)
final stream = ZulipStream.fromSubscription(subscription);
streams[streamId] = stream;
streamsByName[subscription.name] = stream;
}

case SubscriptionUpdateEvent():
Expand Down
32 changes: 13 additions & 19 deletions lib/model/content.dart
Original file line number Diff line number Diff line change
Expand Up @@ -341,8 +341,8 @@ class CodeBlockSpanNode extends ContentNode {
}
}

class MathBlockNode extends BlockContentNode {
const MathBlockNode({
abstract class MathNode extends ContentNode {
const MathNode({
super.debugHtmlNode,
required this.texSource,
required this.nodes,
Expand Down Expand Up @@ -402,6 +402,14 @@ class KatexNode extends ContentNode {
}
}

class MathBlockNode extends MathNode implements BlockContentNode {
const MathBlockNode({
super.debugHtmlNode,
required super.texSource,
required super.nodes,
});
}

class ImageNodeList extends BlockContentNode {
const ImageNodeList(this.images, {super.debugHtmlNode});

Expand Down Expand Up @@ -863,26 +871,12 @@ class ImageEmojiNode extends EmojiNode {
}
}

class MathInlineNode extends InlineContentNode {
class MathInlineNode extends MathNode implements InlineContentNode {
const MathInlineNode({
super.debugHtmlNode,
required this.texSource,
required this.nodes,
required super.texSource,
required super.nodes,
});

final String texSource;
final List<KatexNode>? nodes;

@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(StringProperty('texSource', texSource));
}

@override
List<DiagnosticsNode> debugDescribeChildren() {
return nodes?.map((node) => node.toDiagnosticsNode()).toList() ?? const [];
}
}

class GlobalTimeNode extends InlineContentNode {
Expand Down
Loading