Codex review

This commit is contained in:
ZIER 2026-03-11 08:16:25 +01:00
parent db993761a5
commit b6969e2a33
17 changed files with 55 additions and 64 deletions

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Покажи споделени маркери",
"map_lastSeenTime": "Последна видяна дата",
"map_sharedPin": "Споделено копие",
"map_sharedAt": "Споделено",
"map_joinRoom": "Присъедини се към стаята",
"map_manageRepeater": "Управление на Повтарящ се Елемент",
"mapCache_title": "Кеш на офлайн карти",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Zeige gemeinsam genutzte Marker",
"map_lastSeenTime": "Letzte Sichtung",
"map_sharedPin": "Gemeinsames Passwort",
"map_sharedAt": "Geteilt",
"map_joinRoom": "Beitreten Sie dem Raum",
"map_manageRepeater": "Repeater verwalten",
"mapCache_title": "Offline-Karten-Cache",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Mostrar marcadores compartidos",
"map_lastSeenTime": "Última vez que se vio",
"map_sharedPin": "Pin compartido",
"map_sharedAt": "Compartido",
"map_joinRoom": "Únete a la sala",
"map_manageRepeater": "Gestionar Repetidor",
"mapCache_title": "Caché de Mapa Offline",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Afficher les marqueurs partagés",
"map_lastSeenTime": "Dernière fois vu",
"map_sharedPin": "Clé partagée",
"map_sharedAt": "Partagé",
"map_joinRoom": "Rejoindre la salle",
"map_manageRepeater": "Gérer le répéteur",
"mapCache_title": "Cache de Carte Hors Ligne",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Mostra i segnaposto condivisi",
"map_lastSeenTime": "Ultimo Tempo di Visualizzazione",
"map_sharedPin": "Condividi PIN",
"map_sharedAt": "Condiviso",
"map_joinRoom": "Unisciti alla stanza",
"map_manageRepeater": "Gestisci Ripetitore",
"mapCache_title": "Cache Mappa Offline",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Toon gedeelde markeringen",
"map_lastSeenTime": "Laatste Bekeken Tijd",
"map_sharedPin": "Gedeelde pin",
"map_sharedAt": "Gedeeld",
"map_joinRoom": "Sluit Kamer",
"map_manageRepeater": "Beheer Repeater",
"mapCache_title": "Offline Kaarten Cache",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Pokaż współdzielone znaki.",
"map_lastSeenTime": "Ostatni raz widiany",
"map_sharedPin": "Podzielony PIN",
"map_sharedAt": "Udostępnione",
"map_joinRoom": "Dołącz do pokoju",
"map_manageRepeater": "Zarządzaj Powtórzami",
"mapCache_title": "Bufor Map Offline",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Mostrar marcadores compartilhados",
"map_lastSeenTime": "Último Tempo de Visualização",
"map_sharedPin": "Pin compartilhado",
"map_sharedAt": "Compartilhado",
"map_joinRoom": "Junte-se à Sala",
"map_manageRepeater": "Gerenciar Repetidor",
"mapCache_title": "Cache de Mapa Offline",

View file

@ -399,6 +399,7 @@
"map_showSharedMarkers": "Показывать общие метки",
"map_lastSeenTime": "Время последнего появления",
"map_sharedPin": "Общая метка",
"map_sharedAt": "Поделено",
"map_joinRoom": "Присоединиться к комнате",
"map_manageRepeater": "Управление репитером",
"mapCache_title": "Кэш офлайн-карты",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Zobraziť zdieľané značky",
"map_lastSeenTime": "Posledný čas sledovania",
"map_sharedPin": "Zdieľaný PIN",
"map_sharedAt": "Zdieľané",
"map_joinRoom": "Pripojiť miestnosť",
"map_manageRepeater": "Spravovať Opakovanie",
"mapCache_title": "Offline Mapa Pamäť",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Pokaži skupno označenja",
"map_lastSeenTime": "Datum zadnjega vpogleda",
"map_sharedPin": "Deljeno naslovno geslo",
"map_sharedAt": "Deljeno",
"map_joinRoom": "Pridružiti sobo",
"map_manageRepeater": "Upravljajte Ponovitve",
"mapCache_title": "Omrezni predpomnilnik zemljeških zemljejevskih slik",

View file

@ -684,6 +684,7 @@
"map_showSharedMarkers": "Visa delade markörer",
"map_lastSeenTime": "Senaste Visats Tid",
"map_sharedPin": "Delad PIN",
"map_sharedAt": "Delad",
"map_joinRoom": "Gå med i rum",
"map_manageRepeater": "Hantera Upprepare",
"mapCache_title": "Offline Kartcache",

View file

@ -685,6 +685,7 @@
"map_showSharedMarkers": "Показувати спільні маркери",
"map_lastSeenTime": "Час останньої активності",
"map_sharedPin": "Спільний пін",
"map_sharedAt": "Поділено",
"map_joinRoom": "Приєднатися до кімнати",
"map_manageRepeater": "Керувати ретранслятором",
"mapCache_title": "Офлайн-кеш карти",

View file

@ -482,6 +482,9 @@
"chat_sendGif": "发送 GIF",
"chat_reply": "回复",
"chat_addReaction": "添加表情",
"chat_insertEmoji": "插入表情",
"chat_shareLocation": "分享位置",
"chat_locationUnavailable": "位置不可用",
"chat_me": "我",
"emojiCategorySmileys": "表情",
"emojiCategoryGestures": "手势",
@ -708,6 +711,7 @@
"map_showSharedMarkers": "显示共享标记",
"map_lastSeenTime": "最后在线时间",
"map_sharedPin": "共享标记",
"map_sharedAt": "已分享",
"map_joinRoom": "加入房间",
"map_manageRepeater": "管理转发节点",
"mapCache_title": "离线地图缓存",

View file

@ -904,6 +904,7 @@ class _ChannelChatScreenState extends State<ChannelChatScreen> {
);
if (label == null || label.isEmpty) return;
label = label.replaceAll('|', '/');
if (!mounted) return;
@ -921,15 +922,17 @@ class _ChannelChatScreenState extends State<ChannelChatScreen> {
String _truncateToUtf8Bytes(String text, int maxBytes) {
if (maxBytes <= 0) return '';
final codeUnits = text.codeUnits;
var end = codeUnits.length;
while (end > 0 &&
utf8.encode(String.fromCharCodes(codeUnits.take(end))).length >
maxBytes) {
end--;
final buffer = StringBuffer();
var usedBytes = 0;
for (final rune in text.runes) {
final character = String.fromCharCode(rune);
final characterBytes = utf8.encode(character).length;
if (usedBytes + characterBytes > maxBytes) break;
buffer.write(character);
usedBytes += characterBytes;
}
return String.fromCharCodes(codeUnits.take(end));
return buffer.toString();
}
Widget _buildAvatar(String senderName) {
@ -1067,8 +1070,8 @@ class _ChannelChatScreenState extends State<ChannelChatScreen> {
child: Row(
children: [
PopupMenuButton<_ChannelChatInputAction>(
icon: const Icon(Icons.add),
tooltip: context.l10n.chat_sendGif,
icon: const Icon(Icons.add_circle_outline),
tooltip: context.l10n.common_add,
offset: const Offset(0, -8),
onSelected: (action) {
if (action == _ChannelChatInputAction.sendGif) {

View file

@ -346,8 +346,8 @@ class _ChatScreenState extends State<ChatScreen> {
child: Row(
children: [
PopupMenuButton<_ChatInputAction>(
icon: const Icon(Icons.add),
tooltip: context.l10n.chat_sendGif,
icon: const Icon(Icons.add_circle_outline),
tooltip: context.l10n.common_add,
offset: const Offset(0, -8),
onSelected: (action) {
if (action == _ChatInputAction.sendGif) {
@ -553,7 +553,7 @@ class _ChatScreenState extends State<ChatScreen> {
);
if (label == null || label.isEmpty) return;
label = label.replaceAll('|', '/');
if (!mounted) return;
final markerText =
@ -570,15 +570,17 @@ class _ChatScreenState extends State<ChatScreen> {
String _truncateToUtf8Bytes(String text, int maxBytes) {
if (maxBytes <= 0) return '';
final codeUnits = text.codeUnits;
var end = codeUnits.length;
while (end > 0 &&
utf8.encode(String.fromCharCodes(codeUnits.take(end))).length >
maxBytes) {
end--;
final buffer = StringBuffer();
var usedBytes = 0;
for (final rune in text.runes) {
final character = String.fromCharCode(rune);
final characterBytes = utf8.encode(character).length;
if (usedBytes + characterBytes > maxBytes) break;
buffer.write(character);
usedBytes += characterBytes;
}
return String.fromCharCodes(codeUnits.take(end));
return buffer.toString();
}
void _showGifPicker(BuildContext context) {

View file

@ -1,60 +1,29 @@
{
"bg": [
"map_sharedAt"
],
"bg": [],
"de": [
"map_sharedAt"
],
"de": [],
"es": [
"map_sharedAt"
],
"es": [],
"fr": [
"map_sharedAt"
],
"fr": [],
"it": [
"map_sharedAt"
],
"it": [],
"nl": [
"map_sharedAt"
],
"nl": [],
"pl": [
"map_sharedAt"
],
"pl": [],
"pt": [
"map_sharedAt"
],
"pt": [],
"ru": [
"map_sharedAt"
],
"ru": [],
"sk": [
"map_sharedAt"
],
"sk": [],
"sl": [
"map_sharedAt"
],
"sl": [],
"sv": [
"map_sharedAt"
],
"sv": [],
"uk": [
"map_sharedAt"
],
"uk": [],
"zh": [
"chat_insertEmoji",
"chat_shareLocation",
"chat_locationUnavailable",
"map_sharedAt"
]
"zh": []
}