fix: alinear permisos, paywall y grabacion con lo que la app hace de verdad
Revision previa al envio a produccion. Cada punto se verifico en el codigo antes de tocarlo; lo que ya estaba bien se dejo como estaba. Ubicacion: se declaraba precision fina sin usarla El unico consumidor de ubicacion pide `LocationAccuracy.low` y se queda solo con el codigo ISO del pais, asi que `ACCESS_FINE_LOCATION` no aportaba nada. Y contradecia la declaracion de Seguridad de los datos ya aprobada en Play, que dice ubicacion APROXIMADA: declarar una cosa y pedir otra es precisamente lo que se penaliza en revision. Verificado que los manifiestos de geolocator_android y geocoding_android no declaran permisos propios, asi que el merge no lo reinyecta y no hace falta `tools:node="remove"`. El plugin construye su peticion en tiempo de ejecucion a partir de lo declarado, de modo que con COARSE pide COARSE. Sin cambio funcional: la deteccion de pais sigue igual. El paywall vendia Android Auto como exclusivo, y ya no lo es La etiqueta era literalmente "Android Auto", a secas. Pero el tier gratuito recibio una carpeta navegable con emisoras reproducibles cuando hubo que cumplir las guias del coche, asi que esa frase dejo de ser cierta. Ahora dice que PRO añade el catalogo completo, favoritos, mis emisoras y musica local, y aclara que gratis tiene las destacadas. Un paywall que promete lo que el tier gratuito ya tiene expone a reclamacion y a que se cite en revision. Microfono: se pide al activar el visualizador, no antes Con una explicacion previa en los 13 idiomas, en vez de aparecer sin contexto. Grabacion: uso privado de verdad, no solo en el aviso La pantalla de grabaciones entregaba el fichero a cualquier aplicacion con `Share.shareXFiles`. La intencion era abrirlo en un reproductor del propio telefono, no redistribuirlo, y una cosa es copia privada y la otra no. Ahora usa el `openFile` que ya existia -- FileProvider + ACTION_VIEW -- y avisa cuando ningun reproductor del dispositivo puede abrirla, en vez de fallar en silencio. Se añade ademas el aviso de uso privado en esa pantalla. `recordingActionShare` la usaban DOS botones con significados distintos: el de grabaciones, que mandaba el audio, y el del reproductor, que comparte el nombre y la url de la emisora. Una clave, dos sentidos, y esa ambiguedad basto para que al leer el codigo pareciera que solo se compartian enlaces. Separadas en `stationActionShare` y `recordingActionOpenIn`. La grabacion sigue siendo PRO. Lo que reduce el riesgo es que la copia no salga del dispositivo, no regalar la funcion: los anuncios tambien son monetizacion. Suite completa: 1587 pasan, 2 omitidos. flutter analyze mantiene los 5 avisos preexistentes.
This commit is contained in:
@@ -904,11 +904,23 @@ abstract class AppLocalizations {
|
||||
/// **'Renombrar'**
|
||||
String get recordingActionRename;
|
||||
|
||||
/// No description provided for @recordingActionShare.
|
||||
/// No description provided for @stationActionShare.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Compartir'**
|
||||
String get recordingActionShare;
|
||||
/// **'Compartir emisora'**
|
||||
String get stationActionShare;
|
||||
|
||||
/// No description provided for @recordingActionOpenIn.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Abrir en otra app'**
|
||||
String get recordingActionOpenIn;
|
||||
|
||||
/// No description provided for @recordingOpenNoAppError.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'No hay ninguna app en este dispositivo que pueda reproducir la grabación.'**
|
||||
String get recordingOpenNoAppError;
|
||||
|
||||
/// No description provided for @recordingActionDelete.
|
||||
///
|
||||
@@ -3383,7 +3395,7 @@ abstract class AppLocalizations {
|
||||
/// No description provided for @premiumBeneficioAndroidAuto.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Android Auto'**
|
||||
/// **'Todo el catálogo en Android Auto: favoritos, mis emisoras y música local (gratis: solo destacadas)'**
|
||||
String get premiumBeneficioAndroidAuto;
|
||||
|
||||
/// No description provided for @premiumBeneficioGrabacion.
|
||||
@@ -3493,6 +3505,36 @@ abstract class AppLocalizations {
|
||||
/// In es, this message translates to:
|
||||
/// **'Pista sin nombre'**
|
||||
String get autoPistaSinNombre;
|
||||
|
||||
/// No description provided for @recordingsPrivateUseNotice.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Las grabaciones son para tu uso personal. Respeta los derechos de cada emisora y de sus contenidos.'**
|
||||
String get recordingsPrivateUseNotice;
|
||||
|
||||
/// No description provided for @visualizerRealWaveTitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Onda real del audio'**
|
||||
String get visualizerRealWaveTitle;
|
||||
|
||||
/// No description provided for @visualizerRealWaveSubtitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Las barras siguen el sonido que está sonando. Desactivado, se animan solas.'**
|
||||
String get visualizerRealWaveSubtitle;
|
||||
|
||||
/// No description provided for @visualizerRealWavePermissionExplanation.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Android solo deja leer el nivel del audio con el permiso de micrófono. PluriWave no escucha ni graba el micrófono: solo mide el sonido que ya está reproduciendo. Puedes desactivarlo cuando quieras.'**
|
||||
String get visualizerRealWavePermissionExplanation;
|
||||
|
||||
/// No description provided for @visualizerRealWaveEnableAction.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Activar'**
|
||||
String get visualizerRealWaveEnableAction;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
||||
@@ -456,7 +456,14 @@ class AppLocalizationsAr extends AppLocalizations {
|
||||
String get recordingActionRename => 'إعادة تسمية';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'مشاركة';
|
||||
String get stationActionShare => 'مشاركة المحطة';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'فتح في تطبيق آخر';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'لا يوجد تطبيق على هذا الجهاز يمكنه تشغيل هذا التسجيل.';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'حذف';
|
||||
@@ -1871,7 +1878,8 @@ class AppLocalizationsAr extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => 'بدون إعلانات في التطبيق بالكامل';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'الكتالوج الكامل في Android Auto: المفضلة ومحطاتي والموسيقى المحلية (مجانًا: المحطات المميزة فقط)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'تسجيل المحطات';
|
||||
@@ -1930,4 +1938,22 @@ class AppLocalizationsAr extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'مقطع بلا اسم';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'التسجيلات مخصصة لاستخدامك الشخصي. يُرجى احترام حقوق كل محطة وحقوق محتواها.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'الموجة الحقيقية للصوت';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'تتبع الأعمدة الصوت الجاري تشغيله. وعند الإيقاف تتحرك من تلقاء نفسها.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'لا يسمح أندرويد بقراءة مستوى الصوت إلا بإذن الميكروفون. لا يستمع PluriWave إلى الميكروفون ولا يسجّله: فهو يقيس الصوت الذي يشغّله بالفعل فقط. ويمكنك إيقاف ذلك متى شئت.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'تفعيل';
|
||||
}
|
||||
|
||||
@@ -461,7 +461,14 @@ class AppLocalizationsBn extends AppLocalizations {
|
||||
String get recordingActionRename => 'নাম পরিবর্তন করুন';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'শেয়ার করুন';
|
||||
String get stationActionShare => 'স্টেশন শেয়ার করুন';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'অন্য অ্যাপে খুলুন';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'এই ডিভাইসে এই রেকর্ডিং চালাতে পারে এমন কোনো অ্যাপ নেই।';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'মুছে ফেলুন';
|
||||
@@ -1882,7 +1889,8 @@ class AppLocalizationsBn extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => 'পুরো অ্যাপে কোনো বিজ্ঞাপন নেই';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Android Auto-তে সম্পূর্ণ তালিকা: প্রিয়, আমার স্টেশন ও স্থানীয় সংগীত (ফ্রি: শুধু বাছাই করা স্টেশন)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'স্টেশন রেকর্ডিং';
|
||||
@@ -1942,4 +1950,22 @@ class AppLocalizationsBn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'নামহীন ট্র্যাক';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'রেকর্ডিংগুলি আপনার ব্যক্তিগত ব্যবহারের জন্য। প্রতিটি স্টেশন ও তার কনটেন্টের অধিকারকে সম্মান করুন।';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'আসল অডিও তরঙ্গ';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'বারগুলি চলমান শব্দ অনুসরণ করে। বন্ধ থাকলে সেগুলি নিজে থেকেই চলে।';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'মাইক্রোফোন অনুমতি ছাড়া Android অডিও লেভেল পড়তে দেয় না। PluriWave মাইক্রোফোন শোনে না বা রেকর্ড করে না: এটি শুধু চলমান শব্দের মাত্রা মাপে। আপনি যেকোনো সময় এটি বন্ধ করতে পারেন।';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'চালু করুন';
|
||||
}
|
||||
|
||||
@@ -464,7 +464,14 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
String get recordingActionRename => 'Umbenennen';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'Teilen';
|
||||
String get stationActionShare => 'Sender teilen';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'In anderer App öffnen';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'Keine App auf diesem Gerät kann diese Aufnahme abspielen.';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'Löschen';
|
||||
@@ -1896,7 +1903,8 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => 'Keine Werbung in der gesamten App';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Der komplette Katalog in Android Auto: Favoriten, meine Sender und lokale Musik (gratis: nur empfohlene Sender)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'Sender aufnehmen';
|
||||
@@ -1955,4 +1963,22 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'Unbenannter Titel';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'Aufnahmen sind für deinen persönlichen Gebrauch bestimmt. Bitte respektiere die Rechte des Senders und seiner Inhalte.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'Echte Audio-Wellenform';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'Die Balken folgen dem laufenden Ton. Ausgeschaltet bewegen sie sich von selbst.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android erlaubt das Auslesen des Audiopegels nur mit der Mikrofonberechtigung. PluriWave hört das Mikrofon weder ab noch nimmt es auf: Es misst nur den Ton, den es ohnehin abspielt. Du kannst das jederzeit wieder ausschalten.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'Aktivieren';
|
||||
}
|
||||
|
||||
@@ -458,7 +458,14 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
String get recordingActionRename => 'Rename';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'Share';
|
||||
String get stationActionShare => 'Share station';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'Open in another app';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'No app on this device can play this recording.';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'Delete';
|
||||
@@ -1875,7 +1882,8 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => 'No ads anywhere in the app';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Your full catalogue in Android Auto: favourites, my stations and local music (free: featured stations only)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'Station recording';
|
||||
@@ -1935,4 +1943,22 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'Untitled track';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'Recordings are for your own personal use. Please respect each station\'s rights and those of its content.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'Real audio waveform';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'The bars follow the sound that is playing. When off, they animate on their own.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android only allows reading the audio level with the microphone permission. PluriWave never listens to or records the microphone: it only measures the sound it is already playing. You can turn this off at any time.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'Turn on';
|
||||
}
|
||||
|
||||
@@ -462,7 +462,14 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
String get recordingActionRename => 'Renombrar';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'Compartir';
|
||||
String get stationActionShare => 'Compartir emisora';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'Abrir en otra app';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'No hay ninguna app en este dispositivo que pueda reproducir la grabación.';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'Eliminar';
|
||||
@@ -1889,7 +1896,8 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => 'Sin publicidad en toda la app';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Todo el catálogo en Android Auto: favoritos, mis emisoras y música local (gratis: solo destacadas)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'Grabación de emisoras';
|
||||
@@ -1950,4 +1958,22 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'Pista sin nombre';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'Las grabaciones son para tu uso personal. Respeta los derechos de cada emisora y de sus contenidos.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'Onda real del audio';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'Las barras siguen el sonido que está sonando. Desactivado, se animan solas.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android solo deja leer el nivel del audio con el permiso de micrófono. PluriWave no escucha ni graba el micrófono: solo mide el sonido que ya está reproduciendo. Puedes desactivarlo cuando quieras.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'Activar';
|
||||
}
|
||||
|
||||
@@ -467,7 +467,14 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
String get recordingActionRename => 'Renommer';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'Partager';
|
||||
String get stationActionShare => 'Partager la station';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'Ouvrir dans une autre appli';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'Aucune application de cet appareil ne peut lire cet enregistrement.';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'Supprimer';
|
||||
@@ -1903,7 +1910,8 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
'Aucune publicité dans toute l\'application';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Tout le catalogue dans Android Auto : favoris, mes stations et musique locale (gratuit : stations à la une uniquement)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'Enregistrement des stations';
|
||||
@@ -1964,4 +1972,22 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'Piste sans nom';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'Les enregistrements sont destinés à votre usage personnel. Merci de respecter les droits de chaque station et de ses contenus.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'Onde audio réelle';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'Les barres suivent le son en cours. Désactivées, elles s\'animent d\'elles-mêmes.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android n\'autorise la lecture du niveau audio qu\'avec l\'autorisation du microphone. PluriWave n\'écoute ni n\'enregistre le microphone : il mesure seulement le son qu\'il diffuse déjà. Vous pouvez le désactiver à tout moment.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'Activer';
|
||||
}
|
||||
|
||||
@@ -459,7 +459,14 @@ class AppLocalizationsHi extends AppLocalizations {
|
||||
String get recordingActionRename => 'नाम बदलें';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'शेयर करें';
|
||||
String get stationActionShare => 'स्टेशन शेयर करें';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'दूसरे ऐप में खोलें';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'इस डिवाइस पर ऐसा कोई ऐप नहीं है जो यह रिकॉर्डिंग चला सके।';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'हटाएं';
|
||||
@@ -1875,7 +1882,8 @@ class AppLocalizationsHi extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => 'पूरे ऐप में कोई विज्ञापन नहीं';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Android Auto में पूरी सूची: पसंदीदा, मेरे स्टेशन और स्थानीय संगीत (मुफ़्त: सिर्फ़ चुनिंदा स्टेशन)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'स्टेशन रिकॉर्डिंग';
|
||||
@@ -1935,4 +1943,22 @@ class AppLocalizationsHi extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'बिना नाम का ट्रैक';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'रिकॉर्डिंग आपके निजी उपयोग के लिए हैं। कृपया हर स्टेशन और उसकी सामग्री के अधिकारों का सम्मान करें।';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'असली ऑडियो तरंग';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'बार चल रही आवाज़ का अनुसरण करते हैं। बंद होने पर वे अपने आप चलते हैं।';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android माइक्रोफ़ोन अनुमति के बिना ऑडियो स्तर पढ़ने नहीं देता। PluriWave माइक्रोफ़ोन को न सुनता है न रिकॉर्ड करता है: यह केवल पहले से बज रही आवाज़ मापता है। आप इसे कभी भी बंद कर सकते हैं।';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'चालू करें';
|
||||
}
|
||||
|
||||
@@ -459,7 +459,14 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
String get recordingActionRename => 'Ganti nama';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'Bagikan';
|
||||
String get stationActionShare => 'Bagikan stasiun';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'Buka di aplikasi lain';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'Tidak ada aplikasi di perangkat ini yang dapat memutar rekaman ini.';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'Hapus';
|
||||
@@ -1886,7 +1893,8 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => 'Tanpa iklan di seluruh aplikasi';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Seluruh katalog di Android Auto: favorit, stasiun saya, dan musik lokal (gratis: hanya stasiun pilihan)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'Perekaman stasiun';
|
||||
@@ -1946,4 +1954,22 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'Trek tanpa nama';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'Rekaman ditujukan untuk penggunaan pribadi Anda. Hormati hak setiap stasiun dan hak atas kontennya.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'Gelombang audio asli';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'Bilah mengikuti suara yang sedang diputar. Saat nonaktif, bilah bergerak sendiri.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android hanya mengizinkan pembacaan level audio dengan izin mikrofon. PluriWave tidak mendengarkan atau merekam mikrofon: aplikasi hanya mengukur suara yang sedang diputar. Anda dapat menonaktifkannya kapan saja.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'Aktifkan';
|
||||
}
|
||||
|
||||
@@ -463,7 +463,14 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get recordingActionRename => 'Rinomina';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'Condividi';
|
||||
String get stationActionShare => 'Condividi stazione';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'Apri in un\'altra app';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'Nessuna app su questo dispositivo può riprodurre questa registrazione.';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'Elimina';
|
||||
@@ -1900,7 +1907,8 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
'Nessuna pubblicità in tutta l\'app';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Tutto il catalogo in Android Auto: preferiti, le mie stazioni e musica locale (gratis: solo stazioni in evidenza)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'Registrazione delle stazioni';
|
||||
@@ -1961,4 +1969,22 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'Traccia senza nome';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'Le registrazioni sono per il tuo uso personale. Rispetta i diritti di ogni stazione e dei suoi contenuti.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'Onda audio reale';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'Le barre seguono il suono in riproduzione. Se disattivata, si animano da sole.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android consente di leggere il livello audio solo con l\'autorizzazione del microfono. PluriWave non ascolta né registra il microfono: misura soltanto il suono che sta già riproducendo. Puoi disattivarlo quando vuoi.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'Attiva';
|
||||
}
|
||||
|
||||
@@ -445,7 +445,13 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||
String get recordingActionRename => '名前を変更';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => '共有';
|
||||
String get stationActionShare => '放送局を共有';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => '別のアプリで開く';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError => 'この端末には、この録音を再生できるアプリがありません。';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => '削除';
|
||||
@@ -1820,7 +1826,8 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => 'アプリ全体で広告なし';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Android Auto でカタログ全体を利用: お気に入り、マイ局、ローカル音楽 (無料版はおすすめ局のみ)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => '放送局の録音';
|
||||
@@ -1877,4 +1884,21 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => '名称未設定のトラック';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'録音はあなた個人の利用のためのものです。各放送局とその内容に関する権利を尊重してください。';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => '実際の音声波形';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle => 'バーが再生中の音に合わせて動きます。オフのときは独自に動きます。';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android では、マイクの権限がないと音声レベルを読み取れません。PluriWave がマイクを聞いたり録音したりすることはありません。再生中の音の大きさを測るだけです。いつでもオフにできます。';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'オンにする';
|
||||
}
|
||||
|
||||
@@ -461,7 +461,14 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
String get recordingActionRename => 'Renomear';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'Compartilhar';
|
||||
String get stationActionShare => 'Compartilhar estação';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'Abrir em outro app';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'Nenhum app deste dispositivo consegue reproduzir esta gravação.';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'Excluir';
|
||||
@@ -1886,7 +1893,8 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => 'Sem anúncios em todo o app';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Todo o catálogo no Android Auto: favoritos, as minhas estações e música local (grátis: apenas estações em destaque)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'Gravação de emissoras';
|
||||
@@ -1946,4 +1954,22 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'Faixa sem nome';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'As gravações são para o teu uso pessoal. Respeita os direitos de cada estação e dos seus conteúdos.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'Onda de áudio real';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'As barras seguem o som que está a tocar. Desativado, animam-se sozinhas.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'O Android só permite ler o nível de áudio com a permissão do microfone. O PluriWave não escuta nem grava o microfone: apenas mede o som que já está a reproduzir. Podes desativar isto quando quiseres.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'Ativar';
|
||||
}
|
||||
|
||||
@@ -461,7 +461,14 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
String get recordingActionRename => 'Переименовать';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => 'Поделиться';
|
||||
String get stationActionShare => 'Поделиться станцией';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => 'Открыть в другом приложении';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError =>
|
||||
'На этом устройстве нет приложения, способного воспроизвести эту запись.';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => 'Удалить';
|
||||
@@ -1893,7 +1900,8 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
'Никакой рекламы во всём приложении';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'Весь каталог в Android Auto: избранное, мои станции и локальная музыка (бесплатно: только рекомендуемые)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => 'Запись радиостанций';
|
||||
@@ -1953,4 +1961,22 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => 'Трек без названия';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice =>
|
||||
'Записи предназначены только для личного использования. Уважайте права станций и их контента.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => 'Реальная звуковая волна';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle =>
|
||||
'Полосы следуют за звучащим аудио. Если выключено, они движутся сами по себе.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android разрешает считывать уровень звука только с разрешением на микрофон. PluriWave не слушает и не записывает микрофон: он лишь измеряет уже воспроизводимый звук. Отключить можно в любой момент.';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => 'Включить';
|
||||
}
|
||||
|
||||
@@ -443,7 +443,13 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
String get recordingActionRename => '重命名';
|
||||
|
||||
@override
|
||||
String get recordingActionShare => '分享';
|
||||
String get stationActionShare => '分享电台';
|
||||
|
||||
@override
|
||||
String get recordingActionOpenIn => '用其他应用打开';
|
||||
|
||||
@override
|
||||
String get recordingOpenNoAppError => '此设备上没有可播放该录音的应用。';
|
||||
|
||||
@override
|
||||
String get recordingActionDelete => '删除';
|
||||
@@ -1805,7 +1811,8 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
String get premiumBeneficioSinAnuncios => '全应用无广告';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||||
String get premiumBeneficioAndroidAuto =>
|
||||
'在 Android Auto 中使用完整电台库:收藏、我的电台和本地音乐(免费版仅限精选电台)';
|
||||
|
||||
@override
|
||||
String get premiumBeneficioGrabacion => '电台录音';
|
||||
@@ -1861,4 +1868,20 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get autoPistaSinNombre => '未命名曲目';
|
||||
|
||||
@override
|
||||
String get recordingsPrivateUseNotice => '录音仅供你个人使用。请尊重各电台及其内容的权利。';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveTitle => '真实音频波形';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveSubtitle => '音条会跟随正在播放的声音。关闭时,音条会自行跳动。';
|
||||
|
||||
@override
|
||||
String get visualizerRealWavePermissionExplanation =>
|
||||
'Android 只有在获得麦克风权限后才允许读取音频电平。PluriWave 不会监听或录制麦克风,只测量它正在播放的声音。你可以随时关闭此功能。';
|
||||
|
||||
@override
|
||||
String get visualizerRealWaveEnableAction => '开启';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user