chore: update translations

This commit is contained in:
2025-05-28 13:51:47 +01:00
parent b854962b07
commit 5789d9a7a1
62 changed files with 336 additions and 3887 deletions

View File

@ -16,9 +16,7 @@
<string>6.0</string>
<key>CFBundleLocalizations</key>
<array>
<string>af</string>
<string>ar</string>
<string>ca</string>
<string>cs</string>
<string>da</string>
<string>de</string>
@ -27,22 +25,18 @@
<string>es</string>
<string>fi</string>
<string>fr</string>
<string>he</string>
<string>hu</string>
<string>it</string>
<string>ja</string>
<string>ko</string>
<string>nl</string>
<string>no</string>
<string>pl</string>
<string>pt</string>
<string>ro</string>
<string>ru</string>
<string>sr</string>
<string>sv</string>
<string>tr</string>
<string>uk</string>
<string>vi</string>
<string>zh</string>
</array>
<key>CFBundleName</key>

View File

@ -3,10 +3,10 @@
/// Source: lib/i18n
/// To regenerate, run: `dart run slang`
///
/// Locales: 28
/// Strings: 1991 (71 per locale)
/// Locales: 22
/// Strings: 1628 (74 per locale)
///
/// Built on 2025-05-28 at 12:24 UTC
/// Built on 2025-05-28 at 12:41 UTC
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
@ -17,9 +17,7 @@ import 'package:slang/generated.dart';
import 'package:slang_flutter/slang_flutter.dart';
export 'package:slang_flutter/slang_flutter.dart';
import 'strings_af.g.dart' deferred as l_af;
import 'strings_ar.g.dart' deferred as l_ar;
import 'strings_ca.g.dart' deferred as l_ca;
import 'strings_cs.g.dart' deferred as l_cs;
import 'strings_da.g.dart' deferred as l_da;
import 'strings_de.g.dart' deferred as l_de;
@ -27,22 +25,18 @@ import 'strings_el.g.dart' deferred as l_el;
import 'strings_es.g.dart' deferred as l_es;
import 'strings_fi.g.dart' deferred as l_fi;
import 'strings_fr.g.dart' deferred as l_fr;
import 'strings_he.g.dart' deferred as l_he;
import 'strings_hu.g.dart' deferred as l_hu;
import 'strings_it.g.dart' deferred as l_it;
import 'strings_ja.g.dart' deferred as l_ja;
import 'strings_ko.g.dart' deferred as l_ko;
import 'strings_nl.g.dart' deferred as l_nl;
import 'strings_no.g.dart' deferred as l_no;
import 'strings_pl.g.dart' deferred as l_pl;
import 'strings_pt.g.dart' deferred as l_pt;
import 'strings_ro.g.dart' deferred as l_ro;
import 'strings_ru.g.dart' deferred as l_ru;
import 'strings_sr.g.dart' deferred as l_sr;
import 'strings_sv.g.dart' deferred as l_sv;
import 'strings_tr.g.dart' deferred as l_tr;
import 'strings_uk.g.dart' deferred as l_uk;
import 'strings_vi.g.dart' deferred as l_vi;
import 'strings_zh.g.dart' deferred as l_zh;
part 'strings_en.g.dart';
@ -54,9 +48,7 @@ part 'strings_en.g.dart';
/// - if (LocaleSettings.currentLocale == AppLocale.en) // locale check
enum AppLocale with BaseAppLocale<AppLocale, Translations> {
en(languageCode: 'en'),
af(languageCode: 'af'),
ar(languageCode: 'ar'),
ca(languageCode: 'ca'),
cs(languageCode: 'cs'),
da(languageCode: 'da'),
de(languageCode: 'de'),
@ -64,22 +56,18 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
es(languageCode: 'es'),
fi(languageCode: 'fi'),
fr(languageCode: 'fr'),
he(languageCode: 'he'),
hu(languageCode: 'hu'),
it(languageCode: 'it'),
ja(languageCode: 'ja'),
ko(languageCode: 'ko'),
nl(languageCode: 'nl'),
no(languageCode: 'no'),
pl(languageCode: 'pl'),
pt(languageCode: 'pt'),
ro(languageCode: 'ro'),
ru(languageCode: 'ru'),
sr(languageCode: 'sr'),
sv(languageCode: 'sv'),
tr(languageCode: 'tr'),
uk(languageCode: 'uk'),
vi(languageCode: 'vi'),
zh(languageCode: 'zh');
const AppLocale({
@ -105,13 +93,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.af:
await l_af.loadLibrary();
return l_af.TranslationsAf(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.ar:
await l_ar.loadLibrary();
return l_ar.TranslationsAr(
@ -119,13 +100,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.ca:
await l_ca.loadLibrary();
return l_ca.TranslationsCa(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.cs:
await l_cs.loadLibrary();
return l_cs.TranslationsCs(
@ -175,13 +149,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.he:
await l_he.loadLibrary();
return l_he.TranslationsHe(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.hu:
await l_hu.loadLibrary();
return l_hu.TranslationsHu(
@ -217,13 +184,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.no:
await l_no.loadLibrary();
return l_no.TranslationsNo(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.pl:
await l_pl.loadLibrary();
return l_pl.TranslationsPl(
@ -252,13 +212,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.sr:
await l_sr.loadLibrary();
return l_sr.TranslationsSr(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.sv:
await l_sv.loadLibrary();
return l_sv.TranslationsSv(
@ -280,13 +233,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.vi:
await l_vi.loadLibrary();
return l_vi.TranslationsVi(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.zh:
await l_zh.loadLibrary();
return l_zh.TranslationsZh(
@ -310,24 +256,12 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.af:
return l_af.TranslationsAf(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.ar:
return l_ar.TranslationsAr(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.ca:
return l_ca.TranslationsCa(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.cs:
return l_cs.TranslationsCs(
overrides: overrides,
@ -370,12 +304,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.he:
return l_he.TranslationsHe(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.hu:
return l_hu.TranslationsHu(
overrides: overrides,
@ -406,12 +334,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.no:
return l_no.TranslationsNo(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.pl:
return l_pl.TranslationsPl(
overrides: overrides,
@ -436,12 +358,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.sr:
return l_sr.TranslationsSr(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.sv:
return l_sv.TranslationsSv(
overrides: overrides,
@ -460,12 +376,6 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.vi:
return l_vi.TranslationsVi(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.zh:
return l_zh.TranslationsZh(
overrides: overrides,

View File

@ -1,463 +0,0 @@
///
/// Generated file. Do not edit.
///
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:slang/generated.dart';
import 'strings.g.dart';
// Path: <root>
class TranslationsAf extends Translations {
/// You can call this constructor and build your own translation instance of this locale.
/// Constructing via the enum [AppLocale.build] is preferred.
TranslationsAf({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
$meta = meta ?? TranslationMetadata(
locale: AppLocale.af,
overrides: overrides ?? {},
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
),
super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
$meta.setFlatMapFunction(_flatMapFunction);
}
/// Metadata for the translations of <af>.
@override final TranslationMetadata<AppLocale, Translations> $meta;
/// Access flat map
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
late final TranslationsAf _root = this; // ignore: unused_field
@override
TranslationsAf $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsAf(meta: meta ?? this.$meta);
// Translations
/// Text prompting user to hit avatar placeholder to begin upload
@override String get upload_avatar => 'Upload Avatar';
/// Heading over listed top streamers by zaps
@override String get most_zapped_streamers => 'Most Zapped Streamers';
/// No user found when searching
@override String get no_user_found => 'No user found';
/// An anonymous user
@override String get anon => 'Anon';
/// Number of viewers of the stream
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('af'))(n,
one: '1 viewer',
other: '${n} viewers',
);
@override late final _TranslationsStreamAf stream = _TranslationsStreamAf._(_root);
@override late final _TranslationsGoalAf goal = _TranslationsGoalAf._(_root);
@override late final _TranslationsButtonAf button = _TranslationsButtonAf._(_root);
@override late final _TranslationsEmbedAf embed = _TranslationsEmbedAf._(_root);
/// Headings on stream lists by stream type live/ended/planned etc.
@override late final _TranslationsStreamListAf stream_list = _TranslationsStreamListAf._(_root);
@override late final _TranslationsZapAf zap = _TranslationsZapAf._(_root);
@override late final _TranslationsProfileAf profile = _TranslationsProfileAf._(_root);
@override late final _TranslationsSettingsAf settings = _TranslationsSettingsAf._(_root);
@override late final _TranslationsLoginAf login = _TranslationsLoginAf._(_root);
}
// Path: stream
class _TranslationsStreamAf extends TranslationsStreamEn {
_TranslationsStreamAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override late final _TranslationsStreamStatusAf status = _TranslationsStreamStatusAf._(_root);
@override String started({required Object timestamp}) => 'Started ${timestamp}';
@override late final _TranslationsStreamChatAf chat = _TranslationsStreamChatAf._(_root);
}
// Path: goal
class _TranslationsGoalAf extends TranslationsGoalEn {
_TranslationsGoalAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String title({required Object amount}) => 'Goal: ${amount}';
@override String remaining({required Object amount}) => 'Remaining: ${amount}';
@override String get complete => 'COMPLETE';
}
// Path: button
class _TranslationsButtonAf extends TranslationsButtonEn {
_TranslationsButtonAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
/// Button text for the login button
@override String get login => 'Login';
@override String get logout => 'Logout';
@override String get edit_profile => 'Edit Profile';
/// Button text for the follow button
@override String get follow => 'Follow';
/// Button text for the unfollow button
@override String get unfollow => 'Unfollow';
@override String get mute => 'Mute';
@override String get unmute => 'Unmute';
@override String get share => 'Share';
@override String get save => 'Save';
@override String get connect => 'Connect';
@override String get settings => 'Settings';
}
// Path: embed
class _TranslationsEmbedAf extends TranslationsEmbedEn {
_TranslationsEmbedAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String article_by({required Object name}) => 'Article by ${name}';
@override String note_by({required Object name}) => 'Note by ${name}';
@override String live_stream_by({required Object name}) => 'Live stream by ${name}';
}
// Path: stream_list
class _TranslationsStreamListAf extends TranslationsStreamListEn {
_TranslationsStreamListAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get following => 'Following';
@override String get live => 'Live';
@override String get planned => 'Planned';
@override String get ended => 'Ended';
}
// Path: zap
class _TranslationsZapAf extends TranslationsZapEn {
_TranslationsZapAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String title({required Object name}) => 'Zap ${name}';
@override String get custom_amount => 'Custom Amount';
@override String get confirm => 'Confirm';
@override String get comment => 'Comment';
@override String button_zap_ready({required Object amount}) => 'Zap ${amount} sats';
@override String get button_zap => 'Zap';
@override String get button_open_wallet => 'Open in Wallet';
@override String get button_connect_wallet => 'Connect Wallet';
@override String get copy => 'Copied to clipboard';
@override late final _TranslationsZapErrorAf error = _TranslationsZapErrorAf._(_root);
}
// Path: profile
class _TranslationsProfileAf extends TranslationsProfileEn {
_TranslationsProfileAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get past_streams => 'Past Streams';
}
// Path: settings
class _TranslationsSettingsAf extends TranslationsSettingsEn {
_TranslationsSettingsAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get button_profile => 'Edit Profile';
@override String get button_wallet => 'Wallet Settings';
@override late final _TranslationsSettingsProfileAf profile = _TranslationsSettingsProfileAf._(_root);
@override late final _TranslationsSettingsWalletAf wallet = _TranslationsSettingsWalletAf._(_root);
}
// Path: login
class _TranslationsLoginAf extends TranslationsLoginEn {
_TranslationsLoginAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get username => 'Username';
@override String get amber => 'Login with Amber';
@override String get key => 'Login with Key';
@override String get create => 'Create Account';
@override late final _TranslationsLoginErrorAf error = _TranslationsLoginErrorAf._(_root);
}
// Path: stream.status
class _TranslationsStreamStatusAf extends TranslationsStreamStatusEn {
_TranslationsStreamStatusAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get live => 'LIVE';
@override String get ended => 'ENDED';
@override String get planned => 'PLANNED';
}
// Path: stream.chat
class _TranslationsStreamChatAf extends TranslationsStreamChatEn {
_TranslationsStreamChatAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get disabled => 'CHAT DISABLED';
@override String disabled_timeout({required Object time}) => 'Timeout expires: ${time}';
/// Chat message showing timeout events
@override TextSpan timeout({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
/// Stream ended footer at bottom of chat
@override String get ended => 'STREAM ENDED';
/// Chat message showing stream zaps
@override TextSpan zap({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
@override late final _TranslationsStreamChatWriteAf write = _TranslationsStreamChatWriteAf._(_root);
@override late final _TranslationsStreamChatBadgeAf badge = _TranslationsStreamChatBadgeAf._(_root);
@override late final _TranslationsStreamChatRaidAf raid = _TranslationsStreamChatRaidAf._(_root);
}
// Path: zap.error
class _TranslationsZapErrorAf extends TranslationsZapErrorEn {
_TranslationsZapErrorAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get invalid_custom_amount => 'Invalid custom amount';
@override String get no_wallet => 'No lightning wallet installed';
@override String get no_lud16 => 'No lightning address found';
}
// Path: settings.profile
class _TranslationsSettingsProfileAf extends TranslationsSettingsProfileEn {
_TranslationsSettingsProfileAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get display_name => 'Display Name';
@override String get about => 'About';
@override String get nip05 => 'Nostr Address';
@override String get lud16 => 'Lightning Address';
@override late final _TranslationsSettingsProfileErrorAf error = _TranslationsSettingsProfileErrorAf._(_root);
}
// Path: settings.wallet
class _TranslationsSettingsWalletAf extends TranslationsSettingsWalletEn {
_TranslationsSettingsWalletAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Connect Wallet (NWC nwc://)';
@override String get disconnect_wallet => 'Disconnect Wallet';
@override late final _TranslationsSettingsWalletErrorAf error = _TranslationsSettingsWalletErrorAf._(_root);
}
// Path: login.error
class _TranslationsLoginErrorAf extends TranslationsLoginErrorEn {
_TranslationsLoginErrorAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get invalid_key => 'Invalid key';
}
// Path: stream.chat.write
class _TranslationsStreamChatWriteAf extends TranslationsStreamChatWriteEn {
_TranslationsStreamChatWriteAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
/// Label on the chat message input box
@override String get label => 'Write message';
/// Chat input message shown when the user is logged in only with pubkey
@override String get no_signer => 'Can\'t write messages with npub login';
/// Chat input message shown when the user is logged out
@override String get login => 'Please login to send messages';
}
// Path: stream.chat.badge
class _TranslationsStreamChatBadgeAf extends TranslationsStreamChatBadgeEn {
_TranslationsStreamChatBadgeAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
/// Heading over list of users who are awarded a badge
@override String get awarded_to => 'Awarded to:';
}
// Path: stream.chat.raid
class _TranslationsStreamChatRaidAf extends TranslationsStreamChatRaidEn {
_TranslationsStreamChatRaidAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
/// Chat raid message to another stream
@override String to({required Object name}) => 'RAIDING ${name}';
/// Chat raid message from another stream
@override String from({required Object name}) => 'RAID FROM ${name}';
/// Countdown timer for auto-raiding
@override String countdown({required Object time}) => 'Raiding in ${time}';
}
// Path: settings.profile.error
class _TranslationsSettingsProfileErrorAf extends TranslationsSettingsProfileErrorEn {
_TranslationsSettingsProfileErrorAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant edit profile when logged out';
}
// Path: settings.wallet.error
class _TranslationsSettingsWalletErrorAf extends TranslationsSettingsWalletErrorEn {
_TranslationsSettingsWalletErrorAf._(TranslationsAf root) : this._root = root, super.internal(root);
final TranslationsAf _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant connect wallet when logged out';
}
/// Flat map(s) containing all translations.
/// Only for edge cases! For simple maps, use the map function of this library.
extension on TranslationsAf {
dynamic _flatMapFunction(String path) {
switch (path) {
case 'upload_avatar': return 'Upload Avatar';
case 'most_zapped_streamers': return 'Most Zapped Streamers';
case 'no_user_found': return 'No user found';
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('af'))(n,
one: '1 viewer',
other: '${n} viewers',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'ENDED';
case 'stream.status.planned': return 'PLANNED';
case 'stream.started': return ({required Object timestamp}) => 'Started ${timestamp}';
case 'stream.chat.disabled': return 'CHAT DISABLED';
case 'stream.chat.disabled_timeout': return ({required Object time}) => 'Timeout expires: ${time}';
case 'stream.chat.timeout': return ({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
case 'stream.chat.ended': return 'STREAM ENDED';
case 'stream.chat.zap': return ({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
case 'stream.chat.write.label': return 'Write message';
case 'stream.chat.write.no_signer': return 'Can\'t write messages with npub login';
case 'stream.chat.write.login': return 'Please login to send messages';
case 'stream.chat.badge.awarded_to': return 'Awarded to:';
case 'stream.chat.raid.to': return ({required Object name}) => 'RAIDING ${name}';
case 'stream.chat.raid.from': return ({required Object name}) => 'RAID FROM ${name}';
case 'stream.chat.raid.countdown': return ({required Object time}) => 'Raiding in ${time}';
case 'goal.title': return ({required Object amount}) => 'Goal: ${amount}';
case 'goal.remaining': return ({required Object amount}) => 'Remaining: ${amount}';
case 'goal.complete': return 'COMPLETE';
case 'button.login': return 'Login';
case 'button.logout': return 'Logout';
case 'button.edit_profile': return 'Edit Profile';
case 'button.follow': return 'Follow';
case 'button.unfollow': return 'Unfollow';
case 'button.mute': return 'Mute';
case 'button.unmute': return 'Unmute';
case 'button.share': return 'Share';
case 'button.save': return 'Save';
case 'button.connect': return 'Connect';
case 'button.settings': return 'Settings';
case 'embed.article_by': return ({required Object name}) => 'Article by ${name}';
case 'embed.note_by': return ({required Object name}) => 'Note by ${name}';
case 'embed.live_stream_by': return ({required Object name}) => 'Live stream by ${name}';
case 'stream_list.following': return 'Following';
case 'stream_list.live': return 'Live';
case 'stream_list.planned': return 'Planned';
case 'stream_list.ended': return 'Ended';
case 'zap.title': return ({required Object name}) => 'Zap ${name}';
case 'zap.custom_amount': return 'Custom Amount';
case 'zap.confirm': return 'Confirm';
case 'zap.comment': return 'Comment';
case 'zap.button_zap_ready': return ({required Object amount}) => 'Zap ${amount} sats';
case 'zap.button_zap': return 'Zap';
case 'zap.button_open_wallet': return 'Open in Wallet';
case 'zap.button_connect_wallet': return 'Connect Wallet';
case 'zap.copy': return 'Copied to clipboard';
case 'zap.error.invalid_custom_amount': return 'Invalid custom amount';
case 'zap.error.no_wallet': return 'No lightning wallet installed';
case 'zap.error.no_lud16': return 'No lightning address found';
case 'profile.past_streams': return 'Past Streams';
case 'settings.button_profile': return 'Edit Profile';
case 'settings.button_wallet': return 'Wallet Settings';
case 'settings.profile.display_name': return 'Display Name';
case 'settings.profile.about': return 'About';
case 'settings.profile.nip05': return 'Nostr Address';
case 'settings.profile.lud16': return 'Lightning Address';
case 'settings.profile.error.logged_out': return 'Cant edit profile when logged out';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nwc://)';
case 'settings.wallet.disconnect_wallet': return 'Disconnect Wallet';
case 'settings.wallet.error.logged_out': return 'Cant connect wallet when logged out';
case 'login.username': return 'Username';
case 'login.amber': return 'Login with Amber';
case 'login.key': return 'Login with Key';
case 'login.create': return 'Create Account';
case 'login.error.invalid_key': return 'Invalid key';
default: return null;
}
}
}

View File

@ -54,7 +54,7 @@ class TranslationsAr extends Translations {
/// عدد مشاهدي البث
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ar'))(n,
one: '1 مشاهد',
other: '${n} المشاهدون',
other: '${NumberFormat.decimalPattern('ar').format(n)} المشاهدين',
);
@override late final _TranslationsStreamAr stream = _TranslationsStreamAr._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletAr extends TranslationsSettingsWalletEn {
final TranslationsAr _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'توصيل المحفظة (NWC nwc://)';
@override String get connect_wallet => 'توصيل المحفظة (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'محفظة قطع الاتصال';
@override String get connect_1tap => '1-التوصيل بنقرة 1';
@override String get paste => 'لصق عنوان URL';
@override late final _TranslationsSettingsWalletErrorAr error = _TranslationsSettingsWalletErrorAr._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorAr extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'لا يمكن الاتصال بالمحفظة عند تسجيل الخروج';
@override String get nwc_auth_event_not_found => 'لم يتم العثور على حدث مصادقة المحفظة';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsAr {
case 'anon': return 'هوية مخفية';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ar'))(n,
one: '1 مشاهد',
other: '${n} المشاهدون',
other: '${NumberFormat.decimalPattern('ar').format(n)} المشاهدين',
);
case 'stream.status.live': return 'بث مباشر';
case 'stream.status.ended': return 'انتهى';
@ -448,9 +451,12 @@ extension on TranslationsAr {
case 'settings.profile.nip05': return 'عنوان نوستر';
case 'settings.profile.lud16': return 'عنوان البرق';
case 'settings.profile.error.logged_out': return 'لا يمكن تحرير ملف التعريف عند تسجيل الخروج';
case 'settings.wallet.connect_wallet': return 'توصيل المحفظة (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'توصيل المحفظة (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'محفظة قطع الاتصال';
case 'settings.wallet.connect_1tap': return '1-التوصيل بنقرة 1';
case 'settings.wallet.paste': return 'لصق عنوان URL';
case 'settings.wallet.error.logged_out': return 'لا يمكن الاتصال بالمحفظة عند تسجيل الخروج';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'لم يتم العثور على حدث مصادقة المحفظة';
case 'login.username': return 'اسم المستخدم';
case 'login.amber': return 'تسجيل الدخول مع آمبر';
case 'login.key': return 'تسجيل الدخول بالمفتاح';

View File

@ -1,463 +0,0 @@
///
/// Generated file. Do not edit.
///
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:slang/generated.dart';
import 'strings.g.dart';
// Path: <root>
class TranslationsCa extends Translations {
/// You can call this constructor and build your own translation instance of this locale.
/// Constructing via the enum [AppLocale.build] is preferred.
TranslationsCa({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
$meta = meta ?? TranslationMetadata(
locale: AppLocale.ca,
overrides: overrides ?? {},
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
),
super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
$meta.setFlatMapFunction(_flatMapFunction);
}
/// Metadata for the translations of <ca>.
@override final TranslationMetadata<AppLocale, Translations> $meta;
/// Access flat map
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
late final TranslationsCa _root = this; // ignore: unused_field
@override
TranslationsCa $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsCa(meta: meta ?? this.$meta);
// Translations
/// Text prompting user to hit avatar placeholder to begin upload
@override String get upload_avatar => 'Upload Avatar';
/// Heading over listed top streamers by zaps
@override String get most_zapped_streamers => 'Most Zapped Streamers';
/// No user found when searching
@override String get no_user_found => 'No user found';
/// An anonymous user
@override String get anon => 'Anon';
/// Number of viewers of the stream
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ca'))(n,
one: '1 viewer',
other: '${n} viewers',
);
@override late final _TranslationsStreamCa stream = _TranslationsStreamCa._(_root);
@override late final _TranslationsGoalCa goal = _TranslationsGoalCa._(_root);
@override late final _TranslationsButtonCa button = _TranslationsButtonCa._(_root);
@override late final _TranslationsEmbedCa embed = _TranslationsEmbedCa._(_root);
/// Headings on stream lists by stream type live/ended/planned etc.
@override late final _TranslationsStreamListCa stream_list = _TranslationsStreamListCa._(_root);
@override late final _TranslationsZapCa zap = _TranslationsZapCa._(_root);
@override late final _TranslationsProfileCa profile = _TranslationsProfileCa._(_root);
@override late final _TranslationsSettingsCa settings = _TranslationsSettingsCa._(_root);
@override late final _TranslationsLoginCa login = _TranslationsLoginCa._(_root);
}
// Path: stream
class _TranslationsStreamCa extends TranslationsStreamEn {
_TranslationsStreamCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override late final _TranslationsStreamStatusCa status = _TranslationsStreamStatusCa._(_root);
@override String started({required Object timestamp}) => 'Started ${timestamp}';
@override late final _TranslationsStreamChatCa chat = _TranslationsStreamChatCa._(_root);
}
// Path: goal
class _TranslationsGoalCa extends TranslationsGoalEn {
_TranslationsGoalCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String title({required Object amount}) => 'Goal: ${amount}';
@override String remaining({required Object amount}) => 'Remaining: ${amount}';
@override String get complete => 'COMPLETE';
}
// Path: button
class _TranslationsButtonCa extends TranslationsButtonEn {
_TranslationsButtonCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
/// Button text for the login button
@override String get login => 'Login';
@override String get logout => 'Logout';
@override String get edit_profile => 'Edit Profile';
/// Button text for the follow button
@override String get follow => 'Follow';
/// Button text for the unfollow button
@override String get unfollow => 'Unfollow';
@override String get mute => 'Mute';
@override String get unmute => 'Unmute';
@override String get share => 'Share';
@override String get save => 'Save';
@override String get connect => 'Connect';
@override String get settings => 'Settings';
}
// Path: embed
class _TranslationsEmbedCa extends TranslationsEmbedEn {
_TranslationsEmbedCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String article_by({required Object name}) => 'Article by ${name}';
@override String note_by({required Object name}) => 'Note by ${name}';
@override String live_stream_by({required Object name}) => 'Live stream by ${name}';
}
// Path: stream_list
class _TranslationsStreamListCa extends TranslationsStreamListEn {
_TranslationsStreamListCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get following => 'Following';
@override String get live => 'Live';
@override String get planned => 'Planned';
@override String get ended => 'Ended';
}
// Path: zap
class _TranslationsZapCa extends TranslationsZapEn {
_TranslationsZapCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String title({required Object name}) => 'Zap ${name}';
@override String get custom_amount => 'Custom Amount';
@override String get confirm => 'Confirm';
@override String get comment => 'Comment';
@override String button_zap_ready({required Object amount}) => 'Zap ${amount} sats';
@override String get button_zap => 'Zap';
@override String get button_open_wallet => 'Open in Wallet';
@override String get button_connect_wallet => 'Connect Wallet';
@override String get copy => 'Copied to clipboard';
@override late final _TranslationsZapErrorCa error = _TranslationsZapErrorCa._(_root);
}
// Path: profile
class _TranslationsProfileCa extends TranslationsProfileEn {
_TranslationsProfileCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get past_streams => 'Past Streams';
}
// Path: settings
class _TranslationsSettingsCa extends TranslationsSettingsEn {
_TranslationsSettingsCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get button_profile => 'Edit Profile';
@override String get button_wallet => 'Wallet Settings';
@override late final _TranslationsSettingsProfileCa profile = _TranslationsSettingsProfileCa._(_root);
@override late final _TranslationsSettingsWalletCa wallet = _TranslationsSettingsWalletCa._(_root);
}
// Path: login
class _TranslationsLoginCa extends TranslationsLoginEn {
_TranslationsLoginCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get username => 'Username';
@override String get amber => 'Login with Amber';
@override String get key => 'Login with Key';
@override String get create => 'Create Account';
@override late final _TranslationsLoginErrorCa error = _TranslationsLoginErrorCa._(_root);
}
// Path: stream.status
class _TranslationsStreamStatusCa extends TranslationsStreamStatusEn {
_TranslationsStreamStatusCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get live => 'LIVE';
@override String get ended => 'ENDED';
@override String get planned => 'PLANNED';
}
// Path: stream.chat
class _TranslationsStreamChatCa extends TranslationsStreamChatEn {
_TranslationsStreamChatCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get disabled => 'CHAT DISABLED';
@override String disabled_timeout({required Object time}) => 'Timeout expires: ${time}';
/// Chat message showing timeout events
@override TextSpan timeout({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
/// Stream ended footer at bottom of chat
@override String get ended => 'STREAM ENDED';
/// Chat message showing stream zaps
@override TextSpan zap({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
@override late final _TranslationsStreamChatWriteCa write = _TranslationsStreamChatWriteCa._(_root);
@override late final _TranslationsStreamChatBadgeCa badge = _TranslationsStreamChatBadgeCa._(_root);
@override late final _TranslationsStreamChatRaidCa raid = _TranslationsStreamChatRaidCa._(_root);
}
// Path: zap.error
class _TranslationsZapErrorCa extends TranslationsZapErrorEn {
_TranslationsZapErrorCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get invalid_custom_amount => 'Invalid custom amount';
@override String get no_wallet => 'No lightning wallet installed';
@override String get no_lud16 => 'No lightning address found';
}
// Path: settings.profile
class _TranslationsSettingsProfileCa extends TranslationsSettingsProfileEn {
_TranslationsSettingsProfileCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get display_name => 'Display Name';
@override String get about => 'About';
@override String get nip05 => 'Nostr Address';
@override String get lud16 => 'Lightning Address';
@override late final _TranslationsSettingsProfileErrorCa error = _TranslationsSettingsProfileErrorCa._(_root);
}
// Path: settings.wallet
class _TranslationsSettingsWalletCa extends TranslationsSettingsWalletEn {
_TranslationsSettingsWalletCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Connect Wallet (NWC nwc://)';
@override String get disconnect_wallet => 'Disconnect Wallet';
@override late final _TranslationsSettingsWalletErrorCa error = _TranslationsSettingsWalletErrorCa._(_root);
}
// Path: login.error
class _TranslationsLoginErrorCa extends TranslationsLoginErrorEn {
_TranslationsLoginErrorCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get invalid_key => 'Invalid key';
}
// Path: stream.chat.write
class _TranslationsStreamChatWriteCa extends TranslationsStreamChatWriteEn {
_TranslationsStreamChatWriteCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
/// Label on the chat message input box
@override String get label => 'Write message';
/// Chat input message shown when the user is logged in only with pubkey
@override String get no_signer => 'Can\'t write messages with npub login';
/// Chat input message shown when the user is logged out
@override String get login => 'Please login to send messages';
}
// Path: stream.chat.badge
class _TranslationsStreamChatBadgeCa extends TranslationsStreamChatBadgeEn {
_TranslationsStreamChatBadgeCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
/// Heading over list of users who are awarded a badge
@override String get awarded_to => 'Awarded to:';
}
// Path: stream.chat.raid
class _TranslationsStreamChatRaidCa extends TranslationsStreamChatRaidEn {
_TranslationsStreamChatRaidCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
/// Chat raid message to another stream
@override String to({required Object name}) => 'RAIDING ${name}';
/// Chat raid message from another stream
@override String from({required Object name}) => 'RAID FROM ${name}';
/// Countdown timer for auto-raiding
@override String countdown({required Object time}) => 'Raiding in ${time}';
}
// Path: settings.profile.error
class _TranslationsSettingsProfileErrorCa extends TranslationsSettingsProfileErrorEn {
_TranslationsSettingsProfileErrorCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant edit profile when logged out';
}
// Path: settings.wallet.error
class _TranslationsSettingsWalletErrorCa extends TranslationsSettingsWalletErrorEn {
_TranslationsSettingsWalletErrorCa._(TranslationsCa root) : this._root = root, super.internal(root);
final TranslationsCa _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant connect wallet when logged out';
}
/// Flat map(s) containing all translations.
/// Only for edge cases! For simple maps, use the map function of this library.
extension on TranslationsCa {
dynamic _flatMapFunction(String path) {
switch (path) {
case 'upload_avatar': return 'Upload Avatar';
case 'most_zapped_streamers': return 'Most Zapped Streamers';
case 'no_user_found': return 'No user found';
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ca'))(n,
one: '1 viewer',
other: '${n} viewers',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'ENDED';
case 'stream.status.planned': return 'PLANNED';
case 'stream.started': return ({required Object timestamp}) => 'Started ${timestamp}';
case 'stream.chat.disabled': return 'CHAT DISABLED';
case 'stream.chat.disabled_timeout': return ({required Object time}) => 'Timeout expires: ${time}';
case 'stream.chat.timeout': return ({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
case 'stream.chat.ended': return 'STREAM ENDED';
case 'stream.chat.zap': return ({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
case 'stream.chat.write.label': return 'Write message';
case 'stream.chat.write.no_signer': return 'Can\'t write messages with npub login';
case 'stream.chat.write.login': return 'Please login to send messages';
case 'stream.chat.badge.awarded_to': return 'Awarded to:';
case 'stream.chat.raid.to': return ({required Object name}) => 'RAIDING ${name}';
case 'stream.chat.raid.from': return ({required Object name}) => 'RAID FROM ${name}';
case 'stream.chat.raid.countdown': return ({required Object time}) => 'Raiding in ${time}';
case 'goal.title': return ({required Object amount}) => 'Goal: ${amount}';
case 'goal.remaining': return ({required Object amount}) => 'Remaining: ${amount}';
case 'goal.complete': return 'COMPLETE';
case 'button.login': return 'Login';
case 'button.logout': return 'Logout';
case 'button.edit_profile': return 'Edit Profile';
case 'button.follow': return 'Follow';
case 'button.unfollow': return 'Unfollow';
case 'button.mute': return 'Mute';
case 'button.unmute': return 'Unmute';
case 'button.share': return 'Share';
case 'button.save': return 'Save';
case 'button.connect': return 'Connect';
case 'button.settings': return 'Settings';
case 'embed.article_by': return ({required Object name}) => 'Article by ${name}';
case 'embed.note_by': return ({required Object name}) => 'Note by ${name}';
case 'embed.live_stream_by': return ({required Object name}) => 'Live stream by ${name}';
case 'stream_list.following': return 'Following';
case 'stream_list.live': return 'Live';
case 'stream_list.planned': return 'Planned';
case 'stream_list.ended': return 'Ended';
case 'zap.title': return ({required Object name}) => 'Zap ${name}';
case 'zap.custom_amount': return 'Custom Amount';
case 'zap.confirm': return 'Confirm';
case 'zap.comment': return 'Comment';
case 'zap.button_zap_ready': return ({required Object amount}) => 'Zap ${amount} sats';
case 'zap.button_zap': return 'Zap';
case 'zap.button_open_wallet': return 'Open in Wallet';
case 'zap.button_connect_wallet': return 'Connect Wallet';
case 'zap.copy': return 'Copied to clipboard';
case 'zap.error.invalid_custom_amount': return 'Invalid custom amount';
case 'zap.error.no_wallet': return 'No lightning wallet installed';
case 'zap.error.no_lud16': return 'No lightning address found';
case 'profile.past_streams': return 'Past Streams';
case 'settings.button_profile': return 'Edit Profile';
case 'settings.button_wallet': return 'Wallet Settings';
case 'settings.profile.display_name': return 'Display Name';
case 'settings.profile.about': return 'About';
case 'settings.profile.nip05': return 'Nostr Address';
case 'settings.profile.lud16': return 'Lightning Address';
case 'settings.profile.error.logged_out': return 'Cant edit profile when logged out';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nwc://)';
case 'settings.wallet.disconnect_wallet': return 'Disconnect Wallet';
case 'settings.wallet.error.logged_out': return 'Cant connect wallet when logged out';
case 'login.username': return 'Username';
case 'login.amber': return 'Login with Amber';
case 'login.key': return 'Login with Key';
case 'login.create': return 'Create Account';
case 'login.error.invalid_key': return 'Invalid key';
default: return null;
}
}
}

View File

@ -54,7 +54,7 @@ class TranslationsCs extends Translations {
/// Počet diváků streamu
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('cs'))(n,
one: '1 divák',
other: '${n} diváci',
other: '${NumberFormat.decimalPattern('cs').format(n)} divá',
);
@override late final _TranslationsStreamCs stream = _TranslationsStreamCs._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletCs extends TranslationsSettingsWalletEn {
final TranslationsCs _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Připojení peněženky (NWC nwc://)';
@override String get connect_wallet => 'Connect Wallet (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Odpojení peněženky';
@override String get connect_1tap => 'Připojení 1 kohoutku';
@override String get paste => 'Vložit adresu URL';
@override late final _TranslationsSettingsWalletErrorCs error = _TranslationsSettingsWalletErrorCs._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorCs extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Nelze se připojit k peněžence, když jste odhlášeni';
@override String get nwc_auth_event_not_found => 'Nebyla nalezena žádná událost autentizace peněženky';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsCs {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('cs'))(n,
one: '1 divák',
other: '${n} diváci',
other: '${NumberFormat.decimalPattern('cs').format(n)} divá',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'KONEC';
@ -448,9 +451,12 @@ extension on TranslationsCs {
case 'settings.profile.nip05': return 'Adresa Nostr';
case 'settings.profile.lud16': return 'Adresa blesku';
case 'settings.profile.error.logged_out': return 'Nelze upravit profil, když je odhlášený';
case 'settings.wallet.connect_wallet': return 'Připojení peněženky (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Odpojení peněženky';
case 'settings.wallet.connect_1tap': return 'Připojení 1 kohoutku';
case 'settings.wallet.paste': return 'Vložit adresu URL';
case 'settings.wallet.error.logged_out': return 'Nelze se připojit k peněžence, když jste odhlášeni';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Nebyla nalezena žádná událost autentizace peněženky';
case 'login.username': return 'Uživatelské jméno';
case 'login.amber': return 'Přihlášení pomocí Amber';
case 'login.key': return 'Přihlášení pomocí klíče';

View File

@ -54,7 +54,7 @@ class TranslationsDa extends Translations {
/// Antal seere af streamingen
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('da'))(n,
one: '1 seer',
other: '${n} Seere',
other: '${NumberFormat.decimalPattern('da').format(n)} seere',
);
@override late final _TranslationsStreamDa stream = _TranslationsStreamDa._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletDa extends TranslationsSettingsWalletEn {
final TranslationsDa _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Connect Wallet (NWC nwc://)';
@override String get connect_wallet => 'Connect Wallet (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Afbryd forbindelsen til tegnebogen';
@override String get connect_1tap => '1-Tap-forbindelse';
@override String get paste => 'Indsæt URL';
@override late final _TranslationsSettingsWalletErrorDa error = _TranslationsSettingsWalletErrorDa._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorDa extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Kan ikke oprette forbindelse til wallet, når jeg er logget ud';
@override String get nwc_auth_event_not_found => 'Ingen wallet-auth-begivenhed fundet';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsDa {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('da'))(n,
one: '1 seer',
other: '${n} Seere',
other: '${NumberFormat.decimalPattern('da').format(n)} seere',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'AFSLUTTET';
@ -448,9 +451,12 @@ extension on TranslationsDa {
case 'settings.profile.nip05': return 'Nostr-adresse';
case 'settings.profile.lud16': return 'Adresse for lynnedslag';
case 'settings.profile.error.logged_out': return 'Kan ikke redigere profil, når jeg er logget ud';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Afbryd forbindelsen til tegnebogen';
case 'settings.wallet.connect_1tap': return '1-Tap-forbindelse';
case 'settings.wallet.paste': return 'Indsæt URL';
case 'settings.wallet.error.logged_out': return 'Kan ikke oprette forbindelse til wallet, når jeg er logget ud';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Ingen wallet-auth-begivenhed fundet';
case 'login.username': return 'Brugernavn';
case 'login.amber': return 'Log ind med Amber';
case 'login.key': return 'Login med nøgle';

View File

@ -54,7 +54,7 @@ class TranslationsDe extends Translations {
/// Anzahl der Betrachter des Streams
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('de'))(n,
one: '1 Zuschauer',
other: '${n} Zuschauer',
other: '${NumberFormat.decimalPattern('de').format(n)} Zuschauer',
);
@override late final _TranslationsStreamDe stream = _TranslationsStreamDe._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletDe extends TranslationsSettingsWalletEn {
final TranslationsDe _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Brieftasche verbinden (NWC nwc://)';
@override String get connect_wallet => 'Connect Wallet (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Brieftasche abtrennen';
@override String get connect_1tap => '1-Tap-Verbindung';
@override String get paste => 'URL einfügen';
@override late final _TranslationsSettingsWalletErrorDe error = _TranslationsSettingsWalletErrorDe._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorDe extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Kann keine Verbindung zur Brieftasche herstellen, wenn ich abgemeldet bin';
@override String get nwc_auth_event_not_found => 'Kein Wallet-Authentifizierungsereignis gefunden';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsDe {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('de'))(n,
one: '1 Zuschauer',
other: '${n} Zuschauer',
other: '${NumberFormat.decimalPattern('de').format(n)} Zuschauer',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'ENDED';
@ -448,9 +451,12 @@ extension on TranslationsDe {
case 'settings.profile.nip05': return 'Nostr-Adresse';
case 'settings.profile.lud16': return 'Blitz-Adresse';
case 'settings.profile.error.logged_out': return 'Profil kann nicht bearbeitet werden, wenn es abgemeldet ist';
case 'settings.wallet.connect_wallet': return 'Brieftasche verbinden (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Brieftasche abtrennen';
case 'settings.wallet.connect_1tap': return '1-Tap-Verbindung';
case 'settings.wallet.paste': return 'URL einfügen';
case 'settings.wallet.error.logged_out': return 'Kann keine Verbindung zur Brieftasche herstellen, wenn ich abgemeldet bin';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Kein Wallet-Authentifizierungsereignis gefunden';
case 'login.username': return 'Benutzername';
case 'login.amber': return 'Anmeldung mit Amber';
case 'login.key': return 'Anmeldung mit Schlüssel';

View File

@ -54,7 +54,7 @@ class TranslationsEl extends Translations {
/// Αριθμός θεατών της ροής
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('el'))(n,
one: '1 θεατής',
other: '${n} θεατές',
other: '${NumberFormat.decimalPattern('el').format(n)} θεατές',
);
@override late final _TranslationsStreamEl stream = _TranslationsStreamEl._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletEl extends TranslationsSettingsWalletEn {
final TranslationsEl _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Σύνδεση πορτοφολιού (NWC nwc://)';
@override String get connect_wallet => 'Connect Wallet (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Αποσύνδεση πορτοφολιού';
@override String get connect_1tap => 'Σύνδεση 1 βρύσης';
@override String get paste => 'Επικόλληση URL';
@override late final _TranslationsSettingsWalletErrorEl error = _TranslationsSettingsWalletErrorEl._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorEl extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Δεν μπορώ να συνδεθώ με πορτοφόλι όταν έχω αποσυνδεθεί';
@override String get nwc_auth_event_not_found => 'Δεν βρέθηκε συμβάν εξουσιοδότησης πορτοφολιού';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsEl {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('el'))(n,
one: '1 θεατής',
other: '${n} θεατές',
other: '${NumberFormat.decimalPattern('el').format(n)} θεατές',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'ENDED';
@ -448,9 +451,12 @@ extension on TranslationsEl {
case 'settings.profile.nip05': return 'Διεύθυνση Nostr';
case 'settings.profile.lud16': return 'Διεύθυνση Lightning';
case 'settings.profile.error.logged_out': return 'Δεν μπορείτε να επεξεργαστείτε το προφίλ όταν έχετε αποσυνδεθεί';
case 'settings.wallet.connect_wallet': return 'Σύνδεση πορτοφολιού (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Αποσύνδεση πορτοφολιού';
case 'settings.wallet.connect_1tap': return 'Σύνδεση 1 βρύσης';
case 'settings.wallet.paste': return 'Επικόλληση URL';
case 'settings.wallet.error.logged_out': return 'Δεν μπορώ να συνδεθώ με πορτοφόλι όταν έχω αποσυνδεθεί';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Δεν βρέθηκε συμβάν εξουσιοδότησης πορτοφολιού';
case 'login.username': return 'Όνομα χρήστη';
case 'login.amber': return 'Σύνδεση με Amber';
case 'login.key': return 'Σύνδεση με κλειδί';

View File

@ -54,7 +54,7 @@ class TranslationsEs extends Translations {
/// Número de espectadores del flujo
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('es'))(n,
one: '1 espectador',
other: '${n} espectadores',
other: '${NumberFormat.decimalPattern('es').format(n)} espectadores',
);
@override late final _TranslationsStreamEs stream = _TranslationsStreamEs._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletEs extends TranslationsSettingsWalletEn {
final TranslationsEs _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Cartera Connect (NWC nwc://)';
@override String get connect_wallet => 'Cartera Connect (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Desconectar Cartera';
@override String get connect_1tap => 'Conexión de 1 toma';
@override String get paste => 'Pegar URL';
@override late final _TranslationsSettingsWalletErrorEs error = _TranslationsSettingsWalletErrorEs._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorEs extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'No se puede conectar el monedero al cerrar la sesión';
@override String get nwc_auth_event_not_found => 'No se ha encontrado ningún evento de autenticación de cartera';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsEs {
case 'anon': return 'Anónimo';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('es'))(n,
one: '1 espectador',
other: '${n} espectadores',
other: '${NumberFormat.decimalPattern('es').format(n)} espectadores',
);
case 'stream.status.live': return 'EN VIVO';
case 'stream.status.ended': return 'FIN';
@ -448,9 +451,12 @@ extension on TranslationsEs {
case 'settings.profile.nip05': return 'Dirección Nostr';
case 'settings.profile.lud16': return 'Dirección del rayo';
case 'settings.profile.error.logged_out': return 'No se puede editar el perfil cuando se cierra la sesión';
case 'settings.wallet.connect_wallet': return 'Cartera Connect (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Cartera Connect (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Desconectar Cartera';
case 'settings.wallet.connect_1tap': return 'Conexión de 1 toma';
case 'settings.wallet.paste': return 'Pegar URL';
case 'settings.wallet.error.logged_out': return 'No se puede conectar el monedero al cerrar la sesión';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'No se ha encontrado ningún evento de autenticación de cartera';
case 'login.username': return 'Usuario';
case 'login.amber': return 'Iniciar sesión con Amber';
case 'login.key': return 'Inicio de sesión con clave';

View File

@ -54,7 +54,7 @@ class TranslationsFi extends Translations {
/// Streamin katsojien määrä
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('fi'))(n,
one: '1 katsoja',
other: '${n} katsojaa',
other: '${NumberFormat.decimalPattern('fi').format(n)} katsojat',
);
@override late final _TranslationsStreamFi stream = _TranslationsStreamFi._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletFi extends TranslationsSettingsWalletEn {
final TranslationsFi _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Yhdistä lompakko (NWC nwc://)';
@override String get connect_wallet => 'Connect-lompakko (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Irrota lompakko';
@override String get connect_1tap => '1-Tap-liitäntä';
@override String get paste => 'Liitä URL-osoite';
@override late final _TranslationsSettingsWalletErrorFi error = _TranslationsSettingsWalletErrorFi._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorFi extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Ei voi muodostaa yhteyttä lompakkoon, kun on kirjautunut ulos';
@override String get nwc_auth_event_not_found => 'Ei lompakko-auth-tapahtumaa löydetty';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsFi {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('fi'))(n,
one: '1 katsoja',
other: '${n} katsojaa',
other: '${NumberFormat.decimalPattern('fi').format(n)} katsojat',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'ENDED';
@ -448,9 +451,12 @@ extension on TranslationsFi {
case 'settings.profile.nip05': return 'Nostr Osoite';
case 'settings.profile.lud16': return 'Salama osoite';
case 'settings.profile.error.logged_out': return 'Ei voi muokata profiilia, kun on kirjautunut ulos';
case 'settings.wallet.connect_wallet': return 'Yhdistä lompakko (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect-lompakko (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Irrota lompakko';
case 'settings.wallet.connect_1tap': return '1-Tap-liitäntä';
case 'settings.wallet.paste': return 'Liitä URL-osoite';
case 'settings.wallet.error.logged_out': return 'Ei voi muodostaa yhteyttä lompakkoon, kun on kirjautunut ulos';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Ei lompakko-auth-tapahtumaa löydetty';
case 'login.username': return 'Käyttäjätunnus';
case 'login.amber': return 'Kirjaudu sisään Amber kanssa';
case 'login.key': return 'Kirjaudu sisään avaimella';

View File

@ -54,7 +54,7 @@ class TranslationsFr extends Translations {
/// Nombre de spectateurs du flux
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('fr'))(n,
one: '1 téléspectateur',
other: '${n} spectateurs',
other: '${NumberFormat.decimalPattern('fr').format(n)} téléspectateurs',
);
@override late final _TranslationsStreamFr stream = _TranslationsStreamFr._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletFr extends TranslationsSettingsWalletEn {
final TranslationsFr _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Portefeuille connecté (NWC nwc://)';
@override String get connect_wallet => 'Portefeuille Connect (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Déconnecter le portefeuille';
@override String get connect_1tap => 'Connexion à 1 robinet';
@override String get paste => 'Coller l\'URL';
@override late final _TranslationsSettingsWalletErrorFr error = _TranslationsSettingsWalletErrorFr._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorFr extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Impossible de se connecter au portefeuille lorsque l\'on est déconnecté';
@override String get nwc_auth_event_not_found => 'Aucun événement d\'authentification de portefeuille n\'a été trouvé';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsFr {
case 'anon': return 'Anonyme';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('fr'))(n,
one: '1 téléspectateur',
other: '${n} spectateurs',
other: '${NumberFormat.decimalPattern('fr').format(n)} téléspectateurs',
);
case 'stream.status.live': return 'VIVRE';
case 'stream.status.ended': return 'FINI';
@ -448,9 +451,12 @@ extension on TranslationsFr {
case 'settings.profile.nip05': return 'Nostr Adresse';
case 'settings.profile.lud16': return 'Adresse de la foudre';
case 'settings.profile.error.logged_out': return 'Impossible de modifier le profil lorsque l\'on est déconnecté';
case 'settings.wallet.connect_wallet': return 'Portefeuille connecté (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Portefeuille Connect (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Déconnecter le portefeuille';
case 'settings.wallet.connect_1tap': return 'Connexion à 1 robinet';
case 'settings.wallet.paste': return 'Coller l\'URL';
case 'settings.wallet.error.logged_out': return 'Impossible de se connecter au portefeuille lorsque l\'on est déconnecté';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Aucun événement d\'authentification de portefeuille n\'a été trouvé';
case 'login.username': return 'Nom dutilisateur';
case 'login.amber': return 'Se connecter avec Amber';
case 'login.key': return 'Connexion avec la clé';

View File

@ -1,463 +0,0 @@
///
/// Generated file. Do not edit.
///
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:slang/generated.dart';
import 'strings.g.dart';
// Path: <root>
class TranslationsHe extends Translations {
/// You can call this constructor and build your own translation instance of this locale.
/// Constructing via the enum [AppLocale.build] is preferred.
TranslationsHe({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
$meta = meta ?? TranslationMetadata(
locale: AppLocale.he,
overrides: overrides ?? {},
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
),
super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
$meta.setFlatMapFunction(_flatMapFunction);
}
/// Metadata for the translations of <he>.
@override final TranslationMetadata<AppLocale, Translations> $meta;
/// Access flat map
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
late final TranslationsHe _root = this; // ignore: unused_field
@override
TranslationsHe $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsHe(meta: meta ?? this.$meta);
// Translations
/// Text prompting user to hit avatar placeholder to begin upload
@override String get upload_avatar => 'Upload Avatar';
/// Heading over listed top streamers by zaps
@override String get most_zapped_streamers => 'Most Zapped Streamers';
/// No user found when searching
@override String get no_user_found => 'No user found';
/// An anonymous user
@override String get anon => 'Anon';
/// Number of viewers of the stream
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('he'))(n,
one: '1 viewer',
other: '${n} viewers',
);
@override late final _TranslationsStreamHe stream = _TranslationsStreamHe._(_root);
@override late final _TranslationsGoalHe goal = _TranslationsGoalHe._(_root);
@override late final _TranslationsButtonHe button = _TranslationsButtonHe._(_root);
@override late final _TranslationsEmbedHe embed = _TranslationsEmbedHe._(_root);
/// Headings on stream lists by stream type live/ended/planned etc.
@override late final _TranslationsStreamListHe stream_list = _TranslationsStreamListHe._(_root);
@override late final _TranslationsZapHe zap = _TranslationsZapHe._(_root);
@override late final _TranslationsProfileHe profile = _TranslationsProfileHe._(_root);
@override late final _TranslationsSettingsHe settings = _TranslationsSettingsHe._(_root);
@override late final _TranslationsLoginHe login = _TranslationsLoginHe._(_root);
}
// Path: stream
class _TranslationsStreamHe extends TranslationsStreamEn {
_TranslationsStreamHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override late final _TranslationsStreamStatusHe status = _TranslationsStreamStatusHe._(_root);
@override String started({required Object timestamp}) => 'Started ${timestamp}';
@override late final _TranslationsStreamChatHe chat = _TranslationsStreamChatHe._(_root);
}
// Path: goal
class _TranslationsGoalHe extends TranslationsGoalEn {
_TranslationsGoalHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String title({required Object amount}) => 'Goal: ${amount}';
@override String remaining({required Object amount}) => 'Remaining: ${amount}';
@override String get complete => 'COMPLETE';
}
// Path: button
class _TranslationsButtonHe extends TranslationsButtonEn {
_TranslationsButtonHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
/// Button text for the login button
@override String get login => 'Login';
@override String get logout => 'Logout';
@override String get edit_profile => 'Edit Profile';
/// Button text for the follow button
@override String get follow => 'Follow';
/// Button text for the unfollow button
@override String get unfollow => 'Unfollow';
@override String get mute => 'Mute';
@override String get unmute => 'Unmute';
@override String get share => 'Share';
@override String get save => 'Save';
@override String get connect => 'Connect';
@override String get settings => 'Settings';
}
// Path: embed
class _TranslationsEmbedHe extends TranslationsEmbedEn {
_TranslationsEmbedHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String article_by({required Object name}) => 'Article by ${name}';
@override String note_by({required Object name}) => 'Note by ${name}';
@override String live_stream_by({required Object name}) => 'Live stream by ${name}';
}
// Path: stream_list
class _TranslationsStreamListHe extends TranslationsStreamListEn {
_TranslationsStreamListHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get following => 'Following';
@override String get live => 'Live';
@override String get planned => 'Planned';
@override String get ended => 'Ended';
}
// Path: zap
class _TranslationsZapHe extends TranslationsZapEn {
_TranslationsZapHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String title({required Object name}) => 'Zap ${name}';
@override String get custom_amount => 'Custom Amount';
@override String get confirm => 'Confirm';
@override String get comment => 'Comment';
@override String button_zap_ready({required Object amount}) => 'Zap ${amount} sats';
@override String get button_zap => 'Zap';
@override String get button_open_wallet => 'Open in Wallet';
@override String get button_connect_wallet => 'Connect Wallet';
@override String get copy => 'Copied to clipboard';
@override late final _TranslationsZapErrorHe error = _TranslationsZapErrorHe._(_root);
}
// Path: profile
class _TranslationsProfileHe extends TranslationsProfileEn {
_TranslationsProfileHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get past_streams => 'Past Streams';
}
// Path: settings
class _TranslationsSettingsHe extends TranslationsSettingsEn {
_TranslationsSettingsHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get button_profile => 'Edit Profile';
@override String get button_wallet => 'Wallet Settings';
@override late final _TranslationsSettingsProfileHe profile = _TranslationsSettingsProfileHe._(_root);
@override late final _TranslationsSettingsWalletHe wallet = _TranslationsSettingsWalletHe._(_root);
}
// Path: login
class _TranslationsLoginHe extends TranslationsLoginEn {
_TranslationsLoginHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get username => 'Username';
@override String get amber => 'Login with Amber';
@override String get key => 'Login with Key';
@override String get create => 'Create Account';
@override late final _TranslationsLoginErrorHe error = _TranslationsLoginErrorHe._(_root);
}
// Path: stream.status
class _TranslationsStreamStatusHe extends TranslationsStreamStatusEn {
_TranslationsStreamStatusHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get live => 'LIVE';
@override String get ended => 'ENDED';
@override String get planned => 'PLANNED';
}
// Path: stream.chat
class _TranslationsStreamChatHe extends TranslationsStreamChatEn {
_TranslationsStreamChatHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get disabled => 'CHAT DISABLED';
@override String disabled_timeout({required Object time}) => 'Timeout expires: ${time}';
/// Chat message showing timeout events
@override TextSpan timeout({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
/// Stream ended footer at bottom of chat
@override String get ended => 'STREAM ENDED';
/// Chat message showing stream zaps
@override TextSpan zap({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
@override late final _TranslationsStreamChatWriteHe write = _TranslationsStreamChatWriteHe._(_root);
@override late final _TranslationsStreamChatBadgeHe badge = _TranslationsStreamChatBadgeHe._(_root);
@override late final _TranslationsStreamChatRaidHe raid = _TranslationsStreamChatRaidHe._(_root);
}
// Path: zap.error
class _TranslationsZapErrorHe extends TranslationsZapErrorEn {
_TranslationsZapErrorHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get invalid_custom_amount => 'Invalid custom amount';
@override String get no_wallet => 'No lightning wallet installed';
@override String get no_lud16 => 'No lightning address found';
}
// Path: settings.profile
class _TranslationsSettingsProfileHe extends TranslationsSettingsProfileEn {
_TranslationsSettingsProfileHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get display_name => 'Display Name';
@override String get about => 'About';
@override String get nip05 => 'Nostr Address';
@override String get lud16 => 'Lightning Address';
@override late final _TranslationsSettingsProfileErrorHe error = _TranslationsSettingsProfileErrorHe._(_root);
}
// Path: settings.wallet
class _TranslationsSettingsWalletHe extends TranslationsSettingsWalletEn {
_TranslationsSettingsWalletHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Connect Wallet (NWC nwc://)';
@override String get disconnect_wallet => 'Disconnect Wallet';
@override late final _TranslationsSettingsWalletErrorHe error = _TranslationsSettingsWalletErrorHe._(_root);
}
// Path: login.error
class _TranslationsLoginErrorHe extends TranslationsLoginErrorEn {
_TranslationsLoginErrorHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get invalid_key => 'Invalid key';
}
// Path: stream.chat.write
class _TranslationsStreamChatWriteHe extends TranslationsStreamChatWriteEn {
_TranslationsStreamChatWriteHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
/// Label on the chat message input box
@override String get label => 'Write message';
/// Chat input message shown when the user is logged in only with pubkey
@override String get no_signer => 'Can\'t write messages with npub login';
/// Chat input message shown when the user is logged out
@override String get login => 'Please login to send messages';
}
// Path: stream.chat.badge
class _TranslationsStreamChatBadgeHe extends TranslationsStreamChatBadgeEn {
_TranslationsStreamChatBadgeHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
/// Heading over list of users who are awarded a badge
@override String get awarded_to => 'Awarded to:';
}
// Path: stream.chat.raid
class _TranslationsStreamChatRaidHe extends TranslationsStreamChatRaidEn {
_TranslationsStreamChatRaidHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
/// Chat raid message to another stream
@override String to({required Object name}) => 'RAIDING ${name}';
/// Chat raid message from another stream
@override String from({required Object name}) => 'RAID FROM ${name}';
/// Countdown timer for auto-raiding
@override String countdown({required Object time}) => 'Raiding in ${time}';
}
// Path: settings.profile.error
class _TranslationsSettingsProfileErrorHe extends TranslationsSettingsProfileErrorEn {
_TranslationsSettingsProfileErrorHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant edit profile when logged out';
}
// Path: settings.wallet.error
class _TranslationsSettingsWalletErrorHe extends TranslationsSettingsWalletErrorEn {
_TranslationsSettingsWalletErrorHe._(TranslationsHe root) : this._root = root, super.internal(root);
final TranslationsHe _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant connect wallet when logged out';
}
/// Flat map(s) containing all translations.
/// Only for edge cases! For simple maps, use the map function of this library.
extension on TranslationsHe {
dynamic _flatMapFunction(String path) {
switch (path) {
case 'upload_avatar': return 'Upload Avatar';
case 'most_zapped_streamers': return 'Most Zapped Streamers';
case 'no_user_found': return 'No user found';
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('he'))(n,
one: '1 viewer',
other: '${n} viewers',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'ENDED';
case 'stream.status.planned': return 'PLANNED';
case 'stream.started': return ({required Object timestamp}) => 'Started ${timestamp}';
case 'stream.chat.disabled': return 'CHAT DISABLED';
case 'stream.chat.disabled_timeout': return ({required Object time}) => 'Timeout expires: ${time}';
case 'stream.chat.timeout': return ({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
case 'stream.chat.ended': return 'STREAM ENDED';
case 'stream.chat.zap': return ({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
case 'stream.chat.write.label': return 'Write message';
case 'stream.chat.write.no_signer': return 'Can\'t write messages with npub login';
case 'stream.chat.write.login': return 'Please login to send messages';
case 'stream.chat.badge.awarded_to': return 'Awarded to:';
case 'stream.chat.raid.to': return ({required Object name}) => 'RAIDING ${name}';
case 'stream.chat.raid.from': return ({required Object name}) => 'RAID FROM ${name}';
case 'stream.chat.raid.countdown': return ({required Object time}) => 'Raiding in ${time}';
case 'goal.title': return ({required Object amount}) => 'Goal: ${amount}';
case 'goal.remaining': return ({required Object amount}) => 'Remaining: ${amount}';
case 'goal.complete': return 'COMPLETE';
case 'button.login': return 'Login';
case 'button.logout': return 'Logout';
case 'button.edit_profile': return 'Edit Profile';
case 'button.follow': return 'Follow';
case 'button.unfollow': return 'Unfollow';
case 'button.mute': return 'Mute';
case 'button.unmute': return 'Unmute';
case 'button.share': return 'Share';
case 'button.save': return 'Save';
case 'button.connect': return 'Connect';
case 'button.settings': return 'Settings';
case 'embed.article_by': return ({required Object name}) => 'Article by ${name}';
case 'embed.note_by': return ({required Object name}) => 'Note by ${name}';
case 'embed.live_stream_by': return ({required Object name}) => 'Live stream by ${name}';
case 'stream_list.following': return 'Following';
case 'stream_list.live': return 'Live';
case 'stream_list.planned': return 'Planned';
case 'stream_list.ended': return 'Ended';
case 'zap.title': return ({required Object name}) => 'Zap ${name}';
case 'zap.custom_amount': return 'Custom Amount';
case 'zap.confirm': return 'Confirm';
case 'zap.comment': return 'Comment';
case 'zap.button_zap_ready': return ({required Object amount}) => 'Zap ${amount} sats';
case 'zap.button_zap': return 'Zap';
case 'zap.button_open_wallet': return 'Open in Wallet';
case 'zap.button_connect_wallet': return 'Connect Wallet';
case 'zap.copy': return 'Copied to clipboard';
case 'zap.error.invalid_custom_amount': return 'Invalid custom amount';
case 'zap.error.no_wallet': return 'No lightning wallet installed';
case 'zap.error.no_lud16': return 'No lightning address found';
case 'profile.past_streams': return 'Past Streams';
case 'settings.button_profile': return 'Edit Profile';
case 'settings.button_wallet': return 'Wallet Settings';
case 'settings.profile.display_name': return 'Display Name';
case 'settings.profile.about': return 'About';
case 'settings.profile.nip05': return 'Nostr Address';
case 'settings.profile.lud16': return 'Lightning Address';
case 'settings.profile.error.logged_out': return 'Cant edit profile when logged out';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nwc://)';
case 'settings.wallet.disconnect_wallet': return 'Disconnect Wallet';
case 'settings.wallet.error.logged_out': return 'Cant connect wallet when logged out';
case 'login.username': return 'Username';
case 'login.amber': return 'Login with Amber';
case 'login.key': return 'Login with Key';
case 'login.create': return 'Create Account';
case 'login.error.invalid_key': return 'Invalid key';
default: return null;
}
}
}

View File

@ -54,7 +54,7 @@ class TranslationsHu extends Translations {
/// A stream nézőinek száma
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('hu'))(n,
one: '1 néző',
other: '${n} néző',
other: '${NumberFormat.decimalPattern('hu').format(n)} nézők',
);
@override late final _TranslationsStreamHu stream = _TranslationsStreamHu._(_root);
@ -285,8 +285,10 @@ class _TranslationsSettingsWalletHu extends TranslationsSettingsWalletEn {
final TranslationsHu _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Connect Wallet (NWC nwc://)';
@override String get connect_wallet => 'Connect Wallet (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Pénztárca lekapcsolása';
@override String get connect_1tap => '1-Tap csatlakozás';
@override String get paste => 'URL beillesztése';
@override late final _TranslationsSettingsWalletErrorHu error = _TranslationsSettingsWalletErrorHu._(_root);
}
@ -345,7 +347,7 @@ class _TranslationsStreamChatRaidHu extends TranslationsStreamChatRaidEn {
@override String from({required Object name}) => 'RAID FROM ${name}';
/// Visszaszámláló időzítő az automatikus lovagláshoz
@override String countdown({required Object time}) => 'Raiding a ${time} oldalon';
@override String countdown({required Object time}) => 'Raiding a ${time}oldalon';
}
// Path: settings.profile.error
@ -366,6 +368,7 @@ class _TranslationsSettingsWalletErrorHu extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Kijelentkezve nem lehet csatlakozni a pénztárcához';
@override String get nwc_auth_event_not_found => 'Nem találtak pénztárca-auth eseményt';
}
/// Flat map(s) containing all translations.
@ -379,7 +382,7 @@ extension on TranslationsHu {
case 'anon': return 'Névtelen';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('hu'))(n,
one: '1 néző',
other: '${n} néző',
other: '${NumberFormat.decimalPattern('hu').format(n)} nézők',
);
case 'stream.status.live': return 'ÉLŐ';
case 'stream.status.ended': return 'ENDED';
@ -408,7 +411,7 @@ extension on TranslationsHu {
case 'stream.chat.badge.awarded_to': return 'Elnyerte:';
case 'stream.chat.raid.to': return ({required Object name}) => 'RAIDING ${name}';
case 'stream.chat.raid.from': return ({required Object name}) => 'RAID FROM ${name}';
case 'stream.chat.raid.countdown': return ({required Object time}) => 'Raiding a ${time} oldalon';
case 'stream.chat.raid.countdown': return ({required Object time}) => 'Raiding a ${time}oldalon';
case 'goal.title': return ({required Object amount}) => 'Cél: ${amount}';
case 'goal.remaining': return ({required Object amount}) => 'Maradék: ${amount}';
case 'goal.complete': return 'TELJES';
@ -450,9 +453,12 @@ extension on TranslationsHu {
case 'settings.profile.nip05': return 'Nostr cím';
case 'settings.profile.lud16': return 'Villám cím';
case 'settings.profile.error.logged_out': return 'Kijelentkezve nem lehet profilt szerkeszteni';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Pénztárca lekapcsolása';
case 'settings.wallet.connect_1tap': return '1-Tap csatlakozás';
case 'settings.wallet.paste': return 'URL beillesztése';
case 'settings.wallet.error.logged_out': return 'Kijelentkezve nem lehet csatlakozni a pénztárcához';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Nem találtak pénztárca-auth eseményt';
case 'login.username': return 'Felhasználónév';
case 'login.amber': return 'Bejelentkezés Amber segítségével';
case 'login.key': return 'Bejelentkezés kulccsal';

View File

@ -54,7 +54,7 @@ class TranslationsIt extends Translations {
/// Numero di spettatori del flusso
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('it'))(n,
one: '1 spettatore',
other: '${n} spettatori',
other: '${NumberFormat.decimalPattern('it').format(n)} spettatori',
);
@override late final _TranslationsStreamIt stream = _TranslationsStreamIt._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletIt extends TranslationsSettingsWalletEn {
final TranslationsIt _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Portafoglio Connect (NWC nwc://)';
@override String get connect_wallet => 'Portafoglio Connect (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Disconnettere il portafoglio';
@override String get connect_1tap => 'Connessione a 1 rubinetto';
@override String get paste => 'Incolla URL';
@override late final _TranslationsSettingsWalletErrorIt error = _TranslationsSettingsWalletErrorIt._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorIt extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Impossibile connettere il portafoglio quando si è disconnessi';
@override String get nwc_auth_event_not_found => 'Nessun evento wallet auth trovato';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsIt {
case 'anon': return 'Anonimo';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('it'))(n,
one: '1 spettatore',
other: '${n} spettatori',
other: '${NumberFormat.decimalPattern('it').format(n)} spettatori',
);
case 'stream.status.live': return 'IN DIRETTA';
case 'stream.status.ended': return 'FINE';
@ -448,9 +451,12 @@ extension on TranslationsIt {
case 'settings.profile.nip05': return 'Indirizzo';
case 'settings.profile.lud16': return 'Indirizzo del fulmine';
case 'settings.profile.error.logged_out': return 'Impossibile modificare il profilo quando si è disconnessi';
case 'settings.wallet.connect_wallet': return 'Portafoglio Connect (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Portafoglio Connect (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Disconnettere il portafoglio';
case 'settings.wallet.connect_1tap': return 'Connessione a 1 rubinetto';
case 'settings.wallet.paste': return 'Incolla URL';
case 'settings.wallet.error.logged_out': return 'Impossibile connettere il portafoglio quando si è disconnessi';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Nessun evento wallet auth trovato';
case 'login.username': return 'Nome utente';
case 'login.amber': return 'Accesso con Amber';
case 'login.key': return 'Accesso con chiave';

View File

@ -40,7 +40,7 @@ class TranslationsJa extends Translations {
// Translations
/// アバターのプレースホルダーを押してアップロードを開始するよう促すテキスト
@override String get upload_avatar => 'アバターのアップロード';
@override String get upload_avatar => '画像アップロード';
/// ザップによるリストの上のストリーマーに向かう
@override String get most_zapped_streamers => '最もザッピングされたストリーマー';
@ -54,7 +54,7 @@ class TranslationsJa extends Translations {
/// ストリームの視聴者数
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ja'))(n,
one: '1 視聴者',
other: '${n} 人が視聴中',
other: '${NumberFormat.decimalPattern('ja').format(n)} 人が視聴中',
);
@override late final _TranslationsStreamJa stream = _TranslationsStreamJa._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletJa extends TranslationsSettingsWalletEn {
final TranslationsJa _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'コネクトウォレット (NWC nwc://)';
@override String get connect_wallet => 'コネクトウォレットNWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'ウォレットの切断';
@override String get connect_1tap => '1タップ接続';
@override String get paste => 'URLを貼り付ける';
@override late final _TranslationsSettingsWalletErrorJa error = _TranslationsSettingsWalletErrorJa._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorJa extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'ログアウト時にウォレットに接続できない';
@override String get nwc_auth_event_not_found => 'ウォレットの認証イベントが見つかりません';
}
/// Flat map(s) containing all translations.
@ -372,13 +375,13 @@ class _TranslationsSettingsWalletErrorJa extends TranslationsSettingsWalletError
extension on TranslationsJa {
dynamic _flatMapFunction(String path) {
switch (path) {
case 'upload_avatar': return 'アバターのアップロード';
case 'upload_avatar': return '画像アップロード';
case 'most_zapped_streamers': return '最もザッピングされたストリーマー';
case 'no_user_found': return 'ユーザーが見つかりません';
case 'anon': return '匿名';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ja'))(n,
one: '1 視聴者',
other: '${n} 人が視聴中',
other: '${NumberFormat.decimalPattern('ja').format(n)} 人が視聴中',
);
case 'stream.status.live': return 'ライブ';
case 'stream.status.ended': return '終了';
@ -448,9 +451,12 @@ extension on TranslationsJa {
case 'settings.profile.nip05': return '住所';
case 'settings.profile.lud16': return 'ライトニングアドレス';
case 'settings.profile.error.logged_out': return 'ログアウトするとプロフィールが編集できない';
case 'settings.wallet.connect_wallet': return 'コネクトウォレット (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'コネクトウォレットNWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'ウォレットの切断';
case 'settings.wallet.connect_1tap': return '1タップ接続';
case 'settings.wallet.paste': return 'URLを貼り付ける';
case 'settings.wallet.error.logged_out': return 'ログアウト時にウォレットに接続できない';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'ウォレットの認証イベントが見つかりません';
case 'login.username': return 'ユーザー名';
case 'login.amber': return '琥珀でログイン';
case 'login.key': return 'キーでログイン';

View File

@ -54,7 +54,7 @@ class TranslationsKo extends Translations {
/// 스트림 시청자 수
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n,
one: '시청자 1명',
other: '${n} 시청자',
other: '${NumberFormat.decimalPattern('ko').format(n)} 시청자',
);
@override late final _TranslationsStreamKo stream = _TranslationsStreamKo._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletKo extends TranslationsSettingsWalletEn {
final TranslationsKo _root; // ignore: unused_field
// Translations
@override String get connect_wallet => '지갑 연결(NWC nwc://)';
@override String get connect_wallet => '지갑 연결(NWC nostr+walletconnect://)';
@override String get disconnect_wallet => '지갑 연결 해제';
@override String get connect_1tap => '1-탭 연결';
@override String get paste => 'URL 붙여넣기';
@override late final _TranslationsSettingsWalletErrorKo error = _TranslationsSettingsWalletErrorKo._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorKo extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => '로그아웃 시 지갑 연결 불가';
@override String get nwc_auth_event_not_found => '지갑 인증 이벤트를 찾을 수 없습니다.';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsKo {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n,
one: '시청자 1명',
other: '${n} 시청자',
other: '${NumberFormat.decimalPattern('ko').format(n)} 시청자',
);
case 'stream.status.live': return '라이브';
case 'stream.status.ended': return '종료';
@ -448,9 +451,12 @@ extension on TranslationsKo {
case 'settings.profile.nip05': return '노스트르 주소';
case 'settings.profile.lud16': return '라이트닝 주소';
case 'settings.profile.error.logged_out': return '로그아웃 시 프로필 수정 불가';
case 'settings.wallet.connect_wallet': return '지갑 연결(NWC nwc://)';
case 'settings.wallet.connect_wallet': return '지갑 연결(NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return '지갑 연결 해제';
case 'settings.wallet.connect_1tap': return '1-탭 연결';
case 'settings.wallet.paste': return 'URL 붙여넣기';
case 'settings.wallet.error.logged_out': return '로그아웃 시 지갑 연결 불가';
case 'settings.wallet.error.nwc_auth_event_not_found': return '지갑 인증 이벤트를 찾을 수 없습니다.';
case 'login.username': return '사용자 이름';
case 'login.amber': return 'Amber로 로그인';
case 'login.key': return '키로 로그인';

View File

@ -54,7 +54,7 @@ class TranslationsNl extends Translations {
/// Aantal kijkers van de stream
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nl'))(n,
one: '1 kijker',
other: '${n} kijkers',
other: '${NumberFormat.decimalPattern('nl').format(n)} kijkers',
);
@override late final _TranslationsStreamNl stream = _TranslationsStreamNl._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletNl extends TranslationsSettingsWalletEn {
final TranslationsNl _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Portemonnee verbinden (NWC nwc://)';
@override String get connect_wallet => 'Portemonnee verbinden (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Portefeuille loskoppelen';
@override String get connect_1tap => '1-Tap Aansluiting';
@override String get paste => 'URL plakken';
@override late final _TranslationsSettingsWalletErrorNl error = _TranslationsSettingsWalletErrorNl._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorNl extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Kan geen verbinding maken met portemonnee als ik ben uitgelogd';
@override String get nwc_auth_event_not_found => 'Geen portemonnee-auth-gebeurtenis gevonden';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsNl {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nl'))(n,
one: '1 kijker',
other: '${n} kijkers',
other: '${NumberFormat.decimalPattern('nl').format(n)} kijkers',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'GESLOTEN';
@ -448,9 +451,12 @@ extension on TranslationsNl {
case 'settings.profile.nip05': return 'Nostr Adres';
case 'settings.profile.lud16': return 'Bliksemadres';
case 'settings.profile.error.logged_out': return 'Kan profiel niet bewerken als ik ben uitgelogd';
case 'settings.wallet.connect_wallet': return 'Portemonnee verbinden (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Portemonnee verbinden (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Portefeuille loskoppelen';
case 'settings.wallet.connect_1tap': return '1-Tap Aansluiting';
case 'settings.wallet.paste': return 'URL plakken';
case 'settings.wallet.error.logged_out': return 'Kan geen verbinding maken met portemonnee als ik ben uitgelogd';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Geen portemonnee-auth-gebeurtenis gevonden';
case 'login.username': return 'Gebruikersnaam';
case 'login.amber': return 'Inloggen met Amber';
case 'login.key': return 'Inloggen met sleutel';

View File

@ -1,463 +0,0 @@
///
/// Generated file. Do not edit.
///
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:slang/generated.dart';
import 'strings.g.dart';
// Path: <root>
class TranslationsNo extends Translations {
/// You can call this constructor and build your own translation instance of this locale.
/// Constructing via the enum [AppLocale.build] is preferred.
TranslationsNo({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
$meta = meta ?? TranslationMetadata(
locale: AppLocale.no,
overrides: overrides ?? {},
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
),
super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
$meta.setFlatMapFunction(_flatMapFunction);
}
/// Metadata for the translations of <no>.
@override final TranslationMetadata<AppLocale, Translations> $meta;
/// Access flat map
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
late final TranslationsNo _root = this; // ignore: unused_field
@override
TranslationsNo $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsNo(meta: meta ?? this.$meta);
// Translations
/// Text prompting user to hit avatar placeholder to begin upload
@override String get upload_avatar => 'Upload Avatar';
/// Heading over listed top streamers by zaps
@override String get most_zapped_streamers => 'Most Zapped Streamers';
/// No user found when searching
@override String get no_user_found => 'No user found';
/// An anonymous user
@override String get anon => 'Anon';
/// Number of viewers of the stream
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('no'))(n,
one: '1 viewer',
other: '${n} viewers',
);
@override late final _TranslationsStreamNo stream = _TranslationsStreamNo._(_root);
@override late final _TranslationsGoalNo goal = _TranslationsGoalNo._(_root);
@override late final _TranslationsButtonNo button = _TranslationsButtonNo._(_root);
@override late final _TranslationsEmbedNo embed = _TranslationsEmbedNo._(_root);
/// Headings on stream lists by stream type live/ended/planned etc.
@override late final _TranslationsStreamListNo stream_list = _TranslationsStreamListNo._(_root);
@override late final _TranslationsZapNo zap = _TranslationsZapNo._(_root);
@override late final _TranslationsProfileNo profile = _TranslationsProfileNo._(_root);
@override late final _TranslationsSettingsNo settings = _TranslationsSettingsNo._(_root);
@override late final _TranslationsLoginNo login = _TranslationsLoginNo._(_root);
}
// Path: stream
class _TranslationsStreamNo extends TranslationsStreamEn {
_TranslationsStreamNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override late final _TranslationsStreamStatusNo status = _TranslationsStreamStatusNo._(_root);
@override String started({required Object timestamp}) => 'Started ${timestamp}';
@override late final _TranslationsStreamChatNo chat = _TranslationsStreamChatNo._(_root);
}
// Path: goal
class _TranslationsGoalNo extends TranslationsGoalEn {
_TranslationsGoalNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String title({required Object amount}) => 'Goal: ${amount}';
@override String remaining({required Object amount}) => 'Remaining: ${amount}';
@override String get complete => 'COMPLETE';
}
// Path: button
class _TranslationsButtonNo extends TranslationsButtonEn {
_TranslationsButtonNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
/// Button text for the login button
@override String get login => 'Login';
@override String get logout => 'Logout';
@override String get edit_profile => 'Edit Profile';
/// Button text for the follow button
@override String get follow => 'Follow';
/// Button text for the unfollow button
@override String get unfollow => 'Unfollow';
@override String get mute => 'Mute';
@override String get unmute => 'Unmute';
@override String get share => 'Share';
@override String get save => 'Save';
@override String get connect => 'Connect';
@override String get settings => 'Settings';
}
// Path: embed
class _TranslationsEmbedNo extends TranslationsEmbedEn {
_TranslationsEmbedNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String article_by({required Object name}) => 'Article by ${name}';
@override String note_by({required Object name}) => 'Note by ${name}';
@override String live_stream_by({required Object name}) => 'Live stream by ${name}';
}
// Path: stream_list
class _TranslationsStreamListNo extends TranslationsStreamListEn {
_TranslationsStreamListNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get following => 'Following';
@override String get live => 'Live';
@override String get planned => 'Planned';
@override String get ended => 'Ended';
}
// Path: zap
class _TranslationsZapNo extends TranslationsZapEn {
_TranslationsZapNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String title({required Object name}) => 'Zap ${name}';
@override String get custom_amount => 'Custom Amount';
@override String get confirm => 'Confirm';
@override String get comment => 'Comment';
@override String button_zap_ready({required Object amount}) => 'Zap ${amount} sats';
@override String get button_zap => 'Zap';
@override String get button_open_wallet => 'Open in Wallet';
@override String get button_connect_wallet => 'Connect Wallet';
@override String get copy => 'Copied to clipboard';
@override late final _TranslationsZapErrorNo error = _TranslationsZapErrorNo._(_root);
}
// Path: profile
class _TranslationsProfileNo extends TranslationsProfileEn {
_TranslationsProfileNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get past_streams => 'Past Streams';
}
// Path: settings
class _TranslationsSettingsNo extends TranslationsSettingsEn {
_TranslationsSettingsNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get button_profile => 'Edit Profile';
@override String get button_wallet => 'Wallet Settings';
@override late final _TranslationsSettingsProfileNo profile = _TranslationsSettingsProfileNo._(_root);
@override late final _TranslationsSettingsWalletNo wallet = _TranslationsSettingsWalletNo._(_root);
}
// Path: login
class _TranslationsLoginNo extends TranslationsLoginEn {
_TranslationsLoginNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get username => 'Username';
@override String get amber => 'Login with Amber';
@override String get key => 'Login with Key';
@override String get create => 'Create Account';
@override late final _TranslationsLoginErrorNo error = _TranslationsLoginErrorNo._(_root);
}
// Path: stream.status
class _TranslationsStreamStatusNo extends TranslationsStreamStatusEn {
_TranslationsStreamStatusNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get live => 'LIVE';
@override String get ended => 'ENDED';
@override String get planned => 'PLANNED';
}
// Path: stream.chat
class _TranslationsStreamChatNo extends TranslationsStreamChatEn {
_TranslationsStreamChatNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get disabled => 'CHAT DISABLED';
@override String disabled_timeout({required Object time}) => 'Timeout expires: ${time}';
/// Chat message showing timeout events
@override TextSpan timeout({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
/// Stream ended footer at bottom of chat
@override String get ended => 'STREAM ENDED';
/// Chat message showing stream zaps
@override TextSpan zap({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
@override late final _TranslationsStreamChatWriteNo write = _TranslationsStreamChatWriteNo._(_root);
@override late final _TranslationsStreamChatBadgeNo badge = _TranslationsStreamChatBadgeNo._(_root);
@override late final _TranslationsStreamChatRaidNo raid = _TranslationsStreamChatRaidNo._(_root);
}
// Path: zap.error
class _TranslationsZapErrorNo extends TranslationsZapErrorEn {
_TranslationsZapErrorNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get invalid_custom_amount => 'Invalid custom amount';
@override String get no_wallet => 'No lightning wallet installed';
@override String get no_lud16 => 'No lightning address found';
}
// Path: settings.profile
class _TranslationsSettingsProfileNo extends TranslationsSettingsProfileEn {
_TranslationsSettingsProfileNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get display_name => 'Display Name';
@override String get about => 'About';
@override String get nip05 => 'Nostr Address';
@override String get lud16 => 'Lightning Address';
@override late final _TranslationsSettingsProfileErrorNo error = _TranslationsSettingsProfileErrorNo._(_root);
}
// Path: settings.wallet
class _TranslationsSettingsWalletNo extends TranslationsSettingsWalletEn {
_TranslationsSettingsWalletNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Connect Wallet (NWC nwc://)';
@override String get disconnect_wallet => 'Disconnect Wallet';
@override late final _TranslationsSettingsWalletErrorNo error = _TranslationsSettingsWalletErrorNo._(_root);
}
// Path: login.error
class _TranslationsLoginErrorNo extends TranslationsLoginErrorEn {
_TranslationsLoginErrorNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get invalid_key => 'Invalid key';
}
// Path: stream.chat.write
class _TranslationsStreamChatWriteNo extends TranslationsStreamChatWriteEn {
_TranslationsStreamChatWriteNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
/// Label on the chat message input box
@override String get label => 'Write message';
/// Chat input message shown when the user is logged in only with pubkey
@override String get no_signer => 'Can\'t write messages with npub login';
/// Chat input message shown when the user is logged out
@override String get login => 'Please login to send messages';
}
// Path: stream.chat.badge
class _TranslationsStreamChatBadgeNo extends TranslationsStreamChatBadgeEn {
_TranslationsStreamChatBadgeNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
/// Heading over list of users who are awarded a badge
@override String get awarded_to => 'Awarded to:';
}
// Path: stream.chat.raid
class _TranslationsStreamChatRaidNo extends TranslationsStreamChatRaidEn {
_TranslationsStreamChatRaidNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
/// Chat raid message to another stream
@override String to({required Object name}) => 'RAIDING ${name}';
/// Chat raid message from another stream
@override String from({required Object name}) => 'RAID FROM ${name}';
/// Countdown timer for auto-raiding
@override String countdown({required Object time}) => 'Raiding in ${time}';
}
// Path: settings.profile.error
class _TranslationsSettingsProfileErrorNo extends TranslationsSettingsProfileErrorEn {
_TranslationsSettingsProfileErrorNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant edit profile when logged out';
}
// Path: settings.wallet.error
class _TranslationsSettingsWalletErrorNo extends TranslationsSettingsWalletErrorEn {
_TranslationsSettingsWalletErrorNo._(TranslationsNo root) : this._root = root, super.internal(root);
final TranslationsNo _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant connect wallet when logged out';
}
/// Flat map(s) containing all translations.
/// Only for edge cases! For simple maps, use the map function of this library.
extension on TranslationsNo {
dynamic _flatMapFunction(String path) {
switch (path) {
case 'upload_avatar': return 'Upload Avatar';
case 'most_zapped_streamers': return 'Most Zapped Streamers';
case 'no_user_found': return 'No user found';
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('no'))(n,
one: '1 viewer',
other: '${n} viewers',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'ENDED';
case 'stream.status.planned': return 'PLANNED';
case 'stream.started': return ({required Object timestamp}) => 'Started ${timestamp}';
case 'stream.chat.disabled': return 'CHAT DISABLED';
case 'stream.chat.disabled_timeout': return ({required Object time}) => 'Timeout expires: ${time}';
case 'stream.chat.timeout': return ({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
case 'stream.chat.ended': return 'STREAM ENDED';
case 'stream.chat.zap': return ({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
case 'stream.chat.write.label': return 'Write message';
case 'stream.chat.write.no_signer': return 'Can\'t write messages with npub login';
case 'stream.chat.write.login': return 'Please login to send messages';
case 'stream.chat.badge.awarded_to': return 'Awarded to:';
case 'stream.chat.raid.to': return ({required Object name}) => 'RAIDING ${name}';
case 'stream.chat.raid.from': return ({required Object name}) => 'RAID FROM ${name}';
case 'stream.chat.raid.countdown': return ({required Object time}) => 'Raiding in ${time}';
case 'goal.title': return ({required Object amount}) => 'Goal: ${amount}';
case 'goal.remaining': return ({required Object amount}) => 'Remaining: ${amount}';
case 'goal.complete': return 'COMPLETE';
case 'button.login': return 'Login';
case 'button.logout': return 'Logout';
case 'button.edit_profile': return 'Edit Profile';
case 'button.follow': return 'Follow';
case 'button.unfollow': return 'Unfollow';
case 'button.mute': return 'Mute';
case 'button.unmute': return 'Unmute';
case 'button.share': return 'Share';
case 'button.save': return 'Save';
case 'button.connect': return 'Connect';
case 'button.settings': return 'Settings';
case 'embed.article_by': return ({required Object name}) => 'Article by ${name}';
case 'embed.note_by': return ({required Object name}) => 'Note by ${name}';
case 'embed.live_stream_by': return ({required Object name}) => 'Live stream by ${name}';
case 'stream_list.following': return 'Following';
case 'stream_list.live': return 'Live';
case 'stream_list.planned': return 'Planned';
case 'stream_list.ended': return 'Ended';
case 'zap.title': return ({required Object name}) => 'Zap ${name}';
case 'zap.custom_amount': return 'Custom Amount';
case 'zap.confirm': return 'Confirm';
case 'zap.comment': return 'Comment';
case 'zap.button_zap_ready': return ({required Object amount}) => 'Zap ${amount} sats';
case 'zap.button_zap': return 'Zap';
case 'zap.button_open_wallet': return 'Open in Wallet';
case 'zap.button_connect_wallet': return 'Connect Wallet';
case 'zap.copy': return 'Copied to clipboard';
case 'zap.error.invalid_custom_amount': return 'Invalid custom amount';
case 'zap.error.no_wallet': return 'No lightning wallet installed';
case 'zap.error.no_lud16': return 'No lightning address found';
case 'profile.past_streams': return 'Past Streams';
case 'settings.button_profile': return 'Edit Profile';
case 'settings.button_wallet': return 'Wallet Settings';
case 'settings.profile.display_name': return 'Display Name';
case 'settings.profile.about': return 'About';
case 'settings.profile.nip05': return 'Nostr Address';
case 'settings.profile.lud16': return 'Lightning Address';
case 'settings.profile.error.logged_out': return 'Cant edit profile when logged out';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nwc://)';
case 'settings.wallet.disconnect_wallet': return 'Disconnect Wallet';
case 'settings.wallet.error.logged_out': return 'Cant connect wallet when logged out';
case 'login.username': return 'Username';
case 'login.amber': return 'Login with Amber';
case 'login.key': return 'Login with Key';
case 'login.create': return 'Create Account';
case 'login.error.invalid_key': return 'Invalid key';
default: return null;
}
}
}

View File

@ -54,7 +54,7 @@ class TranslationsPl extends Translations {
/// Liczba widzów strumienia
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pl'))(n,
one: '1 przeglądarka',
other: '${n} widzowie',
other: '{n:decimalPattern} widzów',
);
@override late final _TranslationsStreamPl stream = _TranslationsStreamPl._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletPl extends TranslationsSettingsWalletEn {
final TranslationsPl _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Connect Wallet (NWC nwc://)';
@override String get connect_wallet => 'Connect Wallet (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Odłącz portfel';
@override String get connect_1tap => 'Połączenie 1-wtykowe';
@override String get paste => 'Wklej adres URL';
@override late final _TranslationsSettingsWalletErrorPl error = _TranslationsSettingsWalletErrorPl._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorPl extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Nie można połączyć portfela po wylogowaniu';
@override String get nwc_auth_event_not_found => 'Nie znaleziono zdarzenia autoryzacji portfela';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsPl {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pl'))(n,
one: '1 przeglądarka',
other: '${n} widzowie',
other: '{n:decimalPattern} widzów',
);
case 'stream.status.live': return 'NA ŻYWO';
case 'stream.status.ended': return 'ZAKOŃCZONY';
@ -448,9 +451,12 @@ extension on TranslationsPl {
case 'settings.profile.nip05': return 'Adres Nostr';
case 'settings.profile.lud16': return 'Adres błyskawicy';
case 'settings.profile.error.logged_out': return 'Nie można edytować profilu po wylogowaniu';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Odłącz portfel';
case 'settings.wallet.connect_1tap': return 'Połączenie 1-wtykowe';
case 'settings.wallet.paste': return 'Wklej adres URL';
case 'settings.wallet.error.logged_out': return 'Nie można połączyć portfela po wylogowaniu';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Nie znaleziono zdarzenia autoryzacji portfela';
case 'login.username': return 'Nazwa użytkownika';
case 'login.amber': return 'Zaloguj się za pomocą Amber';
case 'login.key': return 'Logowanie za pomocą klucza';

View File

@ -54,7 +54,7 @@ class TranslationsPt extends Translations {
/// Número de espectadores da transmissão
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pt'))(n,
one: '1 visualizador',
other: '${n} espectadores',
other: '${NumberFormat.decimalPattern('pt').format(n)} espectadores',
);
@override late final _TranslationsStreamPt stream = _TranslationsStreamPt._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletPt extends TranslationsSettingsWalletEn {
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Conectar carteira (NWC nwc://)';
@override String get connect_wallet => 'Carteira Connect (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Desconectar carteira';
@override String get connect_1tap => 'Conexão de 1 torneira';
@override String get paste => 'Colar URL';
@override late final _TranslationsSettingsWalletErrorPt error = _TranslationsSettingsWalletErrorPt._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorPt extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Não consigo conectar a carteira quando estou desconectado';
@override String get nwc_auth_event_not_found => 'Nenhum evento de autenticação de carteira encontrado';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsPt {
case 'anon': return 'Anônimo';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pt'))(n,
one: '1 visualizador',
other: '${n} espectadores',
other: '${NumberFormat.decimalPattern('pt').format(n)} espectadores',
);
case 'stream.status.live': return 'AO VIVO';
case 'stream.status.ended': return 'FINALIZADO';
@ -448,9 +451,12 @@ extension on TranslationsPt {
case 'settings.profile.nip05': return 'Endereço Nostr';
case 'settings.profile.lud16': return 'Endereço para relâmpagos';
case 'settings.profile.error.logged_out': return 'Não é possível editar o perfil quando se está desconectado';
case 'settings.wallet.connect_wallet': return 'Conectar carteira (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Carteira Connect (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Desconectar carteira';
case 'settings.wallet.connect_1tap': return 'Conexão de 1 torneira';
case 'settings.wallet.paste': return 'Colar URL';
case 'settings.wallet.error.logged_out': return 'Não consigo conectar a carteira quando estou desconectado';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Nenhum evento de autenticação de carteira encontrado';
case 'login.username': return 'Nome de usuário';
case 'login.amber': return 'Faça login com o Amber';
case 'login.key': return 'Login com chave';

View File

@ -54,7 +54,7 @@ class TranslationsRo extends Translations {
/// Numărul de telespectatori ai fluxului
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ro'))(n,
one: '1 vizualizator',
other: '${n} telespectatori',
other: '${NumberFormat.decimalPattern('ro').format(n)} telespectatori',
);
@override late final _TranslationsStreamRo stream = _TranslationsStreamRo._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletRo extends TranslationsSettingsWalletEn {
final TranslationsRo _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Conectați portofelul (NWC nwc://)';
@override String get connect_wallet => 'Conectați portofelul (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Deconectați portofelul';
@override String get connect_1tap => 'Conexiune 1-Tap';
@override String get paste => 'Lipiți URL';
@override late final _TranslationsSettingsWalletErrorRo error = _TranslationsSettingsWalletErrorRo._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorRo extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Nu puteți conecta portofelul atunci când sunteți deconectat';
@override String get nwc_auth_event_not_found => 'Nu a fost găsit niciun eveniment de autorizare a portofelului';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsRo {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ro'))(n,
one: '1 vizualizator',
other: '${n} telespectatori',
other: '${NumberFormat.decimalPattern('ro').format(n)} telespectatori',
);
case 'stream.status.live': return 'ÎN DIRECT';
case 'stream.status.ended': return 'TERMINAT';
@ -448,9 +451,12 @@ extension on TranslationsRo {
case 'settings.profile.nip05': return 'Adresa Nostr';
case 'settings.profile.lud16': return 'Adresa fulgerului';
case 'settings.profile.error.logged_out': return 'Nu pot edita profilul când sunt deconectat';
case 'settings.wallet.connect_wallet': return 'Conectați portofelul (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Conectați portofelul (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Deconectați portofelul';
case 'settings.wallet.connect_1tap': return 'Conexiune 1-Tap';
case 'settings.wallet.paste': return 'Lipiți URL';
case 'settings.wallet.error.logged_out': return 'Nu puteți conecta portofelul atunci când sunteți deconectat';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Nu a fost găsit niciun eveniment de autorizare a portofelului';
case 'login.username': return 'Nume utilizator';
case 'login.amber': return 'Conectați-vă cu Amber';
case 'login.key': return 'Autentificare cu cheie';

View File

@ -54,7 +54,7 @@ class TranslationsRu extends Translations {
/// Количество зрителей потока
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ru'))(n,
one: '1 зритель',
other: '${n} зрителей',
other: '${NumberFormat.decimalPattern('ru').format(n)} зрителей',
);
@override late final _TranslationsStreamRu stream = _TranslationsStreamRu._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletRu extends TranslationsSettingsWalletEn {
final TranslationsRu _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Подключите кошелек (NWC nwc://)';
@override String get connect_wallet => 'Кошелек Connect (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Отключить кошелек';
@override String get connect_1tap => '1-кратное соединение';
@override String get paste => 'Вставить URL';
@override late final _TranslationsSettingsWalletErrorRu error = _TranslationsSettingsWalletErrorRu._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorRu extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Невозможно подключить кошелек при выходе из системы';
@override String get nwc_auth_event_not_found => 'Событие аутентификации кошелька не найдено';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsRu {
case 'anon': return 'Аноним';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ru'))(n,
one: '1 зритель',
other: '${n} зрителей',
other: '${NumberFormat.decimalPattern('ru').format(n)} зрителей',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'КОНЕЦ';
@ -448,9 +451,12 @@ extension on TranslationsRu {
case 'settings.profile.nip05': return 'Адрес Ностр';
case 'settings.profile.lud16': return 'Адрес молнии';
case 'settings.profile.error.logged_out': return 'Невозможно редактировать профиль при выходе из системы';
case 'settings.wallet.connect_wallet': return 'Подключите кошелек (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Кошелек Connect (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Отключить кошелек';
case 'settings.wallet.connect_1tap': return '1-кратное соединение';
case 'settings.wallet.paste': return 'Вставить URL';
case 'settings.wallet.error.logged_out': return 'Невозможно подключить кошелек при выходе из системы';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Событие аутентификации кошелька не найдено';
case 'login.username': return 'Имя пользователя';
case 'login.amber': return 'Войти с помощью Amber';
case 'login.key': return 'Вход в систему с помощью ключа';

View File

@ -1,463 +0,0 @@
///
/// Generated file. Do not edit.
///
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:slang/generated.dart';
import 'strings.g.dart';
// Path: <root>
class TranslationsSr extends Translations {
/// You can call this constructor and build your own translation instance of this locale.
/// Constructing via the enum [AppLocale.build] is preferred.
TranslationsSr({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
$meta = meta ?? TranslationMetadata(
locale: AppLocale.sr,
overrides: overrides ?? {},
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
),
super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
$meta.setFlatMapFunction(_flatMapFunction);
}
/// Metadata for the translations of <sr>.
@override final TranslationMetadata<AppLocale, Translations> $meta;
/// Access flat map
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
late final TranslationsSr _root = this; // ignore: unused_field
@override
TranslationsSr $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsSr(meta: meta ?? this.$meta);
// Translations
/// Text prompting user to hit avatar placeholder to begin upload
@override String get upload_avatar => 'Upload Avatar';
/// Heading over listed top streamers by zaps
@override String get most_zapped_streamers => 'Most Zapped Streamers';
/// No user found when searching
@override String get no_user_found => 'No user found';
/// An anonymous user
@override String get anon => 'Anon';
/// Number of viewers of the stream
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('sr'))(n,
one: '1 viewer',
other: '${n} viewers',
);
@override late final _TranslationsStreamSr stream = _TranslationsStreamSr._(_root);
@override late final _TranslationsGoalSr goal = _TranslationsGoalSr._(_root);
@override late final _TranslationsButtonSr button = _TranslationsButtonSr._(_root);
@override late final _TranslationsEmbedSr embed = _TranslationsEmbedSr._(_root);
/// Headings on stream lists by stream type live/ended/planned etc.
@override late final _TranslationsStreamListSr stream_list = _TranslationsStreamListSr._(_root);
@override late final _TranslationsZapSr zap = _TranslationsZapSr._(_root);
@override late final _TranslationsProfileSr profile = _TranslationsProfileSr._(_root);
@override late final _TranslationsSettingsSr settings = _TranslationsSettingsSr._(_root);
@override late final _TranslationsLoginSr login = _TranslationsLoginSr._(_root);
}
// Path: stream
class _TranslationsStreamSr extends TranslationsStreamEn {
_TranslationsStreamSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override late final _TranslationsStreamStatusSr status = _TranslationsStreamStatusSr._(_root);
@override String started({required Object timestamp}) => 'Started ${timestamp}';
@override late final _TranslationsStreamChatSr chat = _TranslationsStreamChatSr._(_root);
}
// Path: goal
class _TranslationsGoalSr extends TranslationsGoalEn {
_TranslationsGoalSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String title({required Object amount}) => 'Goal: ${amount}';
@override String remaining({required Object amount}) => 'Remaining: ${amount}';
@override String get complete => 'COMPLETE';
}
// Path: button
class _TranslationsButtonSr extends TranslationsButtonEn {
_TranslationsButtonSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
/// Button text for the login button
@override String get login => 'Login';
@override String get logout => 'Logout';
@override String get edit_profile => 'Edit Profile';
/// Button text for the follow button
@override String get follow => 'Follow';
/// Button text for the unfollow button
@override String get unfollow => 'Unfollow';
@override String get mute => 'Mute';
@override String get unmute => 'Unmute';
@override String get share => 'Share';
@override String get save => 'Save';
@override String get connect => 'Connect';
@override String get settings => 'Settings';
}
// Path: embed
class _TranslationsEmbedSr extends TranslationsEmbedEn {
_TranslationsEmbedSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String article_by({required Object name}) => 'Article by ${name}';
@override String note_by({required Object name}) => 'Note by ${name}';
@override String live_stream_by({required Object name}) => 'Live stream by ${name}';
}
// Path: stream_list
class _TranslationsStreamListSr extends TranslationsStreamListEn {
_TranslationsStreamListSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get following => 'Following';
@override String get live => 'Live';
@override String get planned => 'Planned';
@override String get ended => 'Ended';
}
// Path: zap
class _TranslationsZapSr extends TranslationsZapEn {
_TranslationsZapSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String title({required Object name}) => 'Zap ${name}';
@override String get custom_amount => 'Custom Amount';
@override String get confirm => 'Confirm';
@override String get comment => 'Comment';
@override String button_zap_ready({required Object amount}) => 'Zap ${amount} sats';
@override String get button_zap => 'Zap';
@override String get button_open_wallet => 'Open in Wallet';
@override String get button_connect_wallet => 'Connect Wallet';
@override String get copy => 'Copied to clipboard';
@override late final _TranslationsZapErrorSr error = _TranslationsZapErrorSr._(_root);
}
// Path: profile
class _TranslationsProfileSr extends TranslationsProfileEn {
_TranslationsProfileSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get past_streams => 'Past Streams';
}
// Path: settings
class _TranslationsSettingsSr extends TranslationsSettingsEn {
_TranslationsSettingsSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get button_profile => 'Edit Profile';
@override String get button_wallet => 'Wallet Settings';
@override late final _TranslationsSettingsProfileSr profile = _TranslationsSettingsProfileSr._(_root);
@override late final _TranslationsSettingsWalletSr wallet = _TranslationsSettingsWalletSr._(_root);
}
// Path: login
class _TranslationsLoginSr extends TranslationsLoginEn {
_TranslationsLoginSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get username => 'Username';
@override String get amber => 'Login with Amber';
@override String get key => 'Login with Key';
@override String get create => 'Create Account';
@override late final _TranslationsLoginErrorSr error = _TranslationsLoginErrorSr._(_root);
}
// Path: stream.status
class _TranslationsStreamStatusSr extends TranslationsStreamStatusEn {
_TranslationsStreamStatusSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get live => 'LIVE';
@override String get ended => 'ENDED';
@override String get planned => 'PLANNED';
}
// Path: stream.chat
class _TranslationsStreamChatSr extends TranslationsStreamChatEn {
_TranslationsStreamChatSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get disabled => 'CHAT DISABLED';
@override String disabled_timeout({required Object time}) => 'Timeout expires: ${time}';
/// Chat message showing timeout events
@override TextSpan timeout({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
/// Stream ended footer at bottom of chat
@override String get ended => 'STREAM ENDED';
/// Chat message showing stream zaps
@override TextSpan zap({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
@override late final _TranslationsStreamChatWriteSr write = _TranslationsStreamChatWriteSr._(_root);
@override late final _TranslationsStreamChatBadgeSr badge = _TranslationsStreamChatBadgeSr._(_root);
@override late final _TranslationsStreamChatRaidSr raid = _TranslationsStreamChatRaidSr._(_root);
}
// Path: zap.error
class _TranslationsZapErrorSr extends TranslationsZapErrorEn {
_TranslationsZapErrorSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get invalid_custom_amount => 'Invalid custom amount';
@override String get no_wallet => 'No lightning wallet installed';
@override String get no_lud16 => 'No lightning address found';
}
// Path: settings.profile
class _TranslationsSettingsProfileSr extends TranslationsSettingsProfileEn {
_TranslationsSettingsProfileSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get display_name => 'Display Name';
@override String get about => 'About';
@override String get nip05 => 'Nostr Address';
@override String get lud16 => 'Lightning Address';
@override late final _TranslationsSettingsProfileErrorSr error = _TranslationsSettingsProfileErrorSr._(_root);
}
// Path: settings.wallet
class _TranslationsSettingsWalletSr extends TranslationsSettingsWalletEn {
_TranslationsSettingsWalletSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Connect Wallet (NWC nwc://)';
@override String get disconnect_wallet => 'Disconnect Wallet';
@override late final _TranslationsSettingsWalletErrorSr error = _TranslationsSettingsWalletErrorSr._(_root);
}
// Path: login.error
class _TranslationsLoginErrorSr extends TranslationsLoginErrorEn {
_TranslationsLoginErrorSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get invalid_key => 'Invalid key';
}
// Path: stream.chat.write
class _TranslationsStreamChatWriteSr extends TranslationsStreamChatWriteEn {
_TranslationsStreamChatWriteSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
/// Label on the chat message input box
@override String get label => 'Write message';
/// Chat input message shown when the user is logged in only with pubkey
@override String get no_signer => 'Can\'t write messages with npub login';
/// Chat input message shown when the user is logged out
@override String get login => 'Please login to send messages';
}
// Path: stream.chat.badge
class _TranslationsStreamChatBadgeSr extends TranslationsStreamChatBadgeEn {
_TranslationsStreamChatBadgeSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
/// Heading over list of users who are awarded a badge
@override String get awarded_to => 'Awarded to:';
}
// Path: stream.chat.raid
class _TranslationsStreamChatRaidSr extends TranslationsStreamChatRaidEn {
_TranslationsStreamChatRaidSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
/// Chat raid message to another stream
@override String to({required Object name}) => 'RAIDING ${name}';
/// Chat raid message from another stream
@override String from({required Object name}) => 'RAID FROM ${name}';
/// Countdown timer for auto-raiding
@override String countdown({required Object time}) => 'Raiding in ${time}';
}
// Path: settings.profile.error
class _TranslationsSettingsProfileErrorSr extends TranslationsSettingsProfileErrorEn {
_TranslationsSettingsProfileErrorSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant edit profile when logged out';
}
// Path: settings.wallet.error
class _TranslationsSettingsWalletErrorSr extends TranslationsSettingsWalletErrorEn {
_TranslationsSettingsWalletErrorSr._(TranslationsSr root) : this._root = root, super.internal(root);
final TranslationsSr _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant connect wallet when logged out';
}
/// Flat map(s) containing all translations.
/// Only for edge cases! For simple maps, use the map function of this library.
extension on TranslationsSr {
dynamic _flatMapFunction(String path) {
switch (path) {
case 'upload_avatar': return 'Upload Avatar';
case 'most_zapped_streamers': return 'Most Zapped Streamers';
case 'no_user_found': return 'No user found';
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('sr'))(n,
one: '1 viewer',
other: '${n} viewers',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'ENDED';
case 'stream.status.planned': return 'PLANNED';
case 'stream.started': return ({required Object timestamp}) => 'Started ${timestamp}';
case 'stream.chat.disabled': return 'CHAT DISABLED';
case 'stream.chat.disabled_timeout': return ({required Object time}) => 'Timeout expires: ${time}';
case 'stream.chat.timeout': return ({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
case 'stream.chat.ended': return 'STREAM ENDED';
case 'stream.chat.zap': return ({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
case 'stream.chat.write.label': return 'Write message';
case 'stream.chat.write.no_signer': return 'Can\'t write messages with npub login';
case 'stream.chat.write.login': return 'Please login to send messages';
case 'stream.chat.badge.awarded_to': return 'Awarded to:';
case 'stream.chat.raid.to': return ({required Object name}) => 'RAIDING ${name}';
case 'stream.chat.raid.from': return ({required Object name}) => 'RAID FROM ${name}';
case 'stream.chat.raid.countdown': return ({required Object time}) => 'Raiding in ${time}';
case 'goal.title': return ({required Object amount}) => 'Goal: ${amount}';
case 'goal.remaining': return ({required Object amount}) => 'Remaining: ${amount}';
case 'goal.complete': return 'COMPLETE';
case 'button.login': return 'Login';
case 'button.logout': return 'Logout';
case 'button.edit_profile': return 'Edit Profile';
case 'button.follow': return 'Follow';
case 'button.unfollow': return 'Unfollow';
case 'button.mute': return 'Mute';
case 'button.unmute': return 'Unmute';
case 'button.share': return 'Share';
case 'button.save': return 'Save';
case 'button.connect': return 'Connect';
case 'button.settings': return 'Settings';
case 'embed.article_by': return ({required Object name}) => 'Article by ${name}';
case 'embed.note_by': return ({required Object name}) => 'Note by ${name}';
case 'embed.live_stream_by': return ({required Object name}) => 'Live stream by ${name}';
case 'stream_list.following': return 'Following';
case 'stream_list.live': return 'Live';
case 'stream_list.planned': return 'Planned';
case 'stream_list.ended': return 'Ended';
case 'zap.title': return ({required Object name}) => 'Zap ${name}';
case 'zap.custom_amount': return 'Custom Amount';
case 'zap.confirm': return 'Confirm';
case 'zap.comment': return 'Comment';
case 'zap.button_zap_ready': return ({required Object amount}) => 'Zap ${amount} sats';
case 'zap.button_zap': return 'Zap';
case 'zap.button_open_wallet': return 'Open in Wallet';
case 'zap.button_connect_wallet': return 'Connect Wallet';
case 'zap.copy': return 'Copied to clipboard';
case 'zap.error.invalid_custom_amount': return 'Invalid custom amount';
case 'zap.error.no_wallet': return 'No lightning wallet installed';
case 'zap.error.no_lud16': return 'No lightning address found';
case 'profile.past_streams': return 'Past Streams';
case 'settings.button_profile': return 'Edit Profile';
case 'settings.button_wallet': return 'Wallet Settings';
case 'settings.profile.display_name': return 'Display Name';
case 'settings.profile.about': return 'About';
case 'settings.profile.nip05': return 'Nostr Address';
case 'settings.profile.lud16': return 'Lightning Address';
case 'settings.profile.error.logged_out': return 'Cant edit profile when logged out';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nwc://)';
case 'settings.wallet.disconnect_wallet': return 'Disconnect Wallet';
case 'settings.wallet.error.logged_out': return 'Cant connect wallet when logged out';
case 'login.username': return 'Username';
case 'login.amber': return 'Login with Amber';
case 'login.key': return 'Login with Key';
case 'login.create': return 'Create Account';
case 'login.error.invalid_key': return 'Invalid key';
default: return null;
}
}
}

View File

@ -54,7 +54,7 @@ class TranslationsSv extends Translations {
/// Antal tittare på streamingen
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('sv'))(n,
one: '1 tittare',
other: '${n} tittare',
other: '${NumberFormat.decimalPattern('sv').format(n)} tittare',
);
@override late final _TranslationsStreamSv stream = _TranslationsStreamSv._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletSv extends TranslationsSettingsWalletEn {
final TranslationsSv _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Anslut plånbok (NWC nwc://)';
@override String get connect_wallet => 'Connect plånbok (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Koppla bort plånboken';
@override String get connect_1tap => '1-Tap-anslutning';
@override String get paste => 'Klistra in URL';
@override late final _TranslationsSettingsWalletErrorSv error = _TranslationsSettingsWalletErrorSv._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorSv extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Kan inte ansluta plånbok när du är inloggad';
@override String get nwc_auth_event_not_found => 'Inget autentiseringshändelse för plånbok hittades';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsSv {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('sv'))(n,
one: '1 tittare',
other: '${n} tittare',
other: '${NumberFormat.decimalPattern('sv').format(n)} tittare',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'AVSLUTAD';
@ -448,9 +451,12 @@ extension on TranslationsSv {
case 'settings.profile.nip05': return 'Nostr Adress';
case 'settings.profile.lud16': return 'Adress för blixtnedslag';
case 'settings.profile.error.logged_out': return 'Kan inte redigera profil när jag är utloggad';
case 'settings.wallet.connect_wallet': return 'Anslut plånbok (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect plånbok (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Koppla bort plånboken';
case 'settings.wallet.connect_1tap': return '1-Tap-anslutning';
case 'settings.wallet.paste': return 'Klistra in URL';
case 'settings.wallet.error.logged_out': return 'Kan inte ansluta plånbok när du är inloggad';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Inget autentiseringshändelse för plånbok hittades';
case 'login.username': return 'Användarnamn';
case 'login.amber': return 'Logga in med Amber';
case 'login.key': return 'Logga in med nyckel';

View File

@ -54,7 +54,7 @@ class TranslationsTr extends Translations {
/// Akışı izleyenlerin sayısı
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('tr'))(n,
one: '1 izleyici',
other: '${n} izleyiciler',
other: '${NumberFormat.decimalPattern('tr').format(n)} izleyiciler',
);
@override late final _TranslationsStreamTr stream = _TranslationsStreamTr._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletTr extends TranslationsSettingsWalletEn {
final TranslationsTr _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Cüzdanı Bağlayın (NWC nwc://)';
@override String get connect_wallet => 'Connect Cüzdan (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Cüzdan Bağlantısını Kes';
@override String get connect_1tap => '1-Tap Bağlantı';
@override String get paste => 'URL Yapıştır';
@override late final _TranslationsSettingsWalletErrorTr error = _TranslationsSettingsWalletErrorTr._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorTr extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Oturumu kapattığımda cüzdana bağlanamıyorum';
@override String get nwc_auth_event_not_found => 'Cüzdan yetkilendirme olayı bulunamadı';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsTr {
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('tr'))(n,
one: '1 izleyici',
other: '${n} izleyiciler',
other: '${NumberFormat.decimalPattern('tr').format(n)} izleyiciler',
);
case 'stream.status.live': return 'CANLI';
case 'stream.status.ended': return 'SONLANDI';
@ -448,9 +451,12 @@ extension on TranslationsTr {
case 'settings.profile.nip05': return 'Nostr Adres';
case 'settings.profile.lud16': return 'Yıldırım Adres';
case 'settings.profile.error.logged_out': return 'Çıkış yapıldığında profil düzenlenemiyor';
case 'settings.wallet.connect_wallet': return 'Cüzdanı Bağlayın (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect Cüzdan (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Cüzdan Bağlantısını Kes';
case 'settings.wallet.connect_1tap': return '1-Tap Bağlantı';
case 'settings.wallet.paste': return 'URL Yapıştır';
case 'settings.wallet.error.logged_out': return 'Oturumu kapattığımda cüzdana bağlanamıyorum';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Cüzdan yetkilendirme olayı bulunamadı';
case 'login.username': return 'Kullanıcı Adı';
case 'login.amber': return 'Amber ile Giriş Yapın';
case 'login.key': return 'Anahtar ile Giriş Yapın';

View File

@ -54,7 +54,7 @@ class TranslationsUk extends Translations {
/// Кількість глядачів стріму
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('uk'))(n,
one: '1 глядач',
other: '${n} глядачі',
other: '${NumberFormat.decimalPattern('uk').format(n)} глядачів',
);
@override late final _TranslationsStreamUk stream = _TranslationsStreamUk._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletUk extends TranslationsSettingsWalletEn {
final TranslationsUk _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Підключити гаманець (NWC nwc://)';
@override String get connect_wallet => 'Підключити гаманець (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => 'Відключити гаманець';
@override String get connect_1tap => 'Підключення в 1 кран';
@override String get paste => 'Вставити URL-адресу';
@override late final _TranslationsSettingsWalletErrorUk error = _TranslationsSettingsWalletErrorUk._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorUk extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => 'Не вдається підключити гаманець, коли ви вийшли з системи';
@override String get nwc_auth_event_not_found => 'Не знайдено жодної події авторизації гаманця';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsUk {
case 'anon': return 'Анонім.';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('uk'))(n,
one: '1 глядач',
other: '${n} глядачі',
other: '${NumberFormat.decimalPattern('uk').format(n)} глядачів',
);
case 'stream.status.live': return 'НАЖИВО';
case 'stream.status.ended': return 'ЗАКІНЧЕНО';
@ -448,9 +451,12 @@ extension on TranslationsUk {
case 'settings.profile.nip05': return 'Nostr Адреса';
case 'settings.profile.lud16': return 'Блискавична адреса';
case 'settings.profile.error.logged_out': return 'Неможливо редагувати профіль, коли ви вийшли з системи';
case 'settings.wallet.connect_wallet': return 'Підключити гаманець (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Підключити гаманець (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return 'Відключити гаманець';
case 'settings.wallet.connect_1tap': return 'Підключення в 1 кран';
case 'settings.wallet.paste': return 'Вставити URL-адресу';
case 'settings.wallet.error.logged_out': return 'Не вдається підключити гаманець, коли ви вийшли з системи';
case 'settings.wallet.error.nwc_auth_event_not_found': return 'Не знайдено жодної події авторизації гаманця';
case 'login.username': return 'Ім\'я користувача';
case 'login.amber': return 'Увійдіть за допомогою Amber';
case 'login.key': return 'Увійдіть за допомогою ключа';

View File

@ -1,463 +0,0 @@
///
/// Generated file. Do not edit.
///
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:slang/generated.dart';
import 'strings.g.dart';
// Path: <root>
class TranslationsVi extends Translations {
/// You can call this constructor and build your own translation instance of this locale.
/// Constructing via the enum [AppLocale.build] is preferred.
TranslationsVi({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
$meta = meta ?? TranslationMetadata(
locale: AppLocale.vi,
overrides: overrides ?? {},
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
),
super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
$meta.setFlatMapFunction(_flatMapFunction);
}
/// Metadata for the translations of <vi>.
@override final TranslationMetadata<AppLocale, Translations> $meta;
/// Access flat map
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
late final TranslationsVi _root = this; // ignore: unused_field
@override
TranslationsVi $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsVi(meta: meta ?? this.$meta);
// Translations
/// Text prompting user to hit avatar placeholder to begin upload
@override String get upload_avatar => 'Upload Avatar';
/// Heading over listed top streamers by zaps
@override String get most_zapped_streamers => 'Most Zapped Streamers';
/// No user found when searching
@override String get no_user_found => 'No user found';
/// An anonymous user
@override String get anon => 'Anon';
/// Number of viewers of the stream
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('vi'))(n,
one: '1 viewer',
other: '${n} viewers',
);
@override late final _TranslationsStreamVi stream = _TranslationsStreamVi._(_root);
@override late final _TranslationsGoalVi goal = _TranslationsGoalVi._(_root);
@override late final _TranslationsButtonVi button = _TranslationsButtonVi._(_root);
@override late final _TranslationsEmbedVi embed = _TranslationsEmbedVi._(_root);
/// Headings on stream lists by stream type live/ended/planned etc.
@override late final _TranslationsStreamListVi stream_list = _TranslationsStreamListVi._(_root);
@override late final _TranslationsZapVi zap = _TranslationsZapVi._(_root);
@override late final _TranslationsProfileVi profile = _TranslationsProfileVi._(_root);
@override late final _TranslationsSettingsVi settings = _TranslationsSettingsVi._(_root);
@override late final _TranslationsLoginVi login = _TranslationsLoginVi._(_root);
}
// Path: stream
class _TranslationsStreamVi extends TranslationsStreamEn {
_TranslationsStreamVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override late final _TranslationsStreamStatusVi status = _TranslationsStreamStatusVi._(_root);
@override String started({required Object timestamp}) => 'Started ${timestamp}';
@override late final _TranslationsStreamChatVi chat = _TranslationsStreamChatVi._(_root);
}
// Path: goal
class _TranslationsGoalVi extends TranslationsGoalEn {
_TranslationsGoalVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String title({required Object amount}) => 'Goal: ${amount}';
@override String remaining({required Object amount}) => 'Remaining: ${amount}';
@override String get complete => 'COMPLETE';
}
// Path: button
class _TranslationsButtonVi extends TranslationsButtonEn {
_TranslationsButtonVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
/// Button text for the login button
@override String get login => 'Login';
@override String get logout => 'Logout';
@override String get edit_profile => 'Edit Profile';
/// Button text for the follow button
@override String get follow => 'Follow';
/// Button text for the unfollow button
@override String get unfollow => 'Unfollow';
@override String get mute => 'Mute';
@override String get unmute => 'Unmute';
@override String get share => 'Share';
@override String get save => 'Save';
@override String get connect => 'Connect';
@override String get settings => 'Settings';
}
// Path: embed
class _TranslationsEmbedVi extends TranslationsEmbedEn {
_TranslationsEmbedVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String article_by({required Object name}) => 'Article by ${name}';
@override String note_by({required Object name}) => 'Note by ${name}';
@override String live_stream_by({required Object name}) => 'Live stream by ${name}';
}
// Path: stream_list
class _TranslationsStreamListVi extends TranslationsStreamListEn {
_TranslationsStreamListVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get following => 'Following';
@override String get live => 'Live';
@override String get planned => 'Planned';
@override String get ended => 'Ended';
}
// Path: zap
class _TranslationsZapVi extends TranslationsZapEn {
_TranslationsZapVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String title({required Object name}) => 'Zap ${name}';
@override String get custom_amount => 'Custom Amount';
@override String get confirm => 'Confirm';
@override String get comment => 'Comment';
@override String button_zap_ready({required Object amount}) => 'Zap ${amount} sats';
@override String get button_zap => 'Zap';
@override String get button_open_wallet => 'Open in Wallet';
@override String get button_connect_wallet => 'Connect Wallet';
@override String get copy => 'Copied to clipboard';
@override late final _TranslationsZapErrorVi error = _TranslationsZapErrorVi._(_root);
}
// Path: profile
class _TranslationsProfileVi extends TranslationsProfileEn {
_TranslationsProfileVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get past_streams => 'Past Streams';
}
// Path: settings
class _TranslationsSettingsVi extends TranslationsSettingsEn {
_TranslationsSettingsVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get button_profile => 'Edit Profile';
@override String get button_wallet => 'Wallet Settings';
@override late final _TranslationsSettingsProfileVi profile = _TranslationsSettingsProfileVi._(_root);
@override late final _TranslationsSettingsWalletVi wallet = _TranslationsSettingsWalletVi._(_root);
}
// Path: login
class _TranslationsLoginVi extends TranslationsLoginEn {
_TranslationsLoginVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get username => 'Username';
@override String get amber => 'Login with Amber';
@override String get key => 'Login with Key';
@override String get create => 'Create Account';
@override late final _TranslationsLoginErrorVi error = _TranslationsLoginErrorVi._(_root);
}
// Path: stream.status
class _TranslationsStreamStatusVi extends TranslationsStreamStatusEn {
_TranslationsStreamStatusVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get live => 'LIVE';
@override String get ended => 'ENDED';
@override String get planned => 'PLANNED';
}
// Path: stream.chat
class _TranslationsStreamChatVi extends TranslationsStreamChatEn {
_TranslationsStreamChatVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get disabled => 'CHAT DISABLED';
@override String disabled_timeout({required Object time}) => 'Timeout expires: ${time}';
/// Chat message showing timeout events
@override TextSpan timeout({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
/// Stream ended footer at bottom of chat
@override String get ended => 'STREAM ENDED';
/// Chat message showing stream zaps
@override TextSpan zap({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
@override late final _TranslationsStreamChatWriteVi write = _TranslationsStreamChatWriteVi._(_root);
@override late final _TranslationsStreamChatBadgeVi badge = _TranslationsStreamChatBadgeVi._(_root);
@override late final _TranslationsStreamChatRaidVi raid = _TranslationsStreamChatRaidVi._(_root);
}
// Path: zap.error
class _TranslationsZapErrorVi extends TranslationsZapErrorEn {
_TranslationsZapErrorVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get invalid_custom_amount => 'Invalid custom amount';
@override String get no_wallet => 'No lightning wallet installed';
@override String get no_lud16 => 'No lightning address found';
}
// Path: settings.profile
class _TranslationsSettingsProfileVi extends TranslationsSettingsProfileEn {
_TranslationsSettingsProfileVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get display_name => 'Display Name';
@override String get about => 'About';
@override String get nip05 => 'Nostr Address';
@override String get lud16 => 'Lightning Address';
@override late final _TranslationsSettingsProfileErrorVi error = _TranslationsSettingsProfileErrorVi._(_root);
}
// Path: settings.wallet
class _TranslationsSettingsWalletVi extends TranslationsSettingsWalletEn {
_TranslationsSettingsWalletVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get connect_wallet => 'Connect Wallet (NWC nwc://)';
@override String get disconnect_wallet => 'Disconnect Wallet';
@override late final _TranslationsSettingsWalletErrorVi error = _TranslationsSettingsWalletErrorVi._(_root);
}
// Path: login.error
class _TranslationsLoginErrorVi extends TranslationsLoginErrorEn {
_TranslationsLoginErrorVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get invalid_key => 'Invalid key';
}
// Path: stream.chat.write
class _TranslationsStreamChatWriteVi extends TranslationsStreamChatWriteEn {
_TranslationsStreamChatWriteVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
/// Label on the chat message input box
@override String get label => 'Write message';
/// Chat input message shown when the user is logged in only with pubkey
@override String get no_signer => 'Can\'t write messages with npub login';
/// Chat input message shown when the user is logged out
@override String get login => 'Please login to send messages';
}
// Path: stream.chat.badge
class _TranslationsStreamChatBadgeVi extends TranslationsStreamChatBadgeEn {
_TranslationsStreamChatBadgeVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
/// Heading over list of users who are awarded a badge
@override String get awarded_to => 'Awarded to:';
}
// Path: stream.chat.raid
class _TranslationsStreamChatRaidVi extends TranslationsStreamChatRaidEn {
_TranslationsStreamChatRaidVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
/// Chat raid message to another stream
@override String to({required Object name}) => 'RAIDING ${name}';
/// Chat raid message from another stream
@override String from({required Object name}) => 'RAID FROM ${name}';
/// Countdown timer for auto-raiding
@override String countdown({required Object time}) => 'Raiding in ${time}';
}
// Path: settings.profile.error
class _TranslationsSettingsProfileErrorVi extends TranslationsSettingsProfileErrorEn {
_TranslationsSettingsProfileErrorVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant edit profile when logged out';
}
// Path: settings.wallet.error
class _TranslationsSettingsWalletErrorVi extends TranslationsSettingsWalletErrorEn {
_TranslationsSettingsWalletErrorVi._(TranslationsVi root) : this._root = root, super.internal(root);
final TranslationsVi _root; // ignore: unused_field
// Translations
@override String get logged_out => 'Cant connect wallet when logged out';
}
/// Flat map(s) containing all translations.
/// Only for edge cases! For simple maps, use the map function of this library.
extension on TranslationsVi {
dynamic _flatMapFunction(String path) {
switch (path) {
case 'upload_avatar': return 'Upload Avatar';
case 'most_zapped_streamers': return 'Most Zapped Streamers';
case 'no_user_found': return 'No user found';
case 'anon': return 'Anon';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('vi'))(n,
one: '1 viewer',
other: '${n} viewers',
);
case 'stream.status.live': return 'LIVE';
case 'stream.status.ended': return 'ENDED';
case 'stream.status.planned': return 'PLANNED';
case 'stream.started': return ({required Object timestamp}) => 'Started ${timestamp}';
case 'stream.chat.disabled': return 'CHAT DISABLED';
case 'stream.chat.disabled_timeout': return ({required Object time}) => 'Timeout expires: ${time}';
case 'stream.chat.timeout': return ({required InlineSpan mod, required InlineSpan user, required InlineSpan time}) => TextSpan(children: [
mod,
const TextSpan(text: ' timed out '),
user,
const TextSpan(text: ' for '),
time,
]);
case 'stream.chat.ended': return 'STREAM ENDED';
case 'stream.chat.zap': return ({required InlineSpan user, required InlineSpan amount}) => TextSpan(children: [
user,
const TextSpan(text: ' zapped '),
amount,
const TextSpan(text: ' sats'),
]);
case 'stream.chat.write.label': return 'Write message';
case 'stream.chat.write.no_signer': return 'Can\'t write messages with npub login';
case 'stream.chat.write.login': return 'Please login to send messages';
case 'stream.chat.badge.awarded_to': return 'Awarded to:';
case 'stream.chat.raid.to': return ({required Object name}) => 'RAIDING ${name}';
case 'stream.chat.raid.from': return ({required Object name}) => 'RAID FROM ${name}';
case 'stream.chat.raid.countdown': return ({required Object time}) => 'Raiding in ${time}';
case 'goal.title': return ({required Object amount}) => 'Goal: ${amount}';
case 'goal.remaining': return ({required Object amount}) => 'Remaining: ${amount}';
case 'goal.complete': return 'COMPLETE';
case 'button.login': return 'Login';
case 'button.logout': return 'Logout';
case 'button.edit_profile': return 'Edit Profile';
case 'button.follow': return 'Follow';
case 'button.unfollow': return 'Unfollow';
case 'button.mute': return 'Mute';
case 'button.unmute': return 'Unmute';
case 'button.share': return 'Share';
case 'button.save': return 'Save';
case 'button.connect': return 'Connect';
case 'button.settings': return 'Settings';
case 'embed.article_by': return ({required Object name}) => 'Article by ${name}';
case 'embed.note_by': return ({required Object name}) => 'Note by ${name}';
case 'embed.live_stream_by': return ({required Object name}) => 'Live stream by ${name}';
case 'stream_list.following': return 'Following';
case 'stream_list.live': return 'Live';
case 'stream_list.planned': return 'Planned';
case 'stream_list.ended': return 'Ended';
case 'zap.title': return ({required Object name}) => 'Zap ${name}';
case 'zap.custom_amount': return 'Custom Amount';
case 'zap.confirm': return 'Confirm';
case 'zap.comment': return 'Comment';
case 'zap.button_zap_ready': return ({required Object amount}) => 'Zap ${amount} sats';
case 'zap.button_zap': return 'Zap';
case 'zap.button_open_wallet': return 'Open in Wallet';
case 'zap.button_connect_wallet': return 'Connect Wallet';
case 'zap.copy': return 'Copied to clipboard';
case 'zap.error.invalid_custom_amount': return 'Invalid custom amount';
case 'zap.error.no_wallet': return 'No lightning wallet installed';
case 'zap.error.no_lud16': return 'No lightning address found';
case 'profile.past_streams': return 'Past Streams';
case 'settings.button_profile': return 'Edit Profile';
case 'settings.button_wallet': return 'Wallet Settings';
case 'settings.profile.display_name': return 'Display Name';
case 'settings.profile.about': return 'About';
case 'settings.profile.nip05': return 'Nostr Address';
case 'settings.profile.lud16': return 'Lightning Address';
case 'settings.profile.error.logged_out': return 'Cant edit profile when logged out';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nwc://)';
case 'settings.wallet.disconnect_wallet': return 'Disconnect Wallet';
case 'settings.wallet.error.logged_out': return 'Cant connect wallet when logged out';
case 'login.username': return 'Username';
case 'login.amber': return 'Login with Amber';
case 'login.key': return 'Login with Key';
case 'login.create': return 'Create Account';
case 'login.error.invalid_key': return 'Invalid key';
default: return null;
}
}
}

View File

@ -54,7 +54,7 @@ class TranslationsZh extends Translations {
/// 串流的觀看者人數
@override String viewers({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('zh'))(n,
one: '1 個檢視器',
other: '${n} 觀眾',
other: '${NumberFormat.decimalPattern('zh').format(n)} 觀眾',
);
@override late final _TranslationsStreamZh stream = _TranslationsStreamZh._(_root);
@ -284,8 +284,10 @@ class _TranslationsSettingsWalletZh extends TranslationsSettingsWalletEn {
final TranslationsZh _root; // ignore: unused_field
// Translations
@override String get connect_wallet => '連接錢包 (NWC nwc://)';
@override String get connect_wallet => 'Connect Wallet (NWC nostr+walletconnect://)';
@override String get disconnect_wallet => '斷開錢包';
@override String get connect_1tap => '1 抽頭連接';
@override String get paste => '貼上 URL';
@override late final _TranslationsSettingsWalletErrorZh error = _TranslationsSettingsWalletErrorZh._(_root);
}
@ -365,6 +367,7 @@ class _TranslationsSettingsWalletErrorZh extends TranslationsSettingsWalletError
// Translations
@override String get logged_out => '登出時無法連接錢包';
@override String get nwc_auth_event_not_found => '未找到錢包認證事件';
}
/// Flat map(s) containing all translations.
@ -378,7 +381,7 @@ extension on TranslationsZh {
case 'anon': return '匿名';
case 'viewers': return ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('zh'))(n,
one: '1 個檢視器',
other: '${n} 觀眾',
other: '${NumberFormat.decimalPattern('zh').format(n)} 觀眾',
);
case 'stream.status.live': return '直播';
case 'stream.status.ended': return '結束';
@ -448,9 +451,12 @@ extension on TranslationsZh {
case 'settings.profile.nip05': return '地址';
case 'settings.profile.lud16': return '閃電地址';
case 'settings.profile.error.logged_out': return '登出時無法編輯個人資料';
case 'settings.wallet.connect_wallet': return '連接錢包 (NWC nwc://)';
case 'settings.wallet.connect_wallet': return 'Connect Wallet (NWC nostr+walletconnect://)';
case 'settings.wallet.disconnect_wallet': return '斷開錢包';
case 'settings.wallet.connect_1tap': return '1 抽頭連接';
case 'settings.wallet.paste': return '貼上 URL';
case 'settings.wallet.error.logged_out': return '登出時無法連接錢包';
case 'settings.wallet.error.nwc_auth_event_not_found': return '未找到錢包認證事件';
case 'login.username': return '用戶名';
case 'login.amber': return '使用 Amber 登入';
case 'login.key': return '使用鑰匙登入';

View File

@ -1,133 +0,0 @@
upload_avatar: Upload Avatar
"@upload_avatar":
description: Text prompting user to hit avatar placeholder to begin upload
most_zapped_streamers: Most Zapped Streamers
"@most_zapped_streamers":
description: Heading over listed top streamers by zaps
no_user_found: No user found
"@no_user_found":
description: No user found when searching
anon: Anon
viewers:
one: 1 viewer
other: $n viewers
"@viewers":
description: Number of viewers of the stream
placeholders:
n:
type: int
"@anon":
description: An anonymous user
stream:
status:
live: LIVE
ended: ENDED
planned: PLANNED
started: Started $timestamp
chat:
disabled: CHAT DISABLED
disabled_timeout: "Timeout expires: $time"
timeout(rich): $mod timed out $user for $time
"@timeout":
description: Chat message showing timeout events
ended: STREAM ENDED
"@ended":
description: Stream ended footer at bottom of chat
zap(rich): $user zapped $amount sats
"@zap":
description: Chat message showing stream zaps
write:
label: Write message
"@label":
description: Label on the chat message input box
no_signer: Can't write messages with npub login
"@no_signer":
description: Chat input message shown when the user is logged in only with pubkey
login: Please login to send messages
"@login":
description: Chat input message shown when the user is logged out
badge:
awarded_to: "Awarded to:"
"@awarded_to":
description: Heading over list of users who are awarded a badge
raid:
to: RAIDING ${name}
"@to":
description: Chat raid message to another stream
from: RAID FROM ${name}
"@from":
description: Chat raid message from another stream
countdown: Raiding in ${time}
"@countdown":
description: Countdown timer for auto-raiding
goal:
title: "Goal: $amount"
remaining: "Remaining: $amount"
complete: COMPLETE
button:
login: Login
logout: Logout
edit_profile: Edit Profile
"@login":
description: Button text for the login button
follow: Follow
"@follow":
description: Button text for the follow button
unfollow: Unfollow
"@unfollow":
description: Button text for the unfollow button
mute: Mute
unmute: Unmute
share: Share
save: Save
connect: Connect
settings: Settings
embed:
article_by: Article by ${name}
note_by: Note by $name
live_stream_by: Live stream by ${name}
stream_list:
following: Following
live: Live
planned: Planned
ended: Ended
"@stream_list":
description: Headings on stream lists by stream type live/ended/planned etc.
zap:
title: Zap $name
custom_amount: Custom Amount
confirm: Confirm
comment: Comment
button_zap_ready: Zap $amount sats
button_zap: Zap
button_open_wallet: Open in Wallet
button_connect_wallet: Connect Wallet
copy: Copied to clipboard
error:
invalid_custom_amount: Invalid custom amount
no_wallet: No lightning wallet installed
no_lud16: No lightning address found
profile:
past_streams: Past Streams
settings:
button_profile: Edit Profile
button_wallet: Wallet Settings
profile:
display_name: Display Name
about: About
nip05: Nostr Address
lud16: Lightning Address
error:
logged_out: Cant edit profile when logged out
wallet:
connect_wallet: Connect Wallet (NWC nwc://)
disconnect_wallet: Disconnect Wallet
error:
logged_out: Cant connect wallet when logged out
login:
username: Username
amber: Login with Amber
key: Login with Key
create: Create Account
error:
invalid_key: Invalid key

View File

@ -10,12 +10,9 @@ no_user_found: لم يتم العثور على مستخدم
anon: هوية مخفية
viewers:
one: 1 مشاهد
other: $n المشاهدون
other: "${n:decimalPattern} المشاهدين"
"@viewers":
description: عدد مشاهدي البث
placeholders:
n:
type: في
"@anon":
description: مستخدم مجهول
stream:
@ -121,10 +118,13 @@ settings:
error:
logged_out: لا يمكن تحرير ملف التعريف عند تسجيل الخروج
wallet:
connect_wallet: توصيل المحفظة (NWC nwc://)
connect_wallet: توصيل المحفظة (NWC nostr+walletconnect://)
disconnect_wallet: محفظة قطع الاتصال
connect_1tap: 1-التوصيل بنقرة 1
paste: لصق عنوان URL
error:
logged_out: لا يمكن الاتصال بالمحفظة عند تسجيل الخروج
nwc_auth_event_not_found: لم يتم العثور على حدث مصادقة المحفظة
login:
username: اسم المستخدم
amber: تسجيل الدخول مع آمبر

View File

@ -1,133 +0,0 @@
upload_avatar: Upload Avatar
"@upload_avatar":
description: Text prompting user to hit avatar placeholder to begin upload
most_zapped_streamers: Most Zapped Streamers
"@most_zapped_streamers":
description: Heading over listed top streamers by zaps
no_user_found: No user found
"@no_user_found":
description: No user found when searching
anon: Anon
viewers:
one: 1 viewer
other: $n viewers
"@viewers":
description: Number of viewers of the stream
placeholders:
n:
type: int
"@anon":
description: An anonymous user
stream:
status:
live: LIVE
ended: ENDED
planned: PLANNED
started: Started $timestamp
chat:
disabled: CHAT DISABLED
disabled_timeout: "Timeout expires: $time"
timeout(rich): $mod timed out $user for $time
"@timeout":
description: Chat message showing timeout events
ended: STREAM ENDED
"@ended":
description: Stream ended footer at bottom of chat
zap(rich): $user zapped $amount sats
"@zap":
description: Chat message showing stream zaps
write:
label: Write message
"@label":
description: Label on the chat message input box
no_signer: Can't write messages with npub login
"@no_signer":
description: Chat input message shown when the user is logged in only with pubkey
login: Please login to send messages
"@login":
description: Chat input message shown when the user is logged out
badge:
awarded_to: "Awarded to:"
"@awarded_to":
description: Heading over list of users who are awarded a badge
raid:
to: RAIDING ${name}
"@to":
description: Chat raid message to another stream
from: RAID FROM ${name}
"@from":
description: Chat raid message from another stream
countdown: Raiding in ${time}
"@countdown":
description: Countdown timer for auto-raiding
goal:
title: "Goal: $amount"
remaining: "Remaining: $amount"
complete: COMPLETE
button:
login: Login
logout: Logout
edit_profile: Edit Profile
"@login":
description: Button text for the login button
follow: Follow
"@follow":
description: Button text for the follow button
unfollow: Unfollow
"@unfollow":
description: Button text for the unfollow button
mute: Mute
unmute: Unmute
share: Share
save: Save
connect: Connect
settings: Settings
embed:
article_by: Article by ${name}
note_by: Note by $name
live_stream_by: Live stream by ${name}
stream_list:
following: Following
live: Live
planned: Planned
ended: Ended
"@stream_list":
description: Headings on stream lists by stream type live/ended/planned etc.
zap:
title: Zap $name
custom_amount: Custom Amount
confirm: Confirm
comment: Comment
button_zap_ready: Zap $amount sats
button_zap: Zap
button_open_wallet: Open in Wallet
button_connect_wallet: Connect Wallet
copy: Copied to clipboard
error:
invalid_custom_amount: Invalid custom amount
no_wallet: No lightning wallet installed
no_lud16: No lightning address found
profile:
past_streams: Past Streams
settings:
button_profile: Edit Profile
button_wallet: Wallet Settings
profile:
display_name: Display Name
about: About
nip05: Nostr Address
lud16: Lightning Address
error:
logged_out: Cant edit profile when logged out
wallet:
connect_wallet: Connect Wallet (NWC nwc://)
disconnect_wallet: Disconnect Wallet
error:
logged_out: Cant connect wallet when logged out
login:
username: Username
amber: Login with Amber
key: Login with Key
create: Create Account
error:
invalid_key: Invalid key

View File

@ -11,12 +11,9 @@ no_user_found: Nebyl nalezen žádný uživatel
anon: Anon
viewers:
one: 1 divák
other: $n diváci
other: ${n:decimalPattern} divá
"@viewers":
description: Počet diváků streamu
placeholders:
n:
type: int
"@anon":
description: Anonymní uživatel
stream:
@ -122,10 +119,13 @@ settings:
error:
logged_out: Nelze upravit profil, když je odhlášený
wallet:
connect_wallet: Připojení peněženky (NWC nwc://)
connect_wallet: Connect Wallet (NWC nostr+walletconnect://)
disconnect_wallet: Odpojení peněženky
connect_1tap: Připojení 1 kohoutku
paste: Vložit adresu URL
error:
logged_out: Nelze se připojit k peněžence, když jste odhlášeni
nwc_auth_event_not_found: Nebyla nalezena žádná událost autentizace peněženky
login:
username: Uživatelské jméno
amber: Přihlášení pomocí Amber

View File

@ -11,12 +11,9 @@ no_user_found: Ingen bruger fundet
anon: Anon
viewers:
one: 1 seer
other: $n Seere
other: ${n:decimalPattern} seere
"@viewers":
description: Antal seere af streamingen
placeholders:
n:
type: int
"@anon":
description: En anonym bruger
stream:
@ -122,10 +119,13 @@ settings:
error:
logged_out: Kan ikke redigere profil, når jeg er logget ud
wallet:
connect_wallet: Connect Wallet (NWC nwc://)
connect_wallet: Connect Wallet (NWC nostr+walletconnect://)
disconnect_wallet: Afbryd forbindelsen til tegnebogen
connect_1tap: 1-Tap-forbindelse
paste: Indsæt URL
error:
logged_out: Kan ikke oprette forbindelse til wallet, når jeg er logget ud
nwc_auth_event_not_found: Ingen wallet-auth-begivenhed fundet
login:
username: Brugernavn
amber: Log ind med Amber

View File

@ -11,12 +11,9 @@ no_user_found: Kein Benutzer gefunden
anon: Anon
viewers:
one: 1 Zuschauer
other: $n Zuschauer
other: ${n:decimalPattern} Zuschauer
"@viewers":
description: Anzahl der Betrachter des Streams
placeholders:
n:
type: int
"@anon":
description: Ein anonymer Benutzer
stream:
@ -123,10 +120,13 @@ settings:
error:
logged_out: Profil kann nicht bearbeitet werden, wenn es abgemeldet ist
wallet:
connect_wallet: Brieftasche verbinden (NWC nwc://)
connect_wallet: Connect Wallet (NWC nostr+walletconnect://)
disconnect_wallet: Brieftasche abtrennen
connect_1tap: 1-Tap-Verbindung
paste: URL einfügen
error:
logged_out: Kann keine Verbindung zur Brieftasche herstellen, wenn ich abgemeldet bin
nwc_auth_event_not_found: Kein Wallet-Authentifizierungsereignis gefunden
login:
username: Benutzername
amber: Anmeldung mit Amber

View File

@ -11,12 +11,9 @@ no_user_found: Δεν βρέθηκε χρήστης
anon: Anon
viewers:
one: 1 θεατής
other: $n θεατές
other: ${n:decimalPattern} θεατές
"@viewers":
description: Αριθμός θεατών της ροής
placeholders:
n:
type: int
"@anon":
description: Ένας ανώνυμος χρήστης
stream:
@ -125,10 +122,13 @@ settings:
error:
logged_out: Δεν μπορείτε να επεξεργαστείτε το προφίλ όταν έχετε αποσυνδεθεί
wallet:
connect_wallet: Σύνδεση πορτοφολιού (NWC nwc://)
connect_wallet: Connect Wallet (NWC nostr+walletconnect://)
disconnect_wallet: Αποσύνδεση πορτοφολιού
connect_1tap: Σύνδεση 1 βρύσης
paste: Επικόλληση URL
error:
logged_out: Δεν μπορώ να συνδεθώ με πορτοφόλι όταν έχω αποσυνδεθεί
nwc_auth_event_not_found: Δεν βρέθηκε συμβάν εξουσιοδότησης πορτοφολιού
login:
username: Όνομα χρήστη
amber: Σύνδεση με Amber

View File

@ -10,7 +10,7 @@ no_user_found: No user found
anon: Anon
viewers:
one: 1 viewer
other: "${n:decimalPattern} viewers"
other: ${n:decimalPattern} viewers
"@viewers":
description: Number of viewers of the stream
"@anon":
@ -24,7 +24,7 @@ stream:
chat:
disabled: CHAT DISABLED
disabled_timeout: "Timeout expires: $time"
timeout(rich): $mod timed out $user for $time
timeout(rich): $mod timed out $user for ${time}
"@timeout":
description: Chat message showing timeout events
ended: STREAM ENDED
@ -125,7 +125,7 @@ settings:
logged_out: Cant connect wallet when logged out
nwc_auth_event_not_found: No wallet auth event found
login:
username: "Username"
username: Username
amber: Login with Amber
key: Login with Key
create: Create Account

View File

@ -11,12 +11,9 @@ no_user_found: No se ha encontrado ningún usuario
anon: Anónimo
viewers:
one: 1 espectador
other: $n espectadores
other: ${n:decimalPattern} espectadores
"@viewers":
description: Número de espectadores del flujo
placeholders:
n:
type: int
"@anon":
description: Un usuario anónimo
stream:
@ -125,10 +122,13 @@ settings:
error:
logged_out: No se puede editar el perfil cuando se cierra la sesión
wallet:
connect_wallet: Cartera Connect (NWC nwc://)
connect_wallet: Cartera Connect (NWC nostr+walletconnect://)
disconnect_wallet: Desconectar Cartera
connect_1tap: Conexión de 1 toma
paste: Pegar URL
error:
logged_out: No se puede conectar el monedero al cerrar la sesión
nwc_auth_event_not_found: No se ha encontrado ningún evento de autenticación de cartera
login:
username: Usuario
amber: Iniciar sesión con Amber

View File

@ -11,12 +11,9 @@ no_user_found: Käyttäjää ei löytynyt
anon: Anon
viewers:
one: 1 katsoja
other: $n katsojaa
other: ${n:decimalPattern} katsojat
"@viewers":
description: Streamin katsojien määrä
placeholders:
n:
type: int
"@anon":
description: Nimetön käyttäjä
stream:
@ -123,10 +120,13 @@ settings:
error:
logged_out: Ei voi muokata profiilia, kun on kirjautunut ulos
wallet:
connect_wallet: Yhdistä lompakko (NWC nwc://)
connect_wallet: Connect-lompakko (NWC nostr+walletconnect://)
disconnect_wallet: Irrota lompakko
connect_1tap: 1-Tap-liitäntä
paste: Liitä URL-osoite
error:
logged_out: Ei voi muodostaa yhteyttä lompakkoon, kun on kirjautunut ulos
nwc_auth_event_not_found: Ei lompakko-auth-tapahtumaa löydetty
login:
username: Käyttäjätunnus
amber: Kirjaudu sisään Amber kanssa

View File

@ -11,12 +11,9 @@ no_user_found: Aucun utilisateur trouvé
anon: Anonyme
viewers:
one: 1 téléspectateur
other: $n spectateurs
other: "${n:decimalPattern} téléspectateurs"
"@viewers":
description: Nombre de spectateurs du flux
placeholders:
n:
type: int
"@anon":
description: Un utilisateur anonyme
stream:
@ -122,10 +119,13 @@ settings:
error:
logged_out: Impossible de modifier le profil lorsque l'on est déconnecté
wallet:
connect_wallet: Portefeuille connecté (NWC nwc://)
connect_wallet: Portefeuille Connect (NWC nostr+walletconnect://)
disconnect_wallet: Déconnecter le portefeuille
connect_1tap: Connexion à 1 robinet
paste: Coller l'URL
error:
logged_out: Impossible de se connecter au portefeuille lorsque l'on est déconnecté
nwc_auth_event_not_found: Aucun événement d'authentification de portefeuille n'a été trouvé
login:
username: Nom dutilisateur
amber: Se connecter avec Amber

View File

@ -1,133 +0,0 @@
upload_avatar: Upload Avatar
"@upload_avatar":
description: Text prompting user to hit avatar placeholder to begin upload
most_zapped_streamers: Most Zapped Streamers
"@most_zapped_streamers":
description: Heading over listed top streamers by zaps
no_user_found: No user found
"@no_user_found":
description: No user found when searching
anon: Anon
viewers:
one: 1 viewer
other: $n viewers
"@viewers":
description: Number of viewers of the stream
placeholders:
n:
type: int
"@anon":
description: An anonymous user
stream:
status:
live: LIVE
ended: ENDED
planned: PLANNED
started: Started $timestamp
chat:
disabled: CHAT DISABLED
disabled_timeout: "Timeout expires: $time"
timeout(rich): $mod timed out $user for $time
"@timeout":
description: Chat message showing timeout events
ended: STREAM ENDED
"@ended":
description: Stream ended footer at bottom of chat
zap(rich): $user zapped $amount sats
"@zap":
description: Chat message showing stream zaps
write:
label: Write message
"@label":
description: Label on the chat message input box
no_signer: Can't write messages with npub login
"@no_signer":
description: Chat input message shown when the user is logged in only with pubkey
login: Please login to send messages
"@login":
description: Chat input message shown when the user is logged out
badge:
awarded_to: "Awarded to:"
"@awarded_to":
description: Heading over list of users who are awarded a badge
raid:
to: RAIDING ${name}
"@to":
description: Chat raid message to another stream
from: RAID FROM ${name}
"@from":
description: Chat raid message from another stream
countdown: Raiding in ${time}
"@countdown":
description: Countdown timer for auto-raiding
goal:
title: "Goal: $amount"
remaining: "Remaining: $amount"
complete: COMPLETE
button:
login: Login
logout: Logout
edit_profile: Edit Profile
"@login":
description: Button text for the login button
follow: Follow
"@follow":
description: Button text for the follow button
unfollow: Unfollow
"@unfollow":
description: Button text for the unfollow button
mute: Mute
unmute: Unmute
share: Share
save: Save
connect: Connect
settings: Settings
embed:
article_by: Article by ${name}
note_by: Note by $name
live_stream_by: Live stream by ${name}
stream_list:
following: Following
live: Live
planned: Planned
ended: Ended
"@stream_list":
description: Headings on stream lists by stream type live/ended/planned etc.
zap:
title: Zap $name
custom_amount: Custom Amount
confirm: Confirm
comment: Comment
button_zap_ready: Zap $amount sats
button_zap: Zap
button_open_wallet: Open in Wallet
button_connect_wallet: Connect Wallet
copy: Copied to clipboard
error:
invalid_custom_amount: Invalid custom amount
no_wallet: No lightning wallet installed
no_lud16: No lightning address found
profile:
past_streams: Past Streams
settings:
button_profile: Edit Profile
button_wallet: Wallet Settings
profile:
display_name: Display Name
about: About
nip05: Nostr Address
lud16: Lightning Address
error:
logged_out: Cant edit profile when logged out
wallet:
connect_wallet: Connect Wallet (NWC nwc://)
disconnect_wallet: Disconnect Wallet
error:
logged_out: Cant connect wallet when logged out
login:
username: Username
amber: Login with Amber
key: Login with Key
create: Create Account
error:
invalid_key: Invalid key

View File

@ -11,12 +11,9 @@ no_user_found: Nem talált felhasználó
anon: Névtelen
viewers:
one: 1 néző
other: $n néző
other: ${n:decimalPattern} nézők
"@viewers":
description: A stream nézőinek száma
placeholders:
n:
type: int
"@anon":
description: Egy névtelen felhasználó
stream:
@ -56,10 +53,10 @@ stream:
to: RAIDING ${name}
"@to":
description: Chat raid üzenet egy másik folyamba
from: RAID FROM ${name}
from: RAID FROM $name
"@from":
description: Chat raid üzenet egy másik folyamból
countdown: Raiding a ${time} oldalon
countdown: Raiding a ${time}oldalon
"@countdown":
description: Visszaszámláló időzítő az automatikus lovagláshoz
goal:
@ -122,10 +119,13 @@ settings:
error:
logged_out: Kijelentkezve nem lehet profilt szerkeszteni
wallet:
connect_wallet: Connect Wallet (NWC nwc://)
connect_wallet: Connect Wallet (NWC nostr+walletconnect://)
disconnect_wallet: Pénztárca lekapcsolása
connect_1tap: 1-Tap csatlakozás
paste: URL beillesztése
error:
logged_out: Kijelentkezve nem lehet csatlakozni a pénztárcához
nwc_auth_event_not_found: Nem találtak pénztárca-auth eseményt
login:
username: Felhasználónév
amber: Bejelentkezés Amber segítségével

View File

@ -11,12 +11,9 @@ no_user_found: Nessun utente trovato
anon: Anonimo
viewers:
one: 1 spettatore
other: $n spettatori
other: ${n:decimalPattern} spettatori
"@viewers":
description: Numero di spettatori del flusso
placeholders:
n:
type: int
"@anon":
description: Un utente anonimo
stream:
@ -123,10 +120,13 @@ settings:
error:
logged_out: Impossibile modificare il profilo quando si è disconnessi
wallet:
connect_wallet: Portafoglio Connect (NWC nwc://)
connect_wallet: Portafoglio Connect (NWC nostr+walletconnect://)
disconnect_wallet: Disconnettere il portafoglio
connect_1tap: Connessione a 1 rubinetto
paste: Incolla URL
error:
logged_out: Impossibile connettere il portafoglio quando si è disconnessi
nwc_auth_event_not_found: Nessun evento wallet auth trovato
login:
username: Nome utente
amber: Accesso con Amber

View File

@ -1,4 +1,4 @@
upload_avatar: アバターのアップロード
upload_avatar: 画像アップロード
"@upload_avatar":
description: アバターのプレースホルダーを押してアップロードを開始するよう促すテキスト
most_zapped_streamers: 最もザッピングされたストリーマー
@ -10,12 +10,9 @@ no_user_found: ユーザーが見つかりません
anon: 匿名
viewers:
one: 1 視聴者
other: $n 人が視聴中
other: ${n:decimalPattern} 人が視聴中
"@viewers":
description: ストリームの視聴者数
placeholders:
n:
type: イント
"@anon":
description: 匿名ユーザー
stream:
@ -120,10 +117,13 @@ settings:
error:
logged_out: ログアウトするとプロフィールが編集できない
wallet:
connect_wallet: コネクトウォレット (NWC nwc://)
connect_wallet: コネクトウォレットNWC nostr+walletconnect://)
disconnect_wallet: ウォレットの切断
connect_1tap: 1タップ接続
paste: URLを貼り付ける
error:
logged_out: ログアウト時にウォレットに接続できない
nwc_auth_event_not_found: ウォレットの認証イベントが見つかりません
login:
username: ユーザー名
amber: 琥珀でログイン

View File

@ -10,12 +10,9 @@ no_user_found: 사용자를 찾을 수 없습니다.
anon: Anon
viewers:
one: 시청자 1명
other: $n 시청자
other: "${n:decimalPattern} 시청자"
"@viewers":
description: 스트림 시청자 수
placeholders:
n:
type: int
"@anon":
description: 익명 사용자
stream:
@ -120,10 +117,13 @@ settings:
error:
logged_out: 로그아웃 시 프로필 수정 불가
wallet:
connect_wallet: 지갑 연결(NWC nwc://)
connect_wallet: 지갑 연결(NWC nostr+walletconnect://)
disconnect_wallet: 지갑 연결 해제
connect_1tap: 1-탭 연결
paste: URL 붙여넣기
error:
logged_out: 로그아웃 시 지갑 연결 불가
nwc_auth_event_not_found: 지갑 인증 이벤트를 찾을 수 없습니다.
login:
username: 사용자 이름
amber: Amber로 로그인

View File

@ -11,12 +11,9 @@ no_user_found: Geen gebruiker gevonden
anon: Anon
viewers:
one: 1 kijker
other: $n kijkers
other: ${n:decimalPattern} kijkers
"@viewers":
description: Aantal kijkers van de stream
placeholders:
n:
type: int
"@anon":
description: Een anonieme gebruiker
stream:
@ -123,10 +120,13 @@ settings:
error:
logged_out: Kan profiel niet bewerken als ik ben uitgelogd
wallet:
connect_wallet: Portemonnee verbinden (NWC nwc://)
connect_wallet: Portemonnee verbinden (NWC nostr+walletconnect://)
disconnect_wallet: Portefeuille loskoppelen
connect_1tap: 1-Tap Aansluiting
paste: URL plakken
error:
logged_out: Kan geen verbinding maken met portemonnee als ik ben uitgelogd
nwc_auth_event_not_found: Geen portemonnee-auth-gebeurtenis gevonden
login:
username: Gebruikersnaam
amber: Inloggen met Amber

View File

@ -1,133 +0,0 @@
upload_avatar: Upload Avatar
"@upload_avatar":
description: Text prompting user to hit avatar placeholder to begin upload
most_zapped_streamers: Most Zapped Streamers
"@most_zapped_streamers":
description: Heading over listed top streamers by zaps
no_user_found: No user found
"@no_user_found":
description: No user found when searching
anon: Anon
viewers:
one: 1 viewer
other: $n viewers
"@viewers":
description: Number of viewers of the stream
placeholders:
n:
type: int
"@anon":
description: An anonymous user
stream:
status:
live: LIVE
ended: ENDED
planned: PLANNED
started: Started $timestamp
chat:
disabled: CHAT DISABLED
disabled_timeout: "Timeout expires: $time"
timeout(rich): $mod timed out $user for $time
"@timeout":
description: Chat message showing timeout events
ended: STREAM ENDED
"@ended":
description: Stream ended footer at bottom of chat
zap(rich): $user zapped $amount sats
"@zap":
description: Chat message showing stream zaps
write:
label: Write message
"@label":
description: Label on the chat message input box
no_signer: Can't write messages with npub login
"@no_signer":
description: Chat input message shown when the user is logged in only with pubkey
login: Please login to send messages
"@login":
description: Chat input message shown when the user is logged out
badge:
awarded_to: "Awarded to:"
"@awarded_to":
description: Heading over list of users who are awarded a badge
raid:
to: RAIDING ${name}
"@to":
description: Chat raid message to another stream
from: RAID FROM ${name}
"@from":
description: Chat raid message from another stream
countdown: Raiding in ${time}
"@countdown":
description: Countdown timer for auto-raiding
goal:
title: "Goal: $amount"
remaining: "Remaining: $amount"
complete: COMPLETE
button:
login: Login
logout: Logout
edit_profile: Edit Profile
"@login":
description: Button text for the login button
follow: Follow
"@follow":
description: Button text for the follow button
unfollow: Unfollow
"@unfollow":
description: Button text for the unfollow button
mute: Mute
unmute: Unmute
share: Share
save: Save
connect: Connect
settings: Settings
embed:
article_by: Article by ${name}
note_by: Note by $name
live_stream_by: Live stream by ${name}
stream_list:
following: Following
live: Live
planned: Planned
ended: Ended
"@stream_list":
description: Headings on stream lists by stream type live/ended/planned etc.
zap:
title: Zap $name
custom_amount: Custom Amount
confirm: Confirm
comment: Comment
button_zap_ready: Zap $amount sats
button_zap: Zap
button_open_wallet: Open in Wallet
button_connect_wallet: Connect Wallet
copy: Copied to clipboard
error:
invalid_custom_amount: Invalid custom amount
no_wallet: No lightning wallet installed
no_lud16: No lightning address found
profile:
past_streams: Past Streams
settings:
button_profile: Edit Profile
button_wallet: Wallet Settings
profile:
display_name: Display Name
about: About
nip05: Nostr Address
lud16: Lightning Address
error:
logged_out: Cant edit profile when logged out
wallet:
connect_wallet: Connect Wallet (NWC nwc://)
disconnect_wallet: Disconnect Wallet
error:
logged_out: Cant connect wallet when logged out
login:
username: Username
amber: Login with Amber
key: Login with Key
create: Create Account
error:
invalid_key: Invalid key

View File

@ -11,12 +11,9 @@ no_user_found: Nie znaleziono użytkownika
anon: Anon
viewers:
one: 1 przeglądarka
other: $n widzowie
other: "{n:decimalPattern} widzów"
"@viewers":
description: Liczba widzów strumienia
placeholders:
n:
type: int
"@anon":
description: Anonimowy użytkownik
stream:
@ -123,10 +120,13 @@ settings:
error:
logged_out: Nie można edytować profilu po wylogowaniu
wallet:
connect_wallet: Connect Wallet (NWC nwc://)
connect_wallet: Connect Wallet (NWC nostr+walletconnect://)
disconnect_wallet: Odłącz portfel
connect_1tap: Połączenie 1-wtykowe
paste: Wklej adres URL
error:
logged_out: Nie można połączyć portfela po wylogowaniu
nwc_auth_event_not_found: Nie znaleziono zdarzenia autoryzacji portfela
login:
username: Nazwa użytkownika
amber: Zaloguj się za pomocą Amber

View File

@ -11,12 +11,9 @@ no_user_found: Nenhum usuário encontrado
anon: Anônimo
viewers:
one: 1 visualizador
other: $n espectadores
other: ${n:decimalPattern} espectadores
"@viewers":
description: Número de espectadores da transmissão
placeholders:
n:
type: int
"@anon":
description: Um usuário anônimo
stream:
@ -123,10 +120,13 @@ settings:
error:
logged_out: Não é possível editar o perfil quando se está desconectado
wallet:
connect_wallet: Conectar carteira (NWC nwc://)
connect_wallet: Carteira Connect (NWC nostr+walletconnect://)
disconnect_wallet: Desconectar carteira
connect_1tap: Conexão de 1 torneira
paste: Colar URL
error:
logged_out: Não consigo conectar a carteira quando estou desconectado
nwc_auth_event_not_found: Nenhum evento de autenticação de carteira encontrado
login:
username: Nome de usuário
amber: Faça login com o Amber

View File

@ -11,12 +11,9 @@ no_user_found: Niciun utilizator găsit
anon: Anon
viewers:
one: 1 vizualizator
other: $n telespectatori
other: ${n:decimalPattern} telespectatori
"@viewers":
description: Numărul de telespectatori ai fluxului
placeholders:
n:
type: int
"@anon":
description: Un utilizator anonim
stream:
@ -124,10 +121,13 @@ settings:
error:
logged_out: Nu pot edita profilul când sunt deconectat
wallet:
connect_wallet: Conectați portofelul (NWC nwc://)
connect_wallet: Conectați portofelul (NWC nostr+walletconnect://)
disconnect_wallet: Deconectați portofelul
connect_1tap: Conexiune 1-Tap
paste: Lipiți URL
error:
logged_out: Nu puteți conecta portofelul atunci când sunteți deconectat
nwc_auth_event_not_found: Nu a fost găsit niciun eveniment de autorizare a portofelului
login:
username: Nume utilizator
amber: Conectați-vă cu Amber

View File

@ -11,12 +11,9 @@ no_user_found: Пользователь не найден
anon: Аноним
viewers:
one: 1 зритель
other: $n зрителей
other: ${n:decimalPattern} зрителей
"@viewers":
description: Количество зрителей потока
placeholders:
n:
type: int
"@anon":
description: Анонимный пользователь
stream:
@ -124,10 +121,13 @@ settings:
error:
logged_out: Невозможно редактировать профиль при выходе из системы
wallet:
connect_wallet: Подключите кошелек (NWC nwc://)
connect_wallet: Кошелек Connect (NWC nostr+walletconnect://)
disconnect_wallet: Отключить кошелек
connect_1tap: 1-кратное соединение
paste: Вставить URL
error:
logged_out: Невозможно подключить кошелек при выходе из системы
nwc_auth_event_not_found: Событие аутентификации кошелька не найдено
login:
username: Имя пользователя
amber: Войти с помощью Amber

View File

@ -1,133 +0,0 @@
upload_avatar: Upload Avatar
"@upload_avatar":
description: Text prompting user to hit avatar placeholder to begin upload
most_zapped_streamers: Most Zapped Streamers
"@most_zapped_streamers":
description: Heading over listed top streamers by zaps
no_user_found: No user found
"@no_user_found":
description: No user found when searching
anon: Anon
viewers:
one: 1 viewer
other: $n viewers
"@viewers":
description: Number of viewers of the stream
placeholders:
n:
type: int
"@anon":
description: An anonymous user
stream:
status:
live: LIVE
ended: ENDED
planned: PLANNED
started: Started $timestamp
chat:
disabled: CHAT DISABLED
disabled_timeout: "Timeout expires: $time"
timeout(rich): $mod timed out $user for $time
"@timeout":
description: Chat message showing timeout events
ended: STREAM ENDED
"@ended":
description: Stream ended footer at bottom of chat
zap(rich): $user zapped $amount sats
"@zap":
description: Chat message showing stream zaps
write:
label: Write message
"@label":
description: Label on the chat message input box
no_signer: Can't write messages with npub login
"@no_signer":
description: Chat input message shown when the user is logged in only with pubkey
login: Please login to send messages
"@login":
description: Chat input message shown when the user is logged out
badge:
awarded_to: "Awarded to:"
"@awarded_to":
description: Heading over list of users who are awarded a badge
raid:
to: RAIDING ${name}
"@to":
description: Chat raid message to another stream
from: RAID FROM ${name}
"@from":
description: Chat raid message from another stream
countdown: Raiding in ${time}
"@countdown":
description: Countdown timer for auto-raiding
goal:
title: "Goal: $amount"
remaining: "Remaining: $amount"
complete: COMPLETE
button:
login: Login
logout: Logout
edit_profile: Edit Profile
"@login":
description: Button text for the login button
follow: Follow
"@follow":
description: Button text for the follow button
unfollow: Unfollow
"@unfollow":
description: Button text for the unfollow button
mute: Mute
unmute: Unmute
share: Share
save: Save
connect: Connect
settings: Settings
embed:
article_by: Article by ${name}
note_by: Note by $name
live_stream_by: Live stream by ${name}
stream_list:
following: Following
live: Live
planned: Planned
ended: Ended
"@stream_list":
description: Headings on stream lists by stream type live/ended/planned etc.
zap:
title: Zap $name
custom_amount: Custom Amount
confirm: Confirm
comment: Comment
button_zap_ready: Zap $amount sats
button_zap: Zap
button_open_wallet: Open in Wallet
button_connect_wallet: Connect Wallet
copy: Copied to clipboard
error:
invalid_custom_amount: Invalid custom amount
no_wallet: No lightning wallet installed
no_lud16: No lightning address found
profile:
past_streams: Past Streams
settings:
button_profile: Edit Profile
button_wallet: Wallet Settings
profile:
display_name: Display Name
about: About
nip05: Nostr Address
lud16: Lightning Address
error:
logged_out: Cant edit profile when logged out
wallet:
connect_wallet: Connect Wallet (NWC nwc://)
disconnect_wallet: Disconnect Wallet
error:
logged_out: Cant connect wallet when logged out
login:
username: Username
amber: Login with Amber
key: Login with Key
create: Create Account
error:
invalid_key: Invalid key

View File

@ -11,12 +11,9 @@ no_user_found: Ingen användare hittades
anon: Anon
viewers:
one: 1 tittare
other: $n tittare
other: ${n:decimalPattern} tittare
"@viewers":
description: Antal tittare på streamingen
placeholders:
n:
type: int
"@anon":
description: En anonym användare
stream:
@ -122,10 +119,13 @@ settings:
error:
logged_out: Kan inte redigera profil när jag är utloggad
wallet:
connect_wallet: Anslut plånbok (NWC nwc://)
connect_wallet: Connect plånbok (NWC nostr+walletconnect://)
disconnect_wallet: Koppla bort plånboken
connect_1tap: 1-Tap-anslutning
paste: Klistra in URL
error:
logged_out: Kan inte ansluta plånbok när du är inloggad
nwc_auth_event_not_found: Inget autentiseringshändelse för plånbok hittades
login:
username: Användarnamn
amber: Logga in med Amber

View File

@ -11,12 +11,9 @@ no_user_found: Kullanıcı bulunamadı
anon: Anon
viewers:
one: 1 izleyici
other: $n izleyiciler
other: ${n:decimalPattern} izleyiciler
"@viewers":
description: Akışı izleyenlerin sayısı
placeholders:
n:
type: int
"@anon":
description: Anonim bir kullanıcı
stream:
@ -53,7 +50,7 @@ stream:
"@awarded_to":
description: Rozet verilen kullanıcıların listesi üzerinde başlık
raid:
to: RAIDING $name
to: RAIDING ${name}
"@to":
description: Başka bir akışa sohbet baskını mesajı
from: ${name}ADRESINDEN RAID
@ -122,10 +119,13 @@ settings:
error:
logged_out: Çıkış yapıldığında profil düzenlenemiyor
wallet:
connect_wallet: Cüzdanı Bağlayın (NWC nwc://)
connect_wallet: Connect Cüzdan (NWC nostr+walletconnect://)
disconnect_wallet: Cüzdan Bağlantısını Kes
connect_1tap: 1-Tap Bağlantı
paste: URL Yapıştır
error:
logged_out: Oturumu kapattığımda cüzdana bağlanamıyorum
nwc_auth_event_not_found: Cüzdan yetkilendirme olayı bulunamadı
login:
username: Kullanıcı Adı
amber: Amber ile Giriş Yapın

View File

@ -11,12 +11,9 @@ no_user_found: Користувача не знайдено
anon: Анонім.
viewers:
one: 1 глядач
other: $n глядачі
other: ${n:decimalPattern} глядачів
"@viewers":
description: Кількість глядачів стріму
placeholders:
n:
type: int
"@anon":
description: Анонімний користувач
stream:
@ -124,10 +121,13 @@ settings:
error:
logged_out: Неможливо редагувати профіль, коли ви вийшли з системи
wallet:
connect_wallet: Підключити гаманець (NWC nwc://)
connect_wallet: Підключити гаманець (NWC nostr+walletconnect://)
disconnect_wallet: Відключити гаманець
connect_1tap: Підключення в 1 кран
paste: Вставити URL-адресу
error:
logged_out: Не вдається підключити гаманець, коли ви вийшли з системи
nwc_auth_event_not_found: Не знайдено жодної події авторизації гаманця
login:
username: Ім'я користувача
amber: Увійдіть за допомогою Amber

View File

@ -1,133 +0,0 @@
upload_avatar: Upload Avatar
"@upload_avatar":
description: Text prompting user to hit avatar placeholder to begin upload
most_zapped_streamers: Most Zapped Streamers
"@most_zapped_streamers":
description: Heading over listed top streamers by zaps
no_user_found: No user found
"@no_user_found":
description: No user found when searching
anon: Anon
viewers:
one: 1 viewer
other: $n viewers
"@viewers":
description: Number of viewers of the stream
placeholders:
n:
type: int
"@anon":
description: An anonymous user
stream:
status:
live: LIVE
ended: ENDED
planned: PLANNED
started: Started $timestamp
chat:
disabled: CHAT DISABLED
disabled_timeout: "Timeout expires: $time"
timeout(rich): $mod timed out $user for $time
"@timeout":
description: Chat message showing timeout events
ended: STREAM ENDED
"@ended":
description: Stream ended footer at bottom of chat
zap(rich): $user zapped $amount sats
"@zap":
description: Chat message showing stream zaps
write:
label: Write message
"@label":
description: Label on the chat message input box
no_signer: Can't write messages with npub login
"@no_signer":
description: Chat input message shown when the user is logged in only with pubkey
login: Please login to send messages
"@login":
description: Chat input message shown when the user is logged out
badge:
awarded_to: "Awarded to:"
"@awarded_to":
description: Heading over list of users who are awarded a badge
raid:
to: RAIDING ${name}
"@to":
description: Chat raid message to another stream
from: RAID FROM ${name}
"@from":
description: Chat raid message from another stream
countdown: Raiding in ${time}
"@countdown":
description: Countdown timer for auto-raiding
goal:
title: "Goal: $amount"
remaining: "Remaining: $amount"
complete: COMPLETE
button:
login: Login
logout: Logout
edit_profile: Edit Profile
"@login":
description: Button text for the login button
follow: Follow
"@follow":
description: Button text for the follow button
unfollow: Unfollow
"@unfollow":
description: Button text for the unfollow button
mute: Mute
unmute: Unmute
share: Share
save: Save
connect: Connect
settings: Settings
embed:
article_by: Article by ${name}
note_by: Note by $name
live_stream_by: Live stream by ${name}
stream_list:
following: Following
live: Live
planned: Planned
ended: Ended
"@stream_list":
description: Headings on stream lists by stream type live/ended/planned etc.
zap:
title: Zap $name
custom_amount: Custom Amount
confirm: Confirm
comment: Comment
button_zap_ready: Zap $amount sats
button_zap: Zap
button_open_wallet: Open in Wallet
button_connect_wallet: Connect Wallet
copy: Copied to clipboard
error:
invalid_custom_amount: Invalid custom amount
no_wallet: No lightning wallet installed
no_lud16: No lightning address found
profile:
past_streams: Past Streams
settings:
button_profile: Edit Profile
button_wallet: Wallet Settings
profile:
display_name: Display Name
about: About
nip05: Nostr Address
lud16: Lightning Address
error:
logged_out: Cant edit profile when logged out
wallet:
connect_wallet: Connect Wallet (NWC nwc://)
disconnect_wallet: Disconnect Wallet
error:
logged_out: Cant connect wallet when logged out
login:
username: Username
amber: Login with Amber
key: Login with Key
create: Create Account
error:
invalid_key: Invalid key

View File

@ -10,12 +10,9 @@ no_user_found: 未找到使用者
anon: 匿名
viewers:
one: 1 個檢視器
other: $n 觀眾
other: ${n:decimalPattern} 觀眾
"@viewers":
description: 串流的觀看者人數
placeholders:
n:
type: int
"@anon":
description: 匿名使用者
stream:
@ -120,10 +117,13 @@ settings:
error:
logged_out: 登出時無法編輯個人資料
wallet:
connect_wallet: 連接錢包 (NWC nwc://)
connect_wallet: Connect Wallet (NWC nostr+walletconnect://)
disconnect_wallet: 斷開錢包
connect_1tap: 1 抽頭連接
paste: 貼上 URL
error:
logged_out: 登出時無法連接錢包
nwc_auth_event_not_found: 未找到錢包認證事件
login:
username: 用戶名
amber: 使用 Amber 登入

View File

@ -10,7 +10,8 @@ import 'package:zap_stream_flutter/notifications.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
LocaleSettings.useDeviceLocale();
await LocaleSettings.useDeviceLocale();
//await LocaleSettings.setLocaleRaw("zh");
await dotenv.load(fileName: kDebugMode ? ".env.development" : ".env");
await initLogin();

View File

@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:zap_stream_flutter/i18n/strings.g.dart';
import 'package:zap_stream_flutter/widgets/button.dart';
class SettingsPage extends StatelessWidget {
@ -10,13 +11,13 @@ class SettingsPage extends StatelessWidget {
return Column(
spacing: 8,
children: [
Text("Settings", style: TextStyle(fontSize: 24)),
Text(t.button.settings, style: TextStyle(fontSize: 24)),
BasicButton.text(
"Edit Profile",
t.settings.button_profile,
onTap: (context) => context.push("/settings/profile"),
),
BasicButton.text(
"Wallet Settings",
t.settings.button_wallet,
onTap: (context) => context.push("/settings/wallet"),
),
],

View File

@ -139,7 +139,7 @@ class _Inner extends State<SettingsWalletPage> with ProtocolListener {
),
],
Text(
"Paste URL",
t.settings.wallet.paste,
style: TextStyle(fontSize: 26, fontWeight: FontWeight.bold),
),
TextField(

View File

@ -5,7 +5,6 @@ import 'package:zap_stream_flutter/theme.dart';
import 'package:zap_stream_flutter/utils.dart';
import 'package:zap_stream_flutter/widgets/avatar.dart';
import 'package:zap_stream_flutter/widgets/chat_modal.dart';
import 'package:zap_stream_flutter/widgets/custom_emoji.dart';
import 'package:zap_stream_flutter/widgets/nostr_text.dart';
import 'package:zap_stream_flutter/widgets/profile.dart';

View File

@ -30,9 +30,7 @@
<string>NSApplication</string>
<key>CFBundleLocalizations</key>
<array>
<string>af</string>
<string>ar</string>
<string>ca</string>
<string>cs</string>
<string>da</string>
<string>de</string>
@ -41,22 +39,18 @@
<string>es</string>
<string>fi</string>
<string>fr</string>
<string>he</string>
<string>hu</string>
<string>it</string>
<string>ja</string>
<string>ko</string>
<string>nl</string>
<string>no</string>
<string>pl</string>
<string>pt</string>
<string>ro</string>
<string>ru</string>
<string>sr</string>
<string>sv</string>
<string>tr</string>
<string>uk</string>
<string>vi</string>
<string>zh</string>
</array>
</dict>