From 8e45296826c5b8e449a6e157f71ed3b60a81c686 Mon Sep 17 00:00:00 2001
From: chr_56
Date: Sat, 14 Dec 2019 21:16:40 +0800
Subject: [PATCH 001/199] remove values-cmn/strings.xml (useless)
---
app/src/main/res/values-cmn/strings.xml | 504 ------------------------
1 file changed, 504 deletions(-)
delete mode 100644 app/src/main/res/values-cmn/strings.xml
diff --git a/app/src/main/res/values-cmn/strings.xml b/app/src/main/res/values-cmn/strings.xml
deleted file mode 100644
index 3ff479bfd..000000000
--- a/app/src/main/res/values-cmn/strings.xml
+++ /dev/null
@@ -1,504 +0,0 @@
-
-
- 点击搜索按钮即可开始使用
- %1$s 次观看
- 发布于 %1$s
- 找不到媒体播放器。您要安装 VLC 吗?
- 找不到媒体播放器(您可以安装 VLC 来播放)。
- 安装
- 取消
- 在浏览器中打开
- 在悬浮窗模式下打开
- 分享
- 下载
- 下载媒体文件
- 搜索
- 设置
- 您是不是要找:%1$s?
- 分享至
- 选择浏览器
- 旋转
- 使用外部视频播放器
- 删除某些分辨率下的音频
- 使用外部音频播放器
- NewPipe 悬浮窗模式
- 订阅
- 已订阅
- 退订成功
- 无法更改订阅
- 无法更新订阅
- 显示信息
- 主页
- 订阅
- 已添加书签到播放列表
- 新功能
- 转到后台
- 悬浮窗
- 添加到
- 视频下载文件夹
- 已下载的视频储存在此处
- 选择视频文件的下载文件夹
- 音频下载文件夹
- 已下载的音频存储在此处
- 选择音频文件的下载文件夹
- 自动播放
- NewPipes被其它程序调用时播放视频
- 默认分辨率
- 默认悬浮窗分辨率
- 显示更高的分辨率
- 只有部分设备支持播放 2K/4K 视频
- 用 Kodi 播放
- 没找到 Kore 应用,需要安装它吗?
- 显示“用 Kodi 播放”选项
- 显示以 Kodi 媒体中心播放视频的选项
- 音频
- 默认音频格式
- 默认视频格式
- 主题
- 亮色
- 酷黑
- 黑色
- 记住悬浮窗的尺寸与位置
- 记住上一次悬浮窗的位置以及大小
- 已清除图像缓存
- 最小化悬浮窗播放器
- 清除观看历史
- 搜索记录已删除。
- 错误
- 网络错误
- 举报错误
- 没有结果
- 开始
- 暂停
- 播放
- 创建
- 删除
- 删除所有
- 新任务
- 好
-\n
- 错误
-\n
- 不支持的服务器
- 文件已存在
- NewPipe 下载中
- 请稍等…
- 字母与数字
- 最特别的字符
- 这个文件里没有已下载应用程式
- 关于NewPipe
- 设置
- 关于
- 第三方执照
- 打开网页
- 删除书签
- 确定删除该播放列表吗?
- 已创建播放列表
- 播放列表
- 步骤
- 重置
- 为了遵守欧洲通用数据保护法规(GDPR,我们请你注意NewPipe的隐私政策.请仔细阅读.
-\n你必须接受它才能将错误报告发送给我们.
- 接受
- 拒绝
- 没有限制
- 使用移动数据时的解析度限制
- 最小化应用程序切换
- 从主视频播放器切换到其他应用时的操作 - %s
- 没有
- 最小化后台播放
- 使用快速粗略定位
- 粗略定位功能允许播放器以略低的精确度为代价换取更快的定位速度
- 下载缩略图
- 清除缓存的元数据
- 移除所有缓存的网页数据
- 已清除缓存的元数据
- 不加载缩略图时,可以节省数据和存储空间。更改后将清除存储空间和扩展空间的缓存。
- 自动排列下一个媒体
- 在非重复排列中播放最后一个媒体时自动推荐相关媒体
- 玩家手势控制
- 使用手势控制播放器的亮度和音量
- 搜索建议
- 搜索时显示建议
- 搜索历史记录
- 在本地存储搜索
- 观看历史
- 记录观看过的视频
- 取得视窗焦点时继续播放
- 在被打断后继续播放(例如有来电)
- 下载
- 下一部
- 显示「下一部」及「相关」的视频
- 显示「长按以新增」的提示
- 在视频详细信息页按下后台播放或悬浮窗按钮时提示
- 不支持该网址
- 默认内容的国家
- 服务
- 播放器
- 行为
- 视频与音频
- 历史记录和缓存数据
- 悬浮窗
- 外观
- 其他
- 调试
- 在后台播放
- 在悬浮窗下播放
- 已添加到后台播放队列
- 已添加到悬浮窗播放队列
- 播放
- 内容
- 年龄限制内容
- 显示有年龄限制的视频。可以从设置中允许该内容。
- 直播
- 下载
- 下载
- 错误报告
- 所有
- 频道
- 频道
- 播放列表
- 播放列表
- 曲目
- 用户
- 是的
- 稍等
- 不适用
- 过滤
- 刷新
- 清除
- 调整
- 最佳分辨率
- 复原
- 全部播放
- 总是
- 仅一次
- 文件
- NewPipe 通知
- NewPipe 后台播放和悬浮窗播放的通知
- [未知]
- 切换方向
- 切换到后台
- 切换到悬浮窗
- 切换到首页
- 导入数据库
- 导出数据库
- 覆盖您当前的历史记录和订阅
- 导出历史记录、订阅和播放列表
- 删除播放过的媒体的历史记录及回放位置
- 确定要清除所有观看历史记录吗?
- 观看历史记录已清除。
- 清除搜索历史记录
- 清除搜索关键词的历史记录
- 确定要清除所有搜索历史记录吗?
- 无法加载所有缩略图
- 无法解析视频网址签名
- 无法解析网站
- 无法完全解析网站
- 内容不可用
- 无法设置下载菜单
- 目前还不支持观看直播
- 无法获得任何媒体
- 无法加载图片
- 应用程序或界面出现崩溃了
- 无法播放此媒体
- 发生了无法恢复的播放器错误
- 正在从播放器错误中恢复
- 外部播放器不支持此类型的链接
- 无效的网址
- 找不到视频串流
- 找不到音频串流
- 无效的文件夹
- 无效的文件/内容来源
- 该文件不存在或缺少读写权限
- 文件名不能为空
- 发生错误:%1$s
- 没有可供下载的串流
- 抱歉,这不应该发生的。
- 通过电子邮件报告错误
- 抱歉,发生了一些错误。
- 报告
- 信息:
- 发生了什么:
- 事件:\\n请求:\\n内容语言:\\n服务:\\nGMT 时间:\\n组件:\\n版本:\\n系统版本:
- 您的评论(请用英语):
- 详细:
- 视频预览缩略图
- 视频预览缩略图
- 上传者的头像缩略图
- 喜欢
- 不喜欢
- 使用 Tor
- (实验性)通过 Tor 强制下载流量以增加隐私(暂不支持视频媒体)。
- 用户报告
- 这里什么都没有
- 拖动以重新排序
- 无法创建下载目录「%1$s」
- 已成功创建下载目录「%1$s」
- 视频
- 音频
- 重试
- 手机存储访问权限被拒绝
- 千
- 万
- 十亿
- 没有订阅者
-
- - %s 位订阅者
-
-
- 无观看次数
-
- - %s 次观看
-
-
- 没有视频
- 删除
- 校验
- 退出
- 重命名
- 文件名
- 线程
- 错误的网址或网络不可用
- 点按以查看详细信息
- 复制到剪贴板
- 请稍后在设置中定义一个下载文件夹
- 在悬浮窗模式打开
-\n需要此权限
- 已删除一个项目。
- reCAPTCHA 验证
- reCAPTCHA 验证
- 需完成 reCAPTCHA 验证
- 下载
- 文件名中允许的字符
- 无效字符将替换为该值
- 替换字符
- © %1$s 由 %2$s 使用 %3$s 版权所有
- 无法加载许可证
- 关于
- 贡献者
- 许可证
- 安卓上开源且轻便的媒体播放器。
- 贡献
- 您是否有想法帮助我们:翻译、界面设计、代码优化以及真正繁重的功能扩展 - 我们随时欢迎您提供帮助。让 NewPipe 越变越好!
- 在 GitHub 上查看
- 捐赠
- NewPipe 由社区人员维护和开发额,他们耗费时间务求为您带来最佳体验。现在是时候回过头来,让我们的开发人员能够在使 NewPipe 更加完美的同时,享受一杯咖啡。
- 回馈
- 网站
- 访问 NewPipe 网站了解更多信息和新闻。
- NewPipe 的隐私政策
- NewPipe 项目是非常重视您的隐私。因此,未经您的同意,该应用程序不会收集任何数据。
-\nNewPipe 的隐私政策详细说明了当您发送崩溃报告时,什么资料会被传送及储存。
- 阅读隐私政策
- NewPipe 的许可证
- NewPipe 是一个 Copyleft 的自由软件:您可以随意使用、研究、分享或改进它。在遵守由自由软件基金会所发布的 GNU 通用公共授权条款的状况下,您可以自由地再发布或修改它;授权条款预设使用第三版,但您也可以选择更新的版本。
- 阅读许可证
- 历史记录
- 搜索
- 观看
- 历史记录被关闭了
- 历史记录
- 没有历史记录
- 清除历史记录
- 项目已删除
- 确定要从搜索历史记录中删除该项吗?
- 确定要从观看历史记录中删除该项吗?
- 您确定要删除历史记录中的所有项吗?
- 上一次播放
- 最受欢迎
- 首页内容
- 空白页面
- 互动页面
- 订阅页面
- Feed 页面
- 频道页面
- 选择一个频道
- 尚未订阅任何频道
- 选择一个互动
- 输出
- 接入
- 无效的压缩文件
- 警告:无法导入所有文件。
- 这将覆盖您当前的设定。
- 您是否要导入设定?
- 互动
- 趋势
- 前 50
- 最新和热门
- 转到后台播放
- 悬浮窗播放
- 移除
- 详细
- 音频设置
- 长按加入队列
- 加入后台播放列表
- 加入悬浮窗播放列表
- 从这里开始播放
- 开始在后台播放
- 开始在新悬浮窗播放
- 打开抽屉
- 关闭抽屉
- 很快就会出现在这里 ;D
- 偏好的「开启」动作
- 开启内容时的默认动作 - %s
- 视频播放器
- 后台播放器
- 悬浮窗播放器
- 总是询问
- 正在获取信息…
- 正在载入请求的内容
- 新的播放列表
- 删除
- 重命名
- 名称
- 添加到播放列表
- 设为播放列表缩略图
- 将播放列表加入书签
- 播放列表缩略图已更改。
- 无法删除播放列表。
- 没有字幕
- 合适
- 填满
- 缩放
- 自动生成
- 字幕
- 修改播放器字幕文本比列和背景样式。需要重启才能生效。
- 启用 LeakCanary
- 内存泄漏监视可能导致应用程序在存储时无响应
- 报告活动周期外错误
- 强制报告在处理完片段或活动周期外发生的无法传递的 Rx 异常
- 导入/导出
- 导入
- 导入至
- 导出到
- 正在导入…
- 正在导出…
- 导入文件
- 之前的导出
- 无法导入订阅
- 无法导出订阅
- 通过下载导出文件来导入 YouTube 订阅:
-\n
-\n1.移至该网址:%1$s
-\n2.当被询问时登入帐号
-\n3.应该开始下载(这是导出文件)
- 通过输入 URL 或 ID 来导入 SoundCloud的配置文件:
-\n
-\n1.在浏览器中启用「桌面模式」(该网站不适用于移动设备)
-\n2.移至该网址:%1$s
-\n3.当被询问时登入帐号
-\n4.复制您重定向的配置文件到网址。
- 您的 ID,soundcloud.com/yourid
- 请记住,此操作可能造成昂贵的网络花费。
-\n
-\n您是否要继续?
- 播放速度控制
- 速度
- 音量
- 取消链接(可能会导致扭曲)
- 静音时快进
- 退订
- 新标签
- 选择标签
- 音量手势控制
- 用手势控制播放器的音量
- 手势控制亮度
- 用手势控制播放器的亮度
- 默认的内容语言
- 升级
- 文件已删除
- 应用升级通知
- 新 NewPipe 版本通知
- 外储存不可行
- 无法下载到外部SD卡。重置下载文件夹位置?
- 恢复默认
- 您真的要恢复至默认吗?
- 选择
- 升级
- 列表
- 自动
- 轻按以下载
- 已完成
- 有待
- 已暂停
- 已加入队列
- 后处理
- 队列
- 系统拒绝该行动
- 下载失败
- 下载完成
- %s已下载完毕
- 生成独特的名字
- 覆写
- 同名的已下载文件已经存在
- 同名下载进行中
- 显示错误
- 代码
- 无法创建该文件
- 系统拒绝此批准
- 安全连接失败
- 找不到服务器
- 连不上服务器
- 伺服器没回送数据
- 找不到
- 后处理失败
- 清除已完毕的下载
- 停
- 重试上限
- 取消下载前可以尝试的最多次数
- 换成手机数据时中断
- 事件
- 使用默认选项卡, 读取保存的选项卡时出错
- 订阅者计数不可用
- 主页上显示的选项卡
- 会议
- 显示通知, 以便在新版本可用时提示应用更新
- 列表视图模式
- 网格
- 切换视图
- NewPipe 更新可用!
- 无法创建目标文件夹
- 服务器不接受多线程下载, 请使用 @string/msg_threads = 1重试
- 切换至移动数据时有用,尽管一些下载无法被暂停
- 显示评论
- 禁用停止显示评论
- 自动播放
-
- - 评论
-
-
- 没有评论
- 无法加载评论
- 关闭
- 继续播放
- 恢复上次播放位置
- 列表中的位置
- 在列表中显示播放位置指示符
- 清除数据
- 播放位置已删除。
- 文件被移动或删除
- 已存在具有此名称的文件
- 无法覆盖该文件
- 同名文件正在等待下载
- 处理此文件时 NewPipe 已关闭
- 设备上没有剩余空间
- 进度丢失,因为文件已被删除
- 连接超时
- 你确定吗?
- 限制下载队列
- 同时只有一个下载进行
- 开始全部下载
- 暂停全部下载
- 询问下载位置
- 每次下载将询问保存的位置
- 每次下载将询问保存的位置.
-\n如果要下载到外部SD卡,请选择外部存储访问框架
- 使用存储访问框架
- 存储访问框架(SAF)允许下载文件到外部SD卡。
-\n注:一些设备不兼容SAF
- 删除回放位置
- 删除所有回放位置
- 删除所有的回放位置吗?
- 更改要生效的下载文件夹
-
\ No newline at end of file
From 9309159c387662242f8083ea0545200b8fb8cffa Mon Sep 17 00:00:00 2001
From: chr_56
Date: Sat, 14 Dec 2019 21:25:19 +0800
Subject: [PATCH 002/199] copy file in /values-b+zh+HANS+CN to /values-zh-rCN
,in order to manually update the lang file.
---
app/src/main/res/values-zh-rCN/strings.xml | 845 +++++++++++----------
1 file changed, 453 insertions(+), 392 deletions(-)
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 9aa4b9245..8714c6aca 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -1,457 +1,518 @@
-
+
- 点播%1$s次
- %1$s发布
- 找不到播放器。您是否要安装 VLC?
+ 点击搜索按钮即可开始使用
+ %1$s 次观看
+ 发布于 %1$s
+ 在浏览器中打开
+ 在悬浮窗模式下打开
+ 您是不是要找:%1$s?
+ 找不到串流播放器 (您可以安裝并使用VLC播放)。
+ 下载串流文件
安装
取消
- 用浏览器打开
分享
下载
搜索
设置
- 您是不是要找: %1$s ?
- 分享视频
+ 分享给...
选择浏览器
- 旋转
- 使用外置视频播放器
- 使用外置音频播放器
- 视频下载路径
- 下载视频的存储路径
- 输入视频存储路径
- 默认分辨率
- 用Kodi播放
- 找不到Kore,您要安装Kore吗?
- 显示“用Kodi播放”的选项
- 显示 Kodi 媒体中心播放视频的选项
- 音频
- 默认音频格式
+ 视频下载文件夹
+ 已下载的视频存储在这里
+ 请选择下载视频的保存位置
+ 已下载的音频存储在这里
+ 选择下载音频的储存位置
+ 自动播放
+ 使用Kodi播放
主题
- 灰暗
- 明亮
-
+ 浅色
+ 暗黑
+ 黑色
下载
- 即将播放
- 显示下一部和相似的视频
- 不支援此网址
- 默认内容语言
- 视频和音频
+ 下一个
+ 不支持的 URL
外观
其他
- 后台播放
- 播放
+ 全部
+ 频道
+ 是
+ 稍后
网络错误
-
- 视频预览缩略图
- 视频预览缩略图
- 上传者的头像缩图
+
+ - 视频
+
+
+ 禁用
+ 背景
+ 过滤器
+ 刷新
+ 搜索建议
+ 订阅
+ 已订阅
+ 观看历史
+ 播放器
+ 历史记录与缓存
+ 播放列表
+ 撤销
+ 全部播放
+ 总是
+ 仅一次
+ 添加至
+ 文件
+ 加载缩略图
+ 清除观看记录
+ 无
+ 最小化后台播放器
+ 最小化悬浮窗播放器
+ 频道
+ 播放列表
+ 取消订阅
+ 新标签
+ 更新
+ 文件已删除
+ 无法得知订阅人数
+ 每推出新版本时,弹出应用升级通知
+ 网格
+ 新版 NewPipe 已可升级!
+ 服务器不接受 接收 multi-threaded 下载, 以 @string/msg_threads = 1 重试
+ 自动播放
+ 清除数据
+ 观看记录已删除
喜欢
不喜欢
- 使用 Tor
- (实验性)强制下载流量使用 Tor 加强隐私(暂不支援流媒体视频)。
- 音频存储路径
- 下载音频的存储路径
- 输入音频文件存储路径
-
- 未能建立下载路径 “%1$s”
- 已创建下载目录 “%1$s”
- 内容
- 显示年龄限制内容
- 视频有年龄限制。请先在设置中启用\"显示年龄限制内容\"。
- 错误
- 无法加载所有缩略图
- 无法解密视频网址签名
- 无法解析网站
- 无法完全解析网站
- 内容不可用
- 无法设置下载菜单
- 这是一个在线流媒体,尚不支持。
- 无法获取任何流媒体
- 抱歉,这本不应该发生。
- 使用邮件报告错误
- 抱歉,发生了一些错误。
- 报告
- 信息:
- 发生什么:
- 您的注释(英文):
- 详细信息:
-
-
+ 使用Tor
+ (实验性)通过 Tor 强制下载流量以增强隐私(暂不支持串流视频)。
报告错误
用户报告
-
+ 无法创建下载目录\"%1$s\"
+ 已成功创建下载目录「%1$s」
视频
音频
重试
- 无权访问存储空间
- 自动播放
- 当NewPipe被其他应用调用时,自动播放视频
- 直播
-
- 点击搜索开始NewPipe
+ 存储访问权限已被拒绝
+
+ - %1$s 次观看
+
+
+ 千
+ 百万
开始
暂停
播放
删除
- 校验和
-
- 确定
-
- 文件名
- 线程
- 错误
- 服务器不支持
- 文件已经存在
- 网址不正确或网络不可用
- NewPipe 正在下载
- 点击了解细节
- 请稍候…
- 已复制到剪贴板
- 请选择一个可用的下载目录
-
+ 校验
新任务
- 下载
- 下载
- 错误报告
-
- 无法加载图像
- 应用/界面已崩溃
- 原因:\\n请求:\\n内容语言:\\n服务:\\nGMT时间:\\n包:\\n版本:\\n操作系统版本:
- reCAPTCHA
- reCAPTCHA 验证
-
- 需要 reCAPTCHA 验证
-
-以悬浮窗打开
- 选项启用时,某分辨率的视频将没有声音
- NewPipe悬浮窗模式
- 订阅
- 已订阅
- 已取消订阅频道
- 无法更改订阅
- 无法更新订阅
-
- 首页
- 订阅
-
- 新鲜事
-
- 后台播放
- 悬浮窗
-
- 窗口模式默认分辨率
- 显示更高的分辨率
- 只有部分设备支持 2K/4K 视频
- 首选视频格式
- 纯黑
- 记住悬浮窗大小和位置
- 记住上次悬浮窗的大小和位置
- 播放手势控制
- 使用手势操作控制播放器的亮度和音量
- 搜索建议
- 在搜索时显示搜索建议
- 搜索记录
- 在本地存储搜索请求
- 历史和缓存
- 记住观看的视频
- 焦点恢复
- 在打扰(例如来电)过后恢复视频播放
-
-
- 窗口模式
- 以窗口模式播放
- 所有
- 频道
- 是的
- 稍后
- 已禁用
- 筛选器
- 刷新
- 清除
- 重新调整大小
- 最佳分辨率
-
- NewPipe 通知
- NewPipe 后台播放和窗口播放器的通知
-
- K
- M
- B
-
- 该项权限用于
-\n以窗口模式打开
-
- 下载
- 在文件名中允许的字符
- 无效的字符将以该值取代
- 替换字符
-
- 字母和数字
- 特殊字符
-
- 关于 NewPipe
+ OK
+ 文件名
+ 线程数
+ 错误
+ 不支持的服务器
+ 文件已存在
+ 点击了解详情
+ 请稍候…
+ 复制至剪贴板
+ reCAPTCHA验证码
+ 悬浮窗播放
+ 关于NewPipe
设置
关于
第三方许可
- © %1$s by %2$s under %3$s
- 无法加载许可
+ © %1$s :作者 %2$s (使用 %3$s )
+ 无法加载许可证
打开网站
关于
贡献者
- 许可
- 开源的轻量级流媒体Android客户端。
- 在 GitHub 上查看
- NewPipe 许可
- 无论你有什么想法:翻译程序,改进设计,优化代码或是想做出大量修改——我们都随时欢迎。做得越多它将变得越好!
- 阅读许可
- 贡献
-
- 历史记录
- 搜索记录
- 观看记录
- 历史记录已禁用
- 历史记录
- 没有历史记录
- 历史记录已清除
-
-播放器
- 行为
- 历史记录 & 缓存
- 在后台播放器上排队
- 在弹出播放器上排队
- 播放列表
- 撤销
- 全部播放
-
- [未知]
-
- 无法播放此流媒体
- 发生无法解决的播放器错误
+ 许可证
+ 下载
+ 文件名中允许的字符
+ 无效字符将会被替换为此
+ 字母和数字
+ 最特殊字符
没有结果
- 空空如也
-
- 无订阅者
+ 没有订阅者
- - %s 位订阅者
-
-
- 无观看次数
-
- - %s 次观看
-
-
+ - %s个订阅者
+
+
没有视频
-
- - %s 部视频
-
-
- 项目已删除
- 找不到播放器(你可以安装 VLC 来播放)
- 下载串流文件。
- 显示详情
-
- 书签
-
- 添入
-
- 使用粗略但快速的寻找
- 粗略寻找让播放器更快找到视频的进度位置
- 加载缩略图
- 停用后,NewPipe將不再加载缩略图,减少数据使用和腾空存储空间,亦会清除内存和内存卡上的缩略图缓存
- 已清除图像缓存
- 清除缓存元数据
- 移除所有网页的缓存数据
- 已清除元数据缓存
- 自动播放队列中下一个视频
- 当播放完非循环列表中的最后一个视频时,自动加入一个相关视频到播放列表
- 显示\"长按添加\"提示
- 当视频详情页中的背景或悬浮按钮被按下的时候显示提示
- 默认内容国家
- 服务
- 调试
- 总是
- 仅一次
- 文件
-
- 切换方向
- 切换到后台
- 切换到悬浮窗
- 切换到主页
-
- 导入数据库
- 导出数据库
- 将覆盖你现有历史记录和订阅
- 导出历史记录,订阅和播放列表
- 从播放器错误中恢复
- 外部播放器不支持这些链接类型
- 无效的链接
- 未找到视频
- 未找到音频
- 无效的目录
- 无效的文件/内容来源
- 文件不存在或无读写权限
- 文件名不能为空
- 发生了一个错误:%1$s
- 无视频媒体可以下载
-
- 拖拽以重新排列
-
+ 拖动以重新排序
创建
- 删除一个
- 删除全部
+ 仅删除一个
+ 全部删除
解除
- 重命名
-
- 捐赠
- NewPipe 是一群志愿者花费业余时间开发的,目的是为您带来最佳体验。你的一点心意,可以让开发者们在享受一杯 Java 的咖啡的同时让 NewPipe 变得更好用。
- 捐赠
- 网页
- 访问 NewPipe 网站以获取更多的信息和新闻。
- 你想从搜索历史中删除此项吗?
- 你想从观看历史中删除此项吗?
- 确实要删除历史记录的所有项目吗?
- 上一次播放
- 最多播放
-
- 主页内容
+ 重 命名
+ 未安装用于播放此文件的应用程序
+ 已删除1个项目。
+ 哪些标签需要在主页上展示
+ 列表视图模式
+ 已完成
+ 等待中…
+ 已暂停
+ 排队中
+ 已加入队列
+ 操作已被系统拒绝
+ 下载失败
+ 下载完成
+ %s 次下载已完成
+ 没有评论
+ 切换服务,当前选择:
+ 找不到串流播放器。您想安装 VLC 吗?
+ 旋转
+ 使用第三方视频播放器
+ 使用第三方视频播放器
+ 音频下载文件夹
+ 从其他应用打开 NewPipe 时就播放视频
+ 默认分辨率
+ 找不到Kore。是否安装?
+ 显示“用Kodi播放”选项
+ 显示“通过Kodi media center播放视频的选项”
+ 音频
+ 默认音频格式
+ 显示“下一个”和“类似的”视频
+ 视频和音频
+ 在后台播放
+ 播放
+ 内容
+ 受年龄限制的内容
+ 显示受年龄限制的视频。可从设置允许此类内容。
+ 直播
+ 下载
+ 下载
+ 错误报告
+ 错误
+ 无法加载所有缩略图
+ 无法解密视频 URL 的签名
+ 无法解析网址
+ 无法完全解析网址
+ 内容不可用
+ 无法设置下载菜单
+ 暂时不支持观看直播
+ 无法获得任何信息流
+ 无法加载图像
+ App UI 崩溃
+ 抱歉,这不应该发生的。
+ 通过电子邮件报告错误
+ 抱歉,发生了一些错误。
+ 报告
+ 信息:
+ 发生了什么:
+ 详情:\\n请求:\\n内容语言:\\n服务:\\nGMT时间:\\n包:\\n版本:\\n操作系统版本:
+ 您的注释(请用英文):
+ 详细信息:
+ 视频预览缩略图
+ 播放视频,时长:
+ 视频上传者的头像缩略图
+ 字节
+ 错误的 URL 或未联网
+ NewPipe下载中
+ 请稍后在设置中设定下载目录
+ 用悬浮窗模式
+\n需要此权限
+ reCAPTCHA验证
+ 请求的新的CAPTCHA验证
+ NewPipe悬浮窗模式
+ 在悬浮窗中播放
+ 默认悬浮窗分辨率
+ 使用更高的分辨率
+ 仅某些设备支持播放2K / 4K视频
+ 清除
+ 记住悬浮窗的尺寸与位置
+ 记住最后一次使用悬浮窗的大小和位置
+ 悬浮窗
+ 调整大小
+ 删除“某些”分辨率的音频
+ 播放器手势控制
+ 使用手势控制播放器的亮度和音量
+ 显示搜索建议
+ 最佳分辨率
+ 开源小巧的Android媒体播放器。
+ 在GitHub上查看
+ NewPipe开源许可证
+ 你是否有想:翻译、设计、清理或重型代码更改 ——我们始终欢迎你来贡献!
+ 阅读许可证
+ 贡献
+ 替换字符
+ 取消订阅频道
+ 无法修改订阅
+ 无法更新订阅
+ 主页面
+ 订阅
+ 新增功能
+ 恢复前台焦点
+ 中断后继续播放(例如突然来电后)
+ 搜索历史记录
+ 在本地存储搜索查询记录
+ 记录已观看视频
+ 历史
+ 已搜索
+ 已观看
+ 历史记录功能已关闭
+ 历史
+ 历史记录为空
+ 清除历史记录
+ NewPipe 通知
+ NewPipe 后台播放和悬浮窗播放的通知
+ 默认视频格式
+ 行为
+ 空空如也...
+ 0次观看
+ 项目已删除
+ 是否要从搜索历史记录中删除此项目?
+ 显示在主页面内容
空白页
- Kiosk 页
+ 『时下流行』页-自定义
订阅页
- Feed 页
+ Feed 页面
频道页
- 选择频道
- 还没有订阅的频道
- 选择 kiosk
- 导出完成
- 导入完成
- 无有效的 ZIP 文件
- 警告:无法导入所有文件。
- 将覆盖你现有设置。
-
- Kiosk
- 流行的
+ 选择一个频道
+ 尚未订阅频道
+ 选择一个时下流行页
+ 『时下流行』
+ 趋势
前50
- 最新 & 最热
- 后台播放器
+ 最新与热门
+ 显示 \"长按添加\" 说明
+ 在视频详情页中,按下背景播放或悬浮窗播放按钮时显示提示
+ 已加入后台播放播放列表
+ 已加入悬浮窗播放列表
+ 无法播放此串流
+ 发生无法恢复播放器错误
+ 恢复播放器错误
+ 后台播放
悬浮窗播放器
移除
详情
音频设置
- 按住以队列
- 在后台队列
- 在悬浮窗队列
- 从这里播放
- 从这里在后台播放
- 从这里在悬浮窗播放
-
- 打开侧栏菜单
- 关闭侧栏菜单
- 精彩内容即将呈现 ;D
-
-
- 偏好\"打开\"动作
- 打开内容的默认动作 — %s
-
+ 长按队列
+ [未知]
+ 添加到后台部分队列
+ 添加至新悬浮窗列表
+ 开始在此处开始播放
+ 开始后台播放
+ 开始在新悬浮窗中播放
+ 捐赠
+ NewPipe 是由志愿者花费时间为您带来最佳体验开发的。回馈帮助开发人员在享用一杯咖啡的同时,让 NewPipe 变得更好。
+ 回馈
+ 网站
+ 请访问 NewPipe 网站了解更多信息和讯息。
+ 默认国家/地区
+ 切换方向
+ 切换到背景播放
+ 切换到悬浮窗播放
+ 切换到主页面
+ 服务
+ 打开抽屉
+ 关闭抽屉
+ 第三方播放器不支持此类型链接
+ 无效 URL
+ 未找到视频串流
+ 找不到音频串流
视频播放器
后台播放器
悬浮窗播放器
- 总是询问
-
- 获取信息中…
- 正在加载请求内容
-
- 创建新播放列表
- 删除播放列表
- 重命名播放列表
+ 正在获取信息…
+ 正在加载请求的内容
+ 导入数据库
+ 导出数据库
+ 覆盖当前历史记录和订阅
+ 导出历史记录、订阅和播放列表
+ 导出成功
+ 导入成功
+ 没有有效的ZIP文件
+ 警告:无法导入所有文件。
+ 这将覆盖当前设置。
+ 显示信息
+ 已收藏
+ 确定要从观看历史记录中删除该项吗?
+ 是否确实要从历史记录中删除所有项目?
+ 最后播放
+ 播放最多
+ 总是寻问
+ 新建播放列表
+ 删除
+ 重 命名
名称
- 加入播放列表
- 设置为播放列表缩略图
-
- 书签播放列表
- 移除书签
-
- 你想删除此播放列表吗?
- 播放列表已创建
- 加入播放列表
- 播放列表缩略图已更改
+ 添加到播放列表
+ 设为播放列表缩略图
+ 收藏播放列表
+ 删除收藏
+ 删除此播放列表?
+ 新建播放列表成功
+ 加入播放列表成功
+ 播放列表缩略图更改成功。
无法删除播放列表
-
无字幕
-
适应屏幕
填充屏幕
- 放大填充
-
+ 缩放
+ 敬请等待
+ 调试
自动生成
-
- 启用 LeakCanary
- 内存泄露监测可能会在heap dumping时导致应用失去响应
-
- 报告生命周期外的错误
- 处理完无法送达的、发生在Fragment或activity生命周期之外的Rx异常后强制报告
-
+ 启用LeakCanary
+ 『内存泄漏监视』可能导致应用在『核心转储』时无响应
+ 报告『提前结束Android生命周期』错误
+ 强制报告处理后的未送达的Activity或Fragment生命周期之外的Rx异常
+ 使用快速不精确搜索
+ 粗略定位播放:允许播放器以略低的精确度为代价换取更快的定位速度
+ 自动播放下一个
+ 当播放完非循环列表中的最后一个视频时,自动加入一个相关视频到播放列表
+ 没有此文件夹
+ 无相似文件/内容源
+ 该文件不存在 或 缺少读写该文件的权限
+ 文件名不能为空
+ 发生错误: %1$s
导入/导出
导入
- 从导入
- 导出至
-
- 导入中…
- 导出中…
-
+ 从...导入
+ 导出到...
+ 正在导入…
+ 正在导出…
导入文件
- 之前的导出
-
+ 以前的导出
无法导入订阅
无法导出订阅
-
- 通过下载导出文件导入 YouTube 订阅:
-\n1. 在浏览器打开URL:%1$s
-\n2. 登录账户
-\n3. 下载应该会马上开始(这个就是导出文件)
- 通过输入URL或您的ID导入SoundCloud配置:
-\n1. 在浏览器中开启\"桌面模式\"(该网站不适用于移动设备)
-\n2. 打开URL:%1$s
-\n3. 登录账号
-\n3. 复制重定向后的URL。
- 你的ID 或 soundcloud.com/你的ID
-
- 请注意该操作可能消耗大量网络流量。
-\n您希望继续吗?
-
+ 通过下载导出文件来导入 YouTube 订阅:
+\n
+\n1. 转到此网站: %1$s
+\n2. 登录(如果需要)
+\n3. 应该立即开始下载(即导出文件)
+ 通过键入网址或你的 ID 导入 SoundCloud 配置文件:
+\n
+\n1. 在浏览器中启用\"电脑模式\"(该网站不适用于移动设备)
+\n2. 转到此 URL: %1$s
+\n3. 登录(如果需要)
+\n4. 复制重定向的配置文件下载地址。
+ 你的 ID:soundcloud.com/[你的ID]
+ 该操作消耗大量流量,
+\n你想继续吗?
+ 关闭可防止加载缩略图,节已省数据和内存使用。(若现在更改会清除内存和储存中缓存)
+ 清空图像缓存成功
+ 清空已缓存元数据
+ 清空已缓存的网页数据
+ 清空元数据缓存成功
播放速度控制
- 速度
+ 节奏
音调
- Unhook(可能导致失真)
- 默认
-未安装能播放此文件的应用
-
+ 解除关联(可能导致失真)
+ 首选“打开”操作
+ 打开内容时默认操作: = %s
+ 无可下载的串流内容
字幕
- 修改播放器的字幕文本大小和背景样式。需要重启应用程序以生效
-
- 清除观看记录
- 删除视频观看记录
- 删除全部观看记录。
- 观看记录已删除。
- 清除搜索记录
- 删除搜索关键词记录
- 删除全部搜索记录。
- 搜索记录已删除。
- 已删除1项。
-
- NewPipe的隐私策略
- NewPipe 项目非常重视您的隐私。因此, 未经您的同意,应用程序不会收集任何您的数据。 NewPipe 的隐私策略详细解释了您在发送崩溃报告时会发送和存储的哪些数据。
- 阅读隐私策略
- NewPipe 是 copyleft 的自由软件: 你可以按照自己的意愿使用、学习、分享和改进它。具体地说, 您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款(第3版或者任何更高版本), 重新发布和/或修改本软件。
- 您是否希望同时导入设置?
-
- 为了遵守欧洲通用数据保护条例(GDPR),我们提醒您注意NewPipe的隐私政策。 请仔细阅读。
+ 修改播放器字幕比例和背景样式。需要重新启动应用程序才能生效。
+ 删除串流的播放历史和播放位置
+ 删除全部观看记录?
+ 清除搜索历史记录
+ 清除搜索关键词的历史记录
+ 是否删除全部搜索历史记录?
+ 搜索历史记录已删除。
+ NewPipe 是版权自由软件:您可以随时使用、研究共享和改进它。您可以根据自由软件基金会发布的 GNU 通用公共许可证GPLv3或(由您选择的)任何更高版本的许可证重新分发或修改该许可证。
+ 是否要同时导入设置?
+ NewPipe的隐私政策
+ NewPipe 项目非常重视您的隐私。因此,未经您的同意,应用程序不会收集任何数据。
+\nNewPipe 的隐私政策详细解释了在发送崩溃报告时发送和存储的数据。
+ 阅读隐私政策
+ 为了遵守欧洲一般数据保护条例 (GDPR),我们提请您注意 NewPipe 的隐私政策。请仔细阅读。
\n您必须接受它才能向我们发送错误报告。
接受
拒绝
-
- 不限制
+ 无限制
使用移动数据时限制分辨率
- 更多频道
- 更多频道
- 用户们
-
+ 切换应用时最小化
+ 从主播放器切换到其他应用时的操作 - %s
+ 静音时快进
+ 滑块[比例尺]
+ 重 置
+ 曲目
+ 用户
+ 选择标签
+ 音量手势控制
+ 使用手势控制播放器的音量
+ 亮度手势控制
+ 使用手势控制播放器的亮度
+ 视频默认语言
+ 应用更新通知
+ NewPipe有新版本的通知
+ 外置存储不可用
+ 无法下载到外部 SD 卡。重置下载文件夹位置?
+ 读取已保存标签时发生错误,因此使用者默认标签
+ 恢复默认
+ 是否恢复默认值?
+ 选择
+ 更新
+ 列表
+ 自动
+ 切换视图
+ 点击下载
+ 后期处理
+ 生成唯一名称
+ 覆盖
+ 正在使用此名称进行下载
+ 显示错误
+ 代码
+ 无法创建目标文件夹
+ 无法创建文件
+ 权限被系统拒绝
+ 安全连接失败
+ 找不到服务器
+ 无法连接到服务器
+ 服务器未发送数据
+ 找不到 NOT FOUND
+ 后期处理失败
+ 清除已完成的下载
+ 停止
+ 最大重试次数
+ 取消下载前的最多尝试次数
+ 在切换到移动流量网络时中断播放
+ 切换至移动数据时可能有用,尽管一些下载无法被暂停
+ 事件
+ 近期大会
+ 显示评论
+ 禁用,以停止显示评论
+
+ - 评论
+
+
+ 无法加载评论
+ 关闭
+ 恢复播放
+ 恢复上次播放位置
+ 列表中的位置
+ 在列表中,显示视频最后一次播放时的播放位置
+ 已删除播放位置记录。
+ 文件被已移动或删除
+ 该名称的文件已经存在
+ 命名冲突,已存在具有此名称文件
+ 无法覆盖文件
+ 有此名称的已暂停下载
+ 处理文件时,NewPipe 已关闭
+ 设备上没有剩余储存空间
+ 进度丢失,文件已被删除
+ 连接超时
+ 你确定吗?
+ 最大下载队列
+ 同时只允许一个下载进行
+ 开始下载
+ 暂停下载
+ 询问下载位置
+ 系统将询问您将每次下载的保存位置
+ 系统将询问您将每次下载的保存位置。
+\n(如果要下载到外部 SD 卡,请选择 SAF)
+ 使用 SAF
+ 存储访问框架(SAF)允许下载文件到外部SD卡。
+\n注:一些设备不兼容SAF
+ 删除播放位置记录
+ 删除所有播放位置记录
+ 删除所有播放位置记录?
+ 更改下载目录让内容生效
+ 『时下流行』页-默认
+ 无人在线观看
+
+ - %s 人在观看
+
+
+ 没人在听
+
+ - %s个听众
+
+
+ 重新启动应用后,语言将更改。
+
\ No newline at end of file
From dea1e0dcb9652dbaddcd1f1de68d8a5d340426a2 Mon Sep 17 00:00:00 2001
From: bopol
Date: Sat, 4 Jan 2020 21:38:27 +0100
Subject: [PATCH 003/199] Update localizations settings
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1) now, on « content language » change, it will also change the app language
2) added Esperanto to the list of language in content language
---
app/src/main/java/org/schabi/newpipe/MainActivity.java | 5 +++++
.../java/org/schabi/newpipe/util/Localization.java | 10 ++++++++++
app/src/main/res/values/settings_keys.xml | 2 ++
3 files changed, 17 insertions(+)
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index 90d299c7f..cac814085 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -67,6 +67,7 @@ import org.schabi.newpipe.fragments.list.search.SearchFragment;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.util.Constants;
import org.schabi.newpipe.util.KioskTranslator;
+import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.PeertubeHelper;
import org.schabi.newpipe.util.PermissionHelper;
@@ -78,6 +79,8 @@ import org.schabi.newpipe.util.ThemeHelper;
import java.util.ArrayList;
import java.util.List;
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
public static final boolean DEBUG = !BuildConfig.BUILD_TYPE.equals("release");
@@ -116,6 +119,8 @@ public class MainActivity extends AppCompatActivity {
ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this));
+ changeAppLanguage(Localization.getPreferredLocale(getApplicationContext()), getResources());
+
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java
index 9274df848..6b0b4cd0c 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Localization.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java
@@ -2,8 +2,11 @@ package org.schabi.newpipe.util;
import android.content.Context;
import android.content.SharedPreferences;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.preference.PreferenceManager;
import android.text.TextUtils;
+import android.util.DisplayMetrics;
import org.ocpsoft.prettytime.PrettyTime;
import org.ocpsoft.prettytime.units.Decade;
@@ -216,4 +219,11 @@ public class Localization {
public static String relativeTime(Calendar calendarTime) {
return getPrettyTime().formatUnrounded(calendarTime);
}
+
+ public static void changeAppLanguage(Locale loc, Resources res) {
+ DisplayMetrics dm = res.getDisplayMetrics();
+ Configuration conf = res.getConfiguration();
+ conf.setLocale(loc);
+ res.updateConfiguration(conf, dm);
+ }
}
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 6aaaa0630..3f361226d 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -272,6 +272,7 @@
- cs
- da
- de
+ - eo
- et
- en-GB
- en
@@ -351,6 +352,7 @@
- Čeština
- Dansk
- Deutsch
+ - Esperanto
- Eesti
- English (UK)
- English (US)
From 694013c9df5c4ace38ca4a825b38e9db9c3b487b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Wed, 8 Jan 2020 21:55:17 +0100
Subject: [PATCH 004/199] Spelling: Language reworked 2
---
app/src/main/res/values/strings.xml | 74 ++++++++++++++---------------
1 file changed, 37 insertions(+), 37 deletions(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 54ae40d1d..0b20edd7d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,10 +1,10 @@
NewPipe
- Tap search to get started
+ Tap \"Search\" to get started
%1$s views
Published on %1$s
- No stream player found. Do you want to install VLC?
+ No stream player found. Install VLC?
No stream player found (you can install VLC to play it).
Install
Cancel
@@ -16,14 +16,14 @@
Download stream file
Search
Settings
- Did you mean: %1$s\?
+ Did you mean: %1$s?
Share with
Choose browser
rotation
Use external video player
- Removes audio at SOME resolutions
+ Removes audio at some resolutions
Use external audio player
- NewPipe popup mode
+ Popup mode
RSS
Subscribe
Subscribed
@@ -43,24 +43,24 @@
Add To
Video download folder
Downloaded video files are stored here
- Choose the download folder for video files
+ Choose download folder for video files
Audio download folder
Downloaded audio files are stored here
- Choose the download folder for audio files
+ Choose download folder for audio files
Change the download folders to take effect
Autoplay
Plays a video when NewPipe is called from another app
Default resolution
Default popup resolution
Show higher resolutions
- Only some devices support playing 2K/4K videos
+ Only some devices can play 2K/4K videos
Play with Kodi
- Kore app not found. Install it?
+ Install missing Kore app?
org.xbmc.kore
Show \"Play with Kodi\" option
- Enable lock screen video thumbnail
- Display an option to play a video via Kodi media center
- When using the background player a video thumbnail will be displayed on the lock screen
+ Lock screen video thumbnail
+ Displayed option to play a video via Kodi media center
+ Using the background player displays a video thumbnail on the lock screen
Audio
Default audio format
Default video format
@@ -75,20 +75,20 @@
Fast-forward/-rewind seek duration
Load thumbnails
Show comments
- Disable to stop showing comments
+ Turn off to hide comments
Turn off to prevent loading thumbnails, saving data and memory usage. Changes clear both in-memory and on-disk image cache.
Image cache wiped
Wipe cached metadata
Remove all cached webpage data
Metadata cache wiped
Auto-queue next stream
- Auto-append a related stream when playing the last stream in a non-repeating queue
+ Auto-append a related stream (to non-repeating queue) after last file
Volume gesture control
- Use gestures to control the volume of the player
+ Use gestures to control player volume
Brightness gesture control
- Use gestures to control the brightness of the player
+ Use gestures to control player brightness
Player gesture controls
- Use gestures to control the brightness and volume of the player
+ Use gestures to control player brightness and volume
Search suggestions
Show suggestions when searching
Search history
@@ -100,21 +100,21 @@
Show playback position indicators in lists
Clear data
Keep track of watched videos
- Resume on focus gain
- Continue playing after interruptions (e.g. phone calls)
+ Resumed playing
+ Continue playing after interruptions (e.g. phonecalls)
Download
Next
Autoplay
Show \'Next\' and \'Similar\' videos
Show \"Hold to append\" tip
- Show tip when background or popup button is pressed on video details page
+ Show tip when pressing the background or the popup button in video \"Details:\"
Unsupported URL
Default content country
Service
Default content language
PeerTube instances
Select your favorite PeerTube instances
- Find the instances that best suit you on %s
+ Find the instances you like on %s
https://joinpeertube.org/instances#instances-list
Add instance
Enter instance URL
@@ -138,9 +138,9 @@
Play
Content
Age restricted content
- Show age restricted video. Allowing such material is possible from Settings.
- LIVE
- LIVE
+ Show age restricted video. Future changes are possible from \"Settings\".
+ Live
+ Live
Downloads
Downloads
Error report
@@ -198,7 +198,7 @@
Error
External storage unavailable
- Downloading to external SD card not possible. Reset download folder location\?
+ Downloading to external SD card not possible. Reset download folder location?
Network error
Could not load all thumbnails
Could not decrypt video URL signature
@@ -224,15 +224,15 @@
Filename cannot be empty
An error occurred: %1$s
No streams available to download
- Using default tabs, error while reading saved tabs
+ Could not read saved tabs, so using default ones
Restore defaults
- Do you want to restore the defaults?
+ Do you want to restore defaults?
Sorry, that should not have happened.
Guru Meditation.
- Report error via e-mail
+ Report this per e-mail
Sorry, some errors occurred.
- REPORT
+ Report
Info:
What happened:
What:\\nRequest:\\nContent Lang:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version:
@@ -246,7 +246,7 @@
Dislikes
Use Tor
(Experimental) Force download traffic through Tor for increased privacy (streaming videos not yet supported).
- Report an Error
+ Report Error
User report
No results
@string/no_videos
@@ -258,7 +258,7 @@
Video
Audio
Retry
- Storage access permission denied
+ Grant access to storage first
k
M
B
@@ -269,7 +269,7 @@
- %s subscriber
- %s subscribers
- Subscribers count not available
+ Subscriber count unavailable
No views
- %s view
@@ -355,7 +355,7 @@
https://github.com/TeamNewPipe/NewPipe
View on GitHub
Donate
- NewPipe is developed by volunteers spending time bringing you the best experience. Give back to help developers make NewPipe even better while enjoying a cup of coffee.
+ NewPipe is developed by volunteers spending time bringing you the best experience. Give back to help make NewPipe even better.
https://newpipe.schabi.org/donate
Give back
Website
@@ -466,7 +466,7 @@
Captions
Modify player caption text scale and background styles. Requires app restart to take effect.
- Enable LeakCanary
+ LeakCanary
Memory leak monitoring may cause the app to become unresponsive when heap dumping
Report out-of-lifecycle errors
Force reporting of undeliverable Rx exceptions outside of fragment or activity lifecycle after disposal
@@ -529,7 +529,7 @@
Auto
Switch View
- NewPipe Update Available!
+ There is a fresh NewPipe version available!
Tap to download
Finished
Pending
@@ -557,7 +557,7 @@
The file can not be created
The destination folder can not be created
Permission denied by the system
- Secure connection failed
+ Could not connect securely
Could not find the server
Can not connect to the server
The server does not send data
@@ -585,7 +585,7 @@
You will be asked where to save each download
You will be asked where to save each download.\nChoose SAF if you want to download to an external SD card
Use SAF
- The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible
+ The Storage Access Framework allows downloads to an external SD card.\nNote: Some devices are incompatible
Choose an instance
From 6bc697f92601b966702fc15a30add41b7772ce51 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Thu, 9 Jan 2020 04:36:39 +0100
Subject: [PATCH 005/199] Continue ending playback queue
---
app/src/main/res/values/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0b20edd7d..f1896c7ba 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -82,7 +82,7 @@
Remove all cached webpage data
Metadata cache wiped
Auto-queue next stream
- Auto-append a related stream (to non-repeating queue) after last file
+ Continue ending (non-repeating) playback queue by appending a related stream
Volume gesture control
Use gestures to control player volume
Brightness gesture control
From bca547ce44021c32a6b99a1ab059174a2f215177 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Thu, 9 Jan 2020 04:38:47 +0100
Subject: [PATCH 006/199] \'Storage Access Framework\'
---
app/src/main/res/values/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f1896c7ba..940008aae 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -585,7 +585,7 @@
You will be asked where to save each download
You will be asked where to save each download.\nChoose SAF if you want to download to an external SD card
Use SAF
- The Storage Access Framework allows downloads to an external SD card.\nNote: Some devices are incompatible
+ The \'Storage Access Framework\' allows downloads to an external SD card.\nNote: Some devices are incompatible
Choose an instance
From 3ad0e313caee037d42ea9a4ef89e80fbd04d9a2f Mon Sep 17 00:00:00 2001
From: bopol
Date: Thu, 9 Jan 2020 09:40:05 +0100
Subject: [PATCH 007/199] =?UTF-8?q?changed=20the=20way=20to=20change=20lan?=
=?UTF-8?q?guage,=20now=20is=20=C2=ABNewPipe's=20language=C2=BB=20selector?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/org/schabi/newpipe/MainActivity.java | 8 +-
.../schabi/newpipe/about/AboutActivity.java | 6 +
.../newpipe/download/DownloadActivity.java | 6 +
.../settings/ContentSettingsFragment.java | 5 +-
.../newpipe/settings/SettingsActivity.java | 7 +-
.../org/schabi/newpipe/util/Localization.java | 26 ++-
app/src/main/res/values-ur/strings.xml | 10 +-
app/src/main/res/values/settings_keys.xml | 159 ++++++++++++++++--
app/src/main/res/values/strings.xml | 1 +
app/src/main/res/xml/content_settings.xml | 10 ++
10 files changed, 209 insertions(+), 29 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index cac814085..05e224013 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -56,7 +56,6 @@ import androidx.fragment.app.FragmentManager;
import com.google.android.material.navigation.NavigationView;
import org.schabi.newpipe.extractor.NewPipe;
-import org.schabi.newpipe.extractor.ServiceList;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
import org.schabi.newpipe.extractor.services.peertube.PeertubeInstance;
@@ -67,7 +66,6 @@ import org.schabi.newpipe.fragments.list.search.SearchFragment;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.util.Constants;
import org.schabi.newpipe.util.KioskTranslator;
-import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.PeertubeHelper;
import org.schabi.newpipe.util.PermissionHelper;
@@ -78,8 +76,10 @@ import org.schabi.newpipe.util.ThemeHelper;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLanguage;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@@ -116,10 +116,9 @@ public class MainActivity extends AppCompatActivity {
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
TLSSocketFactoryCompat.setAsDefault();
}
-
ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this));
- changeAppLanguage(Localization.getPreferredLocale(getApplicationContext()), getResources());
+ changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@@ -424,6 +423,7 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onResume() {
+ changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
super.onResume();
// close drawer on return, and don't show animation, so its looks like the drawer isn't open
diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
index 2326e795e..4da1611d3 100644
--- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
@@ -25,6 +25,11 @@ import org.schabi.newpipe.R;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.ThemeHelper;
+import java.util.Locale;
+
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLanguage;
+
public class AboutActivity extends AppCompatActivity {
/**
@@ -62,6 +67,7 @@ public class AboutActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
+ changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
super.onCreate(savedInstanceState);
ThemeHelper.setTheme(this);
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
index 449a790e8..b8bfcf480 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
@@ -15,9 +15,14 @@ import org.schabi.newpipe.R;
import org.schabi.newpipe.settings.SettingsActivity;
import org.schabi.newpipe.util.ThemeHelper;
+import java.util.Locale;
+
import us.shandian.giga.service.DownloadManagerService;
import us.shandian.giga.ui.fragment.MissionsFragment;
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLanguage;
+
public class DownloadActivity extends AppCompatActivity {
private static final String MISSIONS_FRAGMENT_TAG = "fragment_tag";
@@ -29,6 +34,7 @@ public class DownloadActivity extends AppCompatActivity {
i.setClass(this, DownloadManagerService.class);
startService(i);
+ changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
ThemeHelper.setTheme(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_downloader);
diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java
index 0c7a4b46e..88c700582 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java
@@ -56,6 +56,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
private Localization initialSelectedLocalization;
private ContentCountry initialSelectedContentCountry;
+ private String initialLanguage;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
@@ -64,6 +65,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
initialSelectedLocalization = org.schabi.newpipe.util.Localization.getPreferredLocalization(requireContext());
initialSelectedContentCountry = org.schabi.newpipe.util.Localization.getPreferredContentCountry(requireContext());
+ initialLanguage = androidx.preference.PreferenceManager.getDefaultSharedPreferences(getContext()).getString("newpipes_language_key", "en");
}
@Override
@@ -125,9 +127,10 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
.getPreferredLocalization(requireContext());
final ContentCountry selectedContentCountry = org.schabi.newpipe.util.Localization
.getPreferredContentCountry(requireContext());
+ final String selectedLanguage = androidx.preference.PreferenceManager.getDefaultSharedPreferences(getContext()).getString("newpipes_language_key", "en");
if (!selectedLocalization.equals(initialSelectedLocalization)
- || !selectedContentCountry.equals(initialSelectedContentCountry)) {
+ || !selectedContentCountry.equals(initialSelectedContentCountry) || !selectedLanguage.equals(initialLanguage)) {
Toast.makeText(requireContext(), R.string.localization_changes_requires_app_restart, Toast.LENGTH_LONG).show();
NewPipe.setupLocalization(selectedLocalization, selectedContentCountry);
diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
index a3f218074..40af9f460 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
@@ -14,6 +14,11 @@ import android.view.MenuItem;
import org.schabi.newpipe.R;
import org.schabi.newpipe.util.ThemeHelper;
+import java.util.Locale;
+
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLanguage;
+
/*
* Created by Christian Schabesberger on 31.08.15.
@@ -44,7 +49,7 @@ public class SettingsActivity extends AppCompatActivity implements BasePreferenc
@Override
protected void onCreate(Bundle savedInstanceBundle) {
setTheme(ThemeHelper.getSettingsThemeStyle(this));
-
+ changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
super.onCreate(savedInstanceBundle);
setContentView(R.layout.settings_layout);
diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java
index 6b0b4cd0c..7d742b04a 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Localization.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java
@@ -7,6 +7,11 @@ import android.content.res.Resources;
import android.preference.PreferenceManager;
import android.text.TextUtils;
import android.util.DisplayMetrics;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.PluralsRes;
+import androidx.annotation.StringRes;
import org.ocpsoft.prettytime.PrettyTime;
import org.ocpsoft.prettytime.units.Decade;
@@ -21,10 +26,6 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
-import androidx.annotation.NonNull;
-import androidx.annotation.PluralsRes;
-import androidx.annotation.StringRes;
-
/*
* Created by chschtsch on 12/29/15.
*
@@ -226,4 +227,21 @@ public class Localization {
conf.setLocale(loc);
res.updateConfiguration(conf, dm);
}
+
+ public static Locale getAppLanguage(Context context) {
+ SharedPreferences prefs = androidx.preference.PreferenceManager.getDefaultSharedPreferences(context);
+ String lang = prefs.getString("newpipes_language_key", "en");
+ Locale loc;
+ if (lang.equals("system")) {
+ loc = Locale.getDefault();
+ } else if (lang.matches(".*-.*")) {
+ String[] localisation = lang.split("-");
+ lang = localisation[0];
+ String country = localisation[1];
+ loc = new Locale(lang, country);
+ } else {
+ loc = new Locale(lang);
+ }
+ return loc;
+ }
}
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 089b793c8..ce6f3f651 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -193,13 +193,13 @@
بی
کوئی صارفین نہیں
- - % s صارف
- - % s صارفین
+ - %s صارف
+ - %s صارفین
کوئی مناظر نہیں
- - % s منظر
- - % s مناظر
+ - %s منظر
+ - %s مناظر
ویڈیوز دستیاب نہیں
@@ -388,7 +388,7 @@
کوئی حد نہیں
موبائل ڈیٹا کا استعمال کرتے وقت ریذولوشن کو محدود کریں
ایپ سوئچ کو کم سے کم کریں
- اہم ویڈیو پلیئر سے دوسرے ایپ میں سوئچنگ کرتے وقت کارروائی-% s
+ اہم ویڈیو پلیئر سے دوسرے ایپ میں سوئچنگ کرتے وقت کارروائی-s%
کوئی نہیں
پس منظری پلیر میں کم کریں
پاپ اپ پلیر میں کم کریں
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 3f361226d..299803a43 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -31,20 +31,20 @@
seek_duration
10000
- - 5 seconds
- - 10 seconds
- - 15 seconds
- - 20 seconds
- - 25 seconds
- - 30 seconds
+ - 5 seconds
+ - 10 seconds
+ - 15 seconds
+ - 20 seconds
+ - 25 seconds
+ - 30 seconds
- - 5000
- - 10000
- - 15000
- - 20000
- - 25000
- - 30000
+ - 5000
+ - 10000
+ - 15000
+ - 20000
+ - 25000
+ - 30000
minimize_on_exit_key
@@ -175,6 +175,7 @@
main_page_content
enable_playback_resume
enable_playback_state_lists
+ newpipes_language_key
import_data
export_data
@@ -272,7 +273,6 @@
- cs
- da
- de
- - eo
- et
- en-GB
- en
@@ -352,7 +352,6 @@
- Čeština
- Dansk
- Deutsch
- - Esperanto
- Eesti
- English (UK)
- English (US)
@@ -925,6 +924,137 @@
- ZW
+
+
+ - system
+ - ar
+ - az
+ - ast
+ - be
+ - bg-bd
+ - bn
+ - ca
+ - cs
+ - da
+ - de
+ - el
+ - en
+ - eo
+ - es
+ - et
+ - eu
+ - fa
+ - fi
+ - fil
+ - fr
+ - gl
+ - he
+ - hi
+ - hr
+ - hu
+ - hy
+ - ia
+ - ind
+ - it
+ - ja
+ - ko
+ - ku
+ - lt
+ - mk
+ - ms
+ - nb-no
+ - ne
+ - nl
+ - nl-be
+ - pa
+ - pl
+ - pr
+ - pt
+ - pt-br
+ - ro
+ - ru
+ - sk
+ - sl
+ - sq
+ - sr
+ - sv
+ - ta
+ - te
+ - th
+ - tr
+ - uk
+ - ur
+ - vi
+ - zh
+ - zh-hans
+ - zh-tw
+
+
+ - @string/system
+ - العربية
+ - Azərbaycan dili
+ - Asturianu
+ - Беларуская
+ - български език
+ - বাংলা
+ - Català
+ - Čeština
+ - Dansk
+ - Deutsch
+ - Ελληνικά
+ - English
+ - Esperanto
+ - Español
+ - Eesti keel
+ - Euskara
+ - فارسی
+ - Suomen kieli
+ - Wikang Filipino
+ - Français
+ - Galego
+ - עברית
+ - हिन्दी
+ - Hrvatski
+ - magyar
+ - Հայերեն
+ - Interlingua
+ - Bahasa Indonesia
+ - Italiano
+ - 日本語
+ - 한국어
+ - کوردی
+ - Lietuvių kalba
+ - македонски јазик
+ - Bahasa Melayu
+ - Norsk bokmål
+ - Nनेपाली
+ - Nederlands (NL)
+ - Nederlands (BE)
+ - ਪੰਜਾਬੀ
+ - Polski
+ - Pirate Language
+ - Português (PT)
+ - Português (BR)
+ - Română
+ - русский язык
+ - Slovenčina
+ - Slovenščina
+ - Shqip
+ - Српски
+ - Svenska
+ - தமிழ்
+ - తెలుగు
+ - ไทย
+ - Türkçe
+ - українська мова
+ - اردو
+ - Tiếng Việt
+ - 官话
+ - 简化字
+ - 臺灣華語
+
+
+
limit_mobile_data_usage
limit_data_usage_none
@@ -943,6 +1073,7 @@
list_view_mode
auto
+ System
- auto
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6021df15e..12a96fe74 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -585,5 +585,6 @@
Use SAF
The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible
Choose an instance
+ NewPipe\'s language
diff --git a/app/src/main/res/xml/content_settings.xml b/app/src/main/res/xml/content_settings.xml
index 4044e92d8..ab9896cde 100644
--- a/app/src/main/res/xml/content_settings.xml
+++ b/app/src/main/res/xml/content_settings.xml
@@ -3,6 +3,16 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:title="@string/content">
+
+
+
Date: Thu, 9 Jan 2020 12:15:01 +0100
Subject: [PATCH 008/199] removed unused imports
---
app/src/main/java/org/schabi/newpipe/MainActivity.java | 1 -
app/src/main/java/org/schabi/newpipe/about/AboutActivity.java | 2 --
.../main/java/org/schabi/newpipe/download/DownloadActivity.java | 2 --
.../main/java/org/schabi/newpipe/settings/SettingsActivity.java | 2 --
4 files changed, 7 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index 05e224013..eb5f11987 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -76,7 +76,6 @@ import org.schabi.newpipe.util.ThemeHelper;
import java.util.ArrayList;
import java.util.List;
-import java.util.Locale;
import static org.schabi.newpipe.util.Localization.changeAppLanguage;
import static org.schabi.newpipe.util.Localization.getAppLanguage;
diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
index 4da1611d3..3555ecefe 100644
--- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
@@ -25,8 +25,6 @@ import org.schabi.newpipe.R;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.ThemeHelper;
-import java.util.Locale;
-
import static org.schabi.newpipe.util.Localization.changeAppLanguage;
import static org.schabi.newpipe.util.Localization.getAppLanguage;
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
index b8bfcf480..bf546bf85 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
@@ -15,8 +15,6 @@ import org.schabi.newpipe.R;
import org.schabi.newpipe.settings.SettingsActivity;
import org.schabi.newpipe.util.ThemeHelper;
-import java.util.Locale;
-
import us.shandian.giga.service.DownloadManagerService;
import us.shandian.giga.ui.fragment.MissionsFragment;
diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
index 40af9f460..781c033b8 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
@@ -14,8 +14,6 @@ import android.view.MenuItem;
import org.schabi.newpipe.R;
import org.schabi.newpipe.util.ThemeHelper;
-import java.util.Locale;
-
import static org.schabi.newpipe.util.Localization.changeAppLanguage;
import static org.schabi.newpipe.util.Localization.getAppLanguage;
From b32935a1b087bbc6d19fb7e50493273796d2ffb4 Mon Sep 17 00:00:00 2001
From: bopol
Date: Thu, 9 Jan 2020 15:51:41 +0100
Subject: [PATCH 009/199] app language now changes time formatting (3hrs ago),
was system language b4
---
app/src/main/java/org/schabi/newpipe/App.java | 2 +-
.../java/org/schabi/newpipe/MainActivity.java | 8 +++++---
.../org/schabi/newpipe/about/AboutActivity.java | 4 ++--
.../newpipe/download/DownloadActivity.java | 4 ++--
.../newpipe/settings/SettingsActivity.java | 4 ++--
.../org/schabi/newpipe/util/Localization.java | 17 ++++++++---------
6 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/App.java b/app/src/main/java/org/schabi/newpipe/App.java
index 7f050e6c7..dae143b6c 100644
--- a/app/src/main/java/org/schabi/newpipe/App.java
+++ b/app/src/main/java/org/schabi/newpipe/App.java
@@ -99,7 +99,7 @@ public class App extends Application {
NewPipe.init(getDownloader(),
Localization.getPreferredLocalization(this),
Localization.getPreferredContentCountry(this));
- Localization.init();
+ Localization.init(getApplicationContext());
StateSaver.init(this);
initNotificationChannel();
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index eb5f11987..d48db1035 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -66,6 +66,7 @@ import org.schabi.newpipe.fragments.list.search.SearchFragment;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.util.Constants;
import org.schabi.newpipe.util.KioskTranslator;
+import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.PeertubeHelper;
import org.schabi.newpipe.util.PermissionHelper;
@@ -78,7 +79,7 @@ import java.util.ArrayList;
import java.util.List;
import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@@ -117,7 +118,7 @@ public class MainActivity extends AppCompatActivity {
}
ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this));
- changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@@ -422,7 +423,8 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onResume() {
- changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ Localization.init(getApplicationContext()); //change the date format to match the selected language on resume
super.onResume();
// close drawer on return, and don't show animation, so its looks like the drawer isn't open
diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
index 3555ecefe..795feceb0 100644
--- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
@@ -26,7 +26,7 @@ import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.ThemeHelper;
import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
public class AboutActivity extends AppCompatActivity {
@@ -65,7 +65,7 @@ public class AboutActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
- changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
super.onCreate(savedInstanceState);
ThemeHelper.setTheme(this);
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
index bf546bf85..fd0d28a0e 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
@@ -19,7 +19,7 @@ import us.shandian.giga.service.DownloadManagerService;
import us.shandian.giga.ui.fragment.MissionsFragment;
import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
public class DownloadActivity extends AppCompatActivity {
@@ -32,7 +32,7 @@ public class DownloadActivity extends AppCompatActivity {
i.setClass(this, DownloadManagerService.class);
startService(i);
- changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
ThemeHelper.setTheme(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_downloader);
diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
index 781c033b8..6804f9831 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
@@ -15,7 +15,7 @@ import org.schabi.newpipe.R;
import org.schabi.newpipe.util.ThemeHelper;
import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
/*
@@ -47,7 +47,7 @@ public class SettingsActivity extends AppCompatActivity implements BasePreferenc
@Override
protected void onCreate(Bundle savedInstanceBundle) {
setTheme(ThemeHelper.getSettingsThemeStyle(this));
- changeAppLanguage(getAppLanguage(getApplicationContext()), getResources());
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
super.onCreate(savedInstanceBundle);
setContentView(R.layout.settings_layout);
diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java
index 7d742b04a..695a73295 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Localization.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java
@@ -7,7 +7,6 @@ import android.content.res.Resources;
import android.preference.PreferenceManager;
import android.text.TextUtils;
import android.util.DisplayMetrics;
-import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.PluralsRes;
@@ -54,8 +53,8 @@ public class Localization {
private Localization() {
}
- public static void init() {
- initPrettyTime();
+ public static void init(Context context) {
+ initPrettyTime(context);
}
@NonNull
@@ -203,17 +202,17 @@ public class Localization {
// Pretty Time
//////////////////////////////////////////////////////////////////////////*/
- private static void initPrettyTime() {
- prettyTime = new PrettyTime(Locale.getDefault());
+ private static void initPrettyTime(Context context) {
+ prettyTime = new PrettyTime(getAppLocale(context));
// Do not use decades as YouTube doesn't either.
prettyTime.removeUnit(Decade.class);
}
private static PrettyTime getPrettyTime() {
// If pretty time's Locale is different, init again with the new one.
- if (!prettyTime.getLocale().equals(Locale.getDefault())) {
- initPrettyTime();
- }
+// if (!prettyTime.getLocale().equals(Locale.getDefault())) {
+// initPrettyTime();
+// }
return prettyTime;
}
@@ -228,7 +227,7 @@ public class Localization {
res.updateConfiguration(conf, dm);
}
- public static Locale getAppLanguage(Context context) {
+ public static Locale getAppLocale(Context context) {
SharedPreferences prefs = androidx.preference.PreferenceManager.getDefaultSharedPreferences(context);
String lang = prefs.getString("newpipes_language_key", "en");
Locale loc;
From 8f46432391578b6602cea69ef344817857f75a7e Mon Sep 17 00:00:00 2001
From: bopol
Date: Fri, 10 Jan 2020 15:50:15 +0100
Subject: [PATCH 010/199] fixed some activities where the wrong languages would
be set
---
app/src/main/java/org/schabi/newpipe/MainActivity.java | 1 -
.../java/org/schabi/newpipe/about/AboutActivity.java | 1 +
.../java/org/schabi/newpipe/player/BackgroundPlayer.java | 4 +++-
.../java/org/schabi/newpipe/player/MainVideoPlayer.java | 9 +++++++--
.../java/org/schabi/newpipe/player/PopupVideoPlayer.java | 3 +++
.../org/schabi/newpipe/player/ServicePlayerActivity.java | 3 +++
.../java/org/schabi/newpipe/report/ErrorActivity.java | 4 ++++
.../main/java/org/schabi/newpipe/util/Localization.java | 4 ----
8 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index d48db1035..c5aedb85b 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -119,7 +119,6 @@ public class MainActivity extends AppCompatActivity {
ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this));
changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
-
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
index 795feceb0..c8c62bbe7 100644
--- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
@@ -68,6 +68,7 @@ public class AboutActivity extends AppCompatActivity {
changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
super.onCreate(savedInstanceState);
ThemeHelper.setTheme(this);
+ this.setTitle(getString(R.string.title_activity_about));
setContentView(R.layout.activity_about);
diff --git a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
index 76da7da36..c74882161 100644
--- a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
@@ -58,6 +58,8 @@ import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.ThemeHelper;
import static org.schabi.newpipe.player.helper.PlayerHelper.getTimeString;
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
/**
@@ -115,7 +117,7 @@ public final class BackgroundPlayer extends Service {
notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE));
lockManager = new LockManager(this);
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
ThemeHelper.setTheme(this);
basePlayerImpl = new BasePlayerImpl(this);
basePlayerImpl.setup();
diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
index 7a3e60c66..284d10b42 100644
--- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
@@ -93,6 +93,8 @@ import static org.schabi.newpipe.util.AnimationUtils.Type.SCALE_AND_ALPHA;
import static org.schabi.newpipe.util.AnimationUtils.Type.SLIDE_AND_ALPHA;
import static org.schabi.newpipe.util.AnimationUtils.animateRotation;
import static org.schabi.newpipe.util.AnimationUtils.animateView;
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
import static org.schabi.newpipe.util.StateSaver.KEY_SAVED_STATE;
/**
@@ -123,6 +125,7 @@ public final class MainVideoPlayer extends AppCompatActivity
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
super.onCreate(savedInstanceState);
if (DEBUG) Log.d(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]");
defaultPreferences = PreferenceManager.getDefaultSharedPreferences(this);
@@ -190,6 +193,7 @@ public final class MainVideoPlayer extends AppCompatActivity
@Override
protected void onResume() {
if (DEBUG) Log.d(TAG, "onResume() called");
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
super.onResume();
if (globalScreenOrientationLocked()) {
@@ -220,6 +224,7 @@ public final class MainVideoPlayer extends AppCompatActivity
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
if (playerImpl.isSomePopupMenuVisible()) {
playerImpl.getQualityPopupMenu().dismiss();
@@ -364,8 +369,8 @@ public final class MainVideoPlayer extends AppCompatActivity
}
private boolean globalScreenOrientationLocked() {
- // 1: Screen orientation changes using acelerometer
- // 0: Screen orientatino is locked
+ // 1: Screen orientation changes using accelerometer
+ // 0: Screen orientation is locked
return !(android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1);
}
diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
index 969c47990..b173448d0 100644
--- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
@@ -80,6 +80,8 @@ import static org.schabi.newpipe.player.BasePlayer.STATE_PLAYING;
import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_DURATION;
import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_HIDE_TIME;
import static org.schabi.newpipe.util.AnimationUtils.animateView;
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
/**
* Service Popup Player implementing VideoPlayer
@@ -142,6 +144,7 @@ public final class PopupVideoPlayer extends Service {
@Override
public void onCreate() {
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE));
diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
index 2207808ac..d5ee59a7e 100644
--- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
@@ -46,6 +46,8 @@ import java.util.List;
import static org.schabi.newpipe.player.helper.PlayerHelper.formatPitch;
import static org.schabi.newpipe.player.helper.PlayerHelper.formatSpeed;
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
public abstract class ServicePlayerActivity extends AppCompatActivity
implements PlayerEventListener, SeekBar.OnSeekBarChangeListener,
@@ -116,6 +118,7 @@ public abstract class ServicePlayerActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
super.onCreate(savedInstanceState);
ThemeHelper.setTheme(this);
setContentView(R.layout.activity_player_queue_control);
diff --git a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
index e7a6319e3..05dfe33ca 100644
--- a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
@@ -46,6 +46,9 @@ import java.util.List;
import java.util.TimeZone;
import java.util.Vector;
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
+
/*
* Created by Christian Schabesberger on 24.10.15.
*
@@ -171,6 +174,7 @@ public class ErrorActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
super.onCreate(savedInstanceState);
ThemeHelper.setTheme(this);
setContentView(R.layout.activity_error);
diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java
index 695a73295..3f555fcfd 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Localization.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java
@@ -209,10 +209,6 @@ public class Localization {
}
private static PrettyTime getPrettyTime() {
- // If pretty time's Locale is different, init again with the new one.
-// if (!prettyTime.getLocale().equals(Locale.getDefault())) {
-// initPrettyTime();
-// }
return prettyTime;
}
From 11d06dc86d8e1f0e2614251a1359e36dd537a81c Mon Sep 17 00:00:00 2001
From: bopol
Date: Fri, 10 Jan 2020 16:03:24 +0100
Subject: [PATCH 011/199] remove todo as it's already done
---
app/src/main/res/values/settings_keys.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 4bb66bf62..18f42fe46 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -1054,7 +1054,6 @@
- 官话
- 简化字
- 臺灣華語
-
From 9d773d6e8aa892e929439ba62d2a0985f4e8deb4 Mon Sep 17 00:00:00 2001
From: Karol Kaminski
Date: Mon, 13 Jan 2020 20:28:32 +0100
Subject: [PATCH 012/199] removed dot menu where its no longer needed
---
app/src/main/java/org/schabi/newpipe/MainActivity.java | 10 ----------
.../java/org/schabi/newpipe/about/AboutActivity.java | 5 -----
.../org/schabi/newpipe/download/DownloadActivity.java | 6 +-----
.../schabi/newpipe/player/ServicePlayerActivity.java | 4 ----
app/src/main/res/menu/download_menu.xml | 4 ----
app/src/main/res/menu/menu_about.xml | 10 ----------
app/src/main/res/menu/menu_play_queue.xml | 5 -----
7 files changed, 1 insertion(+), 43 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index 90d299c7f..2dfbb9c69 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -551,8 +551,6 @@ public class MainActivity extends AppCompatActivity {
if (!(fragment instanceof SearchFragment)) {
findViewById(R.id.toolbar).findViewById(R.id.toolbar_search_container).setVisibility(View.GONE);
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.main_menu, menu);
}
ActionBar actionBar = getSupportActionBar();
@@ -574,14 +572,6 @@ public class MainActivity extends AppCompatActivity {
case android.R.id.home:
onHomeButtonPressed();
return true;
- case R.id.action_show_downloads:
- return NavigationHelper.openDownloads(this);
- case R.id.action_history:
- NavigationHelper.openStatisticFragment(getSupportFragmentManager());
- return true;
- case R.id.action_settings:
- NavigationHelper.openSettings(this);
- return true;
default:
return super.onOptionsItemSelected(item);
}
diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
index 2326e795e..e028c0322 100644
--- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
@@ -99,11 +99,6 @@ public class AboutActivity extends AppCompatActivity {
case android.R.id.home:
finish();
return true;
- case R.id.action_settings:
- NavigationHelper.openSettings(this);
- return true;
- case R.id.action_show_downloads:
- return NavigationHelper.openDownloads(this);
}
return super.onOptionsItemSelected(item);
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
index 449a790e8..26e5d94be 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
@@ -78,11 +78,7 @@ public class DownloadActivity extends AppCompatActivity {
onBackPressed();
return true;
}
- case R.id.action_settings: {
- Intent intent = new Intent(this, SettingsActivity.class);
- startActivity(intent);
- return true;
- }
+
default:
return super.onOptionsItemSelected(item);
}
diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
index 2207808ac..7b9120783 100644
--- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
@@ -157,10 +157,6 @@ public abstract class ServicePlayerActivity extends AppCompatActivity
case R.id.action_append_playlist:
appendAllToPlaylist();
return true;
- case R.id.action_settings:
- NavigationHelper.openSettings(this);
- redraw = true;
- return true;
case R.id.action_system_audio:
startActivity(new Intent(Settings.ACTION_SOUND_SETTINGS));
return true;
diff --git a/app/src/main/res/menu/download_menu.xml b/app/src/main/res/menu/download_menu.xml
index f91f8ad7b..0ffb3a580 100644
--- a/app/src/main/res/menu/download_menu.xml
+++ b/app/src/main/res/menu/download_menu.xml
@@ -27,8 +27,4 @@
android:title="@string/clear_finished_download"
app:showAsAction="ifRoom" />
-
-
diff --git a/app/src/main/res/menu/menu_about.xml b/app/src/main/res/menu/menu_about.xml
index 673cef94b..dbe91a04f 100644
--- a/app/src/main/res/menu/menu_about.xml
+++ b/app/src/main/res/menu/menu_about.xml
@@ -3,14 +3,4 @@
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.schabi.newpipe.about.AboutActivity">
-
-
-
-
diff --git a/app/src/main/res/menu/menu_play_queue.xml b/app/src/main/res/menu/menu_play_queue.xml
index 6261b8c18..5413794be 100644
--- a/app/src/main/res/menu/menu_play_queue.xml
+++ b/app/src/main/res/menu/menu_play_queue.xml
@@ -10,11 +10,6 @@
android:visible="true"
app:showAsAction="ifRoom"/>
-
-
-
Date: Tue, 14 Jan 2020 00:00:45 -0300
Subject: [PATCH 013/199] ttml to srt conversion rewrite SubtitleConverter (use
JSoup library instead, remove unused methods)
---
.../newpipe/download/DownloadDialog.java | 1 -
.../newpipe/streams/SrtFromTtmlWriter.java | 95 +++++
.../newpipe/streams/SubtitleConverter.java | 369 ------------------
.../giga/postprocessing/TtmlConverter.java | 32 +-
4 files changed, 100 insertions(+), 397 deletions(-)
create mode 100644 app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
delete mode 100644 app/src/main/java/org/schabi/newpipe/streams/SubtitleConverter.java
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
index 853bb6d68..44966744b 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
@@ -832,7 +832,6 @@ public class DownloadDialog extends DialogFragment implements RadioGroup.OnCheck
psArgs = new String[]{
selectedStream.getFormat().getSuffix(),
"false",// ignore empty frames
- "false",// detect youtube duplicate lines
};
}
break;
diff --git a/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
new file mode 100644
index 000000000..75e16edad
--- /dev/null
+++ b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
@@ -0,0 +1,95 @@
+package org.schabi.newpipe.streams;
+
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.nodes.Node;
+import org.jsoup.nodes.TextNode;
+import org.jsoup.parser.Parser;
+import org.jsoup.select.Elements;
+import org.schabi.newpipe.streams.io.SharpStream;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.text.ParseException;
+
+/**
+ * @author kapodamy
+ */
+public class SrtFromTtmlWriter {
+ private static final String NEW_LINE = "\r\n";
+
+ private SharpStream out;
+ private boolean ignoreEmptyFrames;
+ private final Charset charset = Charset.forName("utf-8");
+
+ private int frameIndex = 0;
+
+ public SrtFromTtmlWriter(SharpStream out, boolean ignoreEmptyFrames) {
+ this.out = out;
+ this.ignoreEmptyFrames = true;
+ }
+
+ private static String getTimestamp(Element frame, String attr) {
+ return frame
+ .attr(attr)
+ .replace('.', ',');// Str uses comma as decimal separator
+ }
+
+ private void writeFrame(String begin, String end, StringBuilder text) throws IOException {
+ writeString(String.valueOf(frameIndex++));
+ writeString(NEW_LINE);
+ writeString(begin);
+ writeString(" --> ");
+ writeString(end);
+ writeString(NEW_LINE);
+ writeString(text.toString());
+ writeString(NEW_LINE);
+ writeString(NEW_LINE);
+ }
+
+ private void writeString(String text) throws IOException {
+ out.write(text.getBytes(charset));
+ }
+
+ public void build(SharpStream ttml) throws IOException {
+ /*
+ * TTML parser with BASIC support
+ * multiple CUE is not supported
+ * styling is not supported
+ * tag timestamps (in auto-generated subtitles) are not supported, maybe in the future
+ * also TimestampTagOption enum is not applicable
+ * Language parsing is not supported
+ */
+
+ // parse XML
+ byte[] buffer = new byte[(int) ttml.available()];
+ ttml.read(buffer);
+ Document doc = Jsoup.parse(new ByteArrayInputStream(buffer), "UTF-8", "", Parser.xmlParser());
+
+ StringBuilder text = new StringBuilder(128);
+ Elements paragraph_list = doc.select("body>div>p");
+
+ // check if has frames
+ if (paragraph_list.size() < 1) return;
+
+ for (Element paragraph : paragraph_list) {
+ text.setLength(0);
+
+ for (Node children : paragraph.childNodes()) {
+ if (children instanceof TextNode)
+ text.append(((TextNode) children).text());
+ else if (children instanceof Element && ((Element) children).tagName().equalsIgnoreCase("br"))
+ text.append(NEW_LINE);
+ }
+
+ if (ignoreEmptyFrames && text.length() < 1) continue;
+
+ String begin = getTimestamp(paragraph, "begin");
+ String end = getTimestamp(paragraph, "end");
+
+ writeFrame(begin, end, text);
+ }
+ }
+}
diff --git a/app/src/main/java/org/schabi/newpipe/streams/SubtitleConverter.java b/app/src/main/java/org/schabi/newpipe/streams/SubtitleConverter.java
deleted file mode 100644
index c41db4373..000000000
--- a/app/src/main/java/org/schabi/newpipe/streams/SubtitleConverter.java
+++ /dev/null
@@ -1,369 +0,0 @@
-package org.schabi.newpipe.streams;
-
-import org.schabi.newpipe.streams.io.SharpStream;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.text.ParseException;
-import java.util.Locale;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.xpath.XPathExpressionException;
-
-/**
- * @author kapodamy
- */
-public class SubtitleConverter {
- private static final String NEW_LINE = "\r\n";
-
- public void dumpTTML(SharpStream in, final SharpStream out, final boolean ignoreEmptyFrames, final boolean detectYoutubeDuplicateLines
- ) throws IOException, ParseException, SAXException, ParserConfigurationException, XPathExpressionException {
-
- final FrameWriter callback = new FrameWriter() {
- int frameIndex = 0;
- final Charset charset = Charset.forName("utf-8");
-
- @Override
- public void yield(SubtitleFrame frame) throws IOException {
- if (ignoreEmptyFrames && frame.isEmptyText()) {
- return;
- }
- out.write(String.valueOf(frameIndex++).getBytes(charset));
- out.write(NEW_LINE.getBytes(charset));
- out.write(getTime(frame.start, true).getBytes(charset));
- out.write(" --> ".getBytes(charset));
- out.write(getTime(frame.end, true).getBytes(charset));
- out.write(NEW_LINE.getBytes(charset));
- out.write(frame.text.getBytes(charset));
- out.write(NEW_LINE.getBytes(charset));
- out.write(NEW_LINE.getBytes(charset));
- }
- };
-
- read_xml_based(in, callback, detectYoutubeDuplicateLines,
- "tt", "xmlns", "http://www.w3.org/ns/ttml",
- new String[]{"timedtext", "head", "wp"},
- new String[]{"body", "div", "p"},
- "begin", "end", true
- );
- }
-
- private void read_xml_based(SharpStream source, FrameWriter callback, boolean detectYoutubeDuplicateLines,
- String root, String formatAttr, String formatVersion, String[] cuePath, String[] framePath,
- String timeAttr, String durationAttr, boolean hasTimestamp
- ) throws IOException, ParseException, SAXException, ParserConfigurationException, XPathExpressionException {
- /*
- * XML based subtitles parser with BASIC support
- * multiple CUE is not supported
- * styling is not supported
- * tag timestamps (in auto-generated subtitles) are not supported, maybe in the future
- * also TimestampTagOption enum is not applicable
- * Language parsing is not supported
- */
-
- byte[] buffer = new byte[(int) source.available()];
- source.read(buffer);
-
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- Document xml = builder.parse(new ByteArrayInputStream(buffer));
-
- String attr;
-
- // get the format version or namespace
- Element node = xml.getDocumentElement();
-
- if (node == null) {
- throw new ParseException("Can't get the format version. ¿wrong namespace?", -1);
- } else if (!node.getNodeName().equals(root)) {
- throw new ParseException("Invalid root", -1);
- }
-
- if (formatAttr.equals("xmlns")) {
- if (!node.getNamespaceURI().equals(formatVersion)) {
- throw new UnsupportedOperationException("Expected xml namespace: " + formatVersion);
- }
- } else {
- attr = node.getAttributeNS(formatVersion, formatAttr);
- if (attr == null) {
- throw new ParseException("Can't get the format attribute", -1);
- }
- if (!attr.equals(formatVersion)) {
- throw new ParseException("Invalid format version : " + attr, -1);
- }
- }
-
- NodeList node_list;
-
- int line_break = 0;// Maximum characters per line if present (valid for TranScript v3)
-
- if (!hasTimestamp) {
- node_list = selectNodes(xml, cuePath, formatVersion);
-
- if (node_list != null) {
- // if the subtitle has multiple CUEs, use the highest value
- for (int i = 0; i < node_list.getLength(); i++) {
- try {
- int tmp = Integer.parseInt(((Element) node_list.item(i)).getAttributeNS(formatVersion, "ah"));
- if (tmp > line_break) {
- line_break = tmp;
- }
- } catch (Exception err) {
- }
- }
- }
- }
-
- // parse every frame
- node_list = selectNodes(xml, framePath, formatVersion);
-
- if (node_list == null) {
- return;// no frames detected
- }
-
- int fs_ff = -1;// first timestamp of first frame
- boolean limit_lines = false;
-
- for (int i = 0; i < node_list.getLength(); i++) {
- Element elem = (Element) node_list.item(i);
- SubtitleFrame obj = new SubtitleFrame();
- obj.text = elem.getTextContent();
-
- attr = elem.getAttribute(timeAttr);// ¡this cant be null!
- obj.start = hasTimestamp ? parseTimestamp(attr) : Integer.parseInt(attr);
-
- attr = elem.getAttribute(durationAttr);
- if (obj.text == null || attr == null) {
- continue;// normally is a blank line (on auto-generated subtitles) ignore
- }
-
- if (hasTimestamp) {
- obj.end = parseTimestamp(attr);
-
- if (detectYoutubeDuplicateLines) {
- if (limit_lines) {
- int swap = obj.end;
- obj.end = fs_ff;
- fs_ff = swap;
- } else {
- if (fs_ff < 0) {
- fs_ff = obj.end;
- } else {
- if (fs_ff < obj.start) {
- limit_lines = true;// the subtitles has duplicated lines
- } else {
- detectYoutubeDuplicateLines = false;
- }
- }
- }
- }
- } else {
- obj.end = obj.start + Integer.parseInt(attr);
- }
-
- if (/*node.getAttribute("w").equals("1") &&*/line_break > 1 && obj.text.length() > line_break) {
-
- // implement auto line breaking (once)
- StringBuilder text = new StringBuilder(obj.text);
- obj.text = null;
-
- switch (text.charAt(line_break)) {
- case ' ':
- case '\t':
- putBreakAt(line_break, text);
- break;
- default:// find the word start position
- for (int j = line_break - 1; j > 0; j--) {
- switch (text.charAt(j)) {
- case ' ':
- case '\t':
- putBreakAt(j, text);
- j = -1;
- break;
- case '\r':
- case '\n':
- j = -1;// long word, just ignore
- break;
- }
- }
- break;
- }
-
- obj.text = text.toString();// set the processed text
- }
-
- callback.yield(obj);
- }
- }
-
- private static NodeList selectNodes(Document xml, String[] path, String namespaceUri) {
- Element ref = xml.getDocumentElement();
-
- for (int i = 0; i < path.length - 1; i++) {
- NodeList nodes = ref.getChildNodes();
- if (nodes.getLength() < 1) {
- return null;
- }
-
- Element elem;
- for (int j = 0; j < nodes.getLength(); j++) {
- if (nodes.item(j).getNodeType() == Node.ELEMENT_NODE) {
- elem = (Element) nodes.item(j);
- if (elem.getNodeName().equals(path[i]) && elem.getNamespaceURI().equals(namespaceUri)) {
- ref = elem;
- break;
- }
- }
- }
- }
-
- return ref.getElementsByTagNameNS(namespaceUri, path[path.length - 1]);
- }
-
- private static int parseTimestamp(String multiImpl) throws NumberFormatException, ParseException {
- if (multiImpl.length() < 1) {
- return 0;
- } else if (multiImpl.length() == 1) {
- return Integer.parseInt(multiImpl) * 1000;// ¡this must be a number in seconds!
- }
-
- // detect wallclock-time
- if (multiImpl.startsWith("wallclock(")) {
- throw new UnsupportedOperationException("Parsing wallclock timestamp is not implemented");
- }
-
- // detect offset-time
- if (multiImpl.indexOf(':') < 0) {
- int multiplier = 1000;
- char metric = multiImpl.charAt(multiImpl.length() - 1);
- switch (metric) {
- case 'h':
- multiplier *= 3600000;
- break;
- case 'm':
- multiplier *= 60000;
- break;
- case 's':
- if (multiImpl.charAt(multiImpl.length() - 2) == 'm') {
- multiplier = 1;// ms
- }
- break;
- default:
- if (!Character.isDigit(metric)) {
- throw new NumberFormatException("Invalid metric suffix found on : " + multiImpl);
- }
- metric = '\0';
- break;
- }
- try {
- String offset_time = multiImpl;
-
- if (multiplier == 1) {
- offset_time = offset_time.substring(0, offset_time.length() - 2);
- } else if (metric != '\0') {
- offset_time = offset_time.substring(0, offset_time.length() - 1);
- }
-
- double time_metric_based = Double.parseDouble(offset_time);
- if (Math.abs(time_metric_based) <= Double.MAX_VALUE) {
- return (int) (time_metric_based * multiplier);
- }
- } catch (Exception err) {
- throw new UnsupportedOperationException("Invalid or not implemented timestamp on: " + multiImpl);
- }
- }
-
- // detect clock-time
- int time = 0;
- String[] units = multiImpl.split(":");
-
- if (units.length < 3) {
- throw new ParseException("Invalid clock-time timestamp", -1);
- }
-
- time += Integer.parseInt(units[0]) * 3600000;// hours
- time += Integer.parseInt(units[1]) * 60000;//minutes
- time += Float.parseFloat(units[2]) * 1000f;// seconds and milliseconds (if present)
-
- // frames and sub-frames are ignored (not implemented)
- // time += units[3] * fps;
- return time;
- }
-
- private static void putBreakAt(int idx, StringBuilder str) {
- // this should be optimized at compile time
-
- if (NEW_LINE.length() > 1) {
- str.delete(idx, idx + 1);// remove after replace
- str.insert(idx, NEW_LINE);
- } else {
- str.setCharAt(idx, NEW_LINE.charAt(0));
- }
- }
-
- private static String getTime(int time, boolean comma) {
- // cast every value to integer to avoid auto-round in ToString("00").
- StringBuilder str = new StringBuilder(12);
- str.append(numberToString(time / 1000 / 3600, 2));// hours
- str.append(':');
- str.append(numberToString(time / 1000 / 60 % 60, 2));// minutes
- str.append(':');
- str.append(numberToString(time / 1000 % 60, 2));// seconds
- str.append(comma ? ',' : '.');
- str.append(numberToString(time % 1000, 3));// miliseconds
-
- return str.toString();
- }
-
- private static String numberToString(int nro, int pad) {
- return String.format(Locale.ENGLISH, "%0".concat(String.valueOf(pad)).concat("d"), nro);
- }
-
-
- /******************
- * helper classes *
- ******************/
-
- private interface FrameWriter {
-
- void yield(SubtitleFrame frame) throws IOException;
- }
-
- private static class SubtitleFrame {
- //Java no support unsigned int
-
- public int end;
- public int start;
- public String text = "";
-
- private boolean isEmptyText() {
- if (text == null) {
- return true;
- }
-
- for (int i = 0; i < text.length(); i++) {
- switch (text.charAt(i)) {
- case ' ':
- case '\t':
- case '\r':
- case '\n':
- break;
- default:
- return false;
- }
- }
-
- return true;
- }
- }
-
-}
diff --git a/app/src/main/java/us/shandian/giga/postprocessing/TtmlConverter.java b/app/src/main/java/us/shandian/giga/postprocessing/TtmlConverter.java
index 5a5b687f7..8ed0dfae5 100644
--- a/app/src/main/java/us/shandian/giga/postprocessing/TtmlConverter.java
+++ b/app/src/main/java/us/shandian/giga/postprocessing/TtmlConverter.java
@@ -2,15 +2,10 @@ package us.shandian.giga.postprocessing;
import android.util.Log;
-import org.schabi.newpipe.streams.SubtitleConverter;
+import org.schabi.newpipe.streams.SrtFromTtmlWriter;
import org.schabi.newpipe.streams.io.SharpStream;
-import org.xml.sax.SAXException;
import java.io.IOException;
-import java.text.ParseException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.xpath.XPathExpressionException;
/**
* @author kapodamy
@@ -27,33 +22,16 @@ class TtmlConverter extends Postprocessing {
int process(SharpStream out, SharpStream... sources) throws IOException {
// check if the subtitle is already in srt and copy, this should never happen
String format = getArgumentAt(0, null);
+ boolean ignoreEmptyFrames = getArgumentAt(1, "true").equals("true");
if (format == null || format.equals("ttml")) {
- SubtitleConverter ttmlDumper = new SubtitleConverter();
+ SrtFromTtmlWriter writer = new SrtFromTtmlWriter(out, ignoreEmptyFrames);
try {
- ttmlDumper.dumpTTML(
- sources[0],
- out,
- getArgumentAt(1, "true").equals("true"),
- getArgumentAt(2, "true").equals("true")
- );
+ writer.build(sources[0]);
} catch (Exception err) {
Log.e(TAG, "subtitle parse failed", err);
-
- if (err instanceof IOException) {
- return 1;
- } else if (err instanceof ParseException) {
- return 2;
- } else if (err instanceof SAXException) {
- return 3;
- } else if (err instanceof ParserConfigurationException) {
- return 4;
- } else if (err instanceof XPathExpressionException) {
- return 7;
- }
-
- return 8;
+ return err instanceof IOException ? 1 : 8;
}
return OK_RESULT;
From 49cc643dccefc66585b883d6ce8b1db858f88ef0 Mon Sep 17 00:00:00 2001
From: kapodamy
Date: Mon, 13 Jan 2020 21:25:26 -0300
Subject: [PATCH 014/199] decrease the size of samples per chunk
---
.../newpipe/streams/Mp4FromDashWriter.java | 179 +++++++++++++-----
1 file changed, 129 insertions(+), 50 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
index 818f6148e..f94ebefb0 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
@@ -11,6 +11,7 @@ import org.schabi.newpipe.streams.io.SharpStream;
import java.io.IOException;
import java.nio.ByteBuffer;
+import java.util.ArrayList;
/**
* @author kapodamy
@@ -23,7 +24,6 @@ public class Mp4FromDashWriter {
private final static byte SAMPLES_PER_CHUNK = 6;// ffmpeg uses 2, basic uses 1 (with 60fps uses 21 or 22). NewPipe will use 6
private final static long THRESHOLD_FOR_CO64 = 0xFFFEFFFFL;// near 3.999 GiB
private final static int THRESHOLD_MOOV_LENGTH = (256 * 1024) + (2048 * 1024); // 2.2 MiB enough for: 1080p 60fps 00h35m00s
- private final static short SINGLE_CHUNK_SAMPLE_BUFFER = 256;
private final long time;
@@ -46,6 +46,8 @@ public class Mp4FromDashWriter {
private int overrideMainBrand = 0x00;
+ private ArrayList compatibleBrands = new ArrayList<>(5);
+
public Mp4FromDashWriter(SharpStream... sources) throws IOException {
for (SharpStream src : sources) {
if (!src.canRewind() && !src.canRead()) {
@@ -57,6 +59,10 @@ public class Mp4FromDashWriter {
readers = new Mp4DashReader[sourceTracks.length];
readersChunks = new Mp4DashChunk[readers.length];
time = (System.currentTimeMillis() / 1000L) + EPOCH_OFFSET;
+
+ compatibleBrands.add(0x6D703431);// mp41
+ compatibleBrands.add(0x69736F6D);// isom
+ compatibleBrands.add(0x69736F32);// iso2
}
public Mp4Track[] getTracksFromSource(int sourceIndex) throws IllegalStateException {
@@ -104,8 +110,8 @@ public class Mp4FromDashWriter {
}
}
- public void setMainBrand(int brandId) {
- overrideMainBrand = brandId;
+ public void setMainBrand(int brand) {
+ overrideMainBrand = brand;
}
public boolean isDone() {
@@ -159,7 +165,13 @@ public class Mp4FromDashWriter {
tablesInfo[i] = new TablesInfo();
}
- boolean singleChunk = tracks.length == 1 && tracks[0].kind == TrackKind.Audio;
+ int single_sample_buffer;
+ if (tracks.length == 1 && tracks[0].kind == TrackKind.Audio) {
+ // near 1 second of audio data per chunk, avoid split the audio stream in large chunks
+ single_sample_buffer = tracks[0].trak.mdia.mdhd_timeScale / 1000;
+ } else {
+ single_sample_buffer = -1;
+ }
for (int i = 0; i < readers.length; i++) {
@@ -210,31 +222,10 @@ public class Mp4FromDashWriter {
readers[i].rewind();
- int tmp = tablesInfo[i].stsz - SAMPLES_PER_CHUNK_INIT;
- tablesInfo[i].stco = (tmp / SAMPLES_PER_CHUNK) + 1;// +1 for samples in first chunk
-
- tmp = tmp % SAMPLES_PER_CHUNK;
- if (singleChunk) {
- // avoid split audio streams in chunks
- tablesInfo[i].stsc = 1;
- tablesInfo[i].stsc_bEntries = new int[]{
- 1, tablesInfo[i].stsz, 1
- };
- tablesInfo[i].stco = 1;
- } else if (tmp == 0) {
- tablesInfo[i].stsc = 2;// first chunk (init) and succesive chunks
- tablesInfo[i].stsc_bEntries = new int[]{
- 1, SAMPLES_PER_CHUNK_INIT, 1,
- 2, SAMPLES_PER_CHUNK, 1
- };
+ if (single_sample_buffer > 0) {
+ initChunkTables(tablesInfo[i], single_sample_buffer, single_sample_buffer);
} else {
- tablesInfo[i].stsc = 3;// first chunk (init) and successive chunks and remain chunk
- tablesInfo[i].stsc_bEntries = new int[]{
- 1, SAMPLES_PER_CHUNK_INIT, 1,
- 2, SAMPLES_PER_CHUNK, 1,
- tablesInfo[i].stco + 1, tmp, 1
- };
- tablesInfo[i].stco++;
+ initChunkTables(tablesInfo[i], SAMPLES_PER_CHUNK_INIT, SAMPLES_PER_CHUNK);
}
sampleCount[i] = tablesInfo[i].stsz;
@@ -274,6 +265,7 @@ public class Mp4FromDashWriter {
// reserve moov space in the output stream
/*if (outStream.canSetLength()) {
long length = writeOffset + auxSize;
+ // warning: setLength() does not fill the unused space with zeros
outStream.setLength(length);
outSeek(length);
} else {*/
@@ -292,10 +284,10 @@ public class Mp4FromDashWriter {
}
// tablesInfo contains row counts
- // and after returning from make_moov() will contain table offsets
+ // and after returning from make_moov() will contain those table offsets
make_moov(defaultMediaTime, tablesInfo, is64);
- // write tables: stts stsc
+ // write tables: stts stsc sbgp
// reset for ctts table: sampleCount sampleExtra
for (int i = 0; i < readers.length; i++) {
writeEntryArray(tablesInfo[i].stts, 2, sampleCount[i], defaultSampleDuration[i]);
@@ -305,6 +297,7 @@ public class Mp4FromDashWriter {
sampleCount[i] = 1;// the index is not base zero
sampleExtra[i] = -1;
}
+ writeEntryArray(tablesInfo[i].sbgp, 1, sampleCount[i]);
}
if (auxBuffer == null) {
@@ -314,8 +307,8 @@ public class Mp4FromDashWriter {
outWrite(make_mdat(totalSampleSize, is64));
int[] sampleIndex = new int[readers.length];
- int[] sizes = new int[singleChunk ? SINGLE_CHUNK_SAMPLE_BUFFER : SAMPLES_PER_CHUNK];
- int[] sync = new int[singleChunk ? SINGLE_CHUNK_SAMPLE_BUFFER : SAMPLES_PER_CHUNK];
+ int[] sizes = new int[single_sample_buffer > 0 ? single_sample_buffer : SAMPLES_PER_CHUNK];
+ int[] sync = new int[single_sample_buffer > 0 ? single_sample_buffer : SAMPLES_PER_CHUNK];
int written = readers.length;
while (written > 0) {
@@ -329,8 +322,8 @@ public class Mp4FromDashWriter {
long chunkOffset = writeOffset;
int syncCount = 0;
int limit;
- if (singleChunk) {
- limit = SINGLE_CHUNK_SAMPLE_BUFFER;
+ if (single_sample_buffer > 0) {
+ limit = single_sample_buffer;
} else {
limit = sampleIndex[i] == 0 ? SAMPLES_PER_CHUNK_INIT : SAMPLES_PER_CHUNK;
}
@@ -390,10 +383,6 @@ public class Mp4FromDashWriter {
} else {
tablesInfo[i].stco = writeEntryArray(tablesInfo[i].stco, 1, (int) chunkOffset);
}
-
- if (singleChunk) {
- tablesInfo[i].stco = -1;
- }
}
outRestore();
@@ -470,7 +459,42 @@ public class Mp4FromDashWriter {
}
}
+ private void initChunkTables(TablesInfo tables, int firstCount, int succesiveCount) {
+ // tables.stsz holds amount of samples of the track (total)
+ int totalSamples = (tables.stsz - firstCount);
+ float chunkAmount = totalSamples / (float) succesiveCount;
+ int remainChunkOffset = (int) Math.ceil(chunkAmount);
+ boolean remain = remainChunkOffset != (int) chunkAmount;
+ int index = 0;
+ tables.stsc = 1;
+ if (firstCount != succesiveCount) {
+ tables.stsc++;
+ }
+ if (remain) {
+ tables.stsc++;
+ }
+
+ // stsc_table_entry = [first_chunk, samples_per_chunk, sample_description_index]
+ tables.stsc_bEntries = new int[tables.stsc * 3];
+ tables.stco = remainChunkOffset + 1;// total entrys in chunk offset box
+
+ tables.stsc_bEntries[index++] = 1;
+ tables.stsc_bEntries[index++] = firstCount;
+ tables.stsc_bEntries[index++] = 1;
+
+ if (firstCount != succesiveCount) {
+ tables.stsc_bEntries[index++] = 2;
+ tables.stsc_bEntries[index++] = succesiveCount;
+ tables.stsc_bEntries[index++] = 1;
+ }
+
+ if (remain) {
+ tables.stsc_bEntries[index++] = remainChunkOffset + 1;
+ tables.stsc_bEntries[index++] = totalSamples % succesiveCount;
+ tables.stsc_bEntries[index] = 1;
+ }
+ }
private void outWrite(byte[] buffer) throws IOException {
outWrite(buffer, buffer.length);
@@ -585,19 +609,29 @@ public class Mp4FromDashWriter {
private int make_ftyp() throws IOException {
- byte[] buffer = new byte[]{
- 0x00, 0x00, 0x00, 0x1C, 0x66, 0x74, 0x79, 0x70,// ftyp
- 0x6D, 0x70, 0x34, 0x32,// mayor brand (mp42)
- 0x00, 0x00, 0x02, 0x00,// default minor version (512)
- 0x6D, 0x70, 0x34, 0x31, 0x69, 0x73, 0x6F, 0x6D, 0x69, 0x73, 0x6F, 0x32// compatible brands: mp41 isom iso2
- };
+ int size = 16 + (compatibleBrands.size() * 4);
+ if (overrideMainBrand != 0) size += 4;
- if (overrideMainBrand != 0)
- ByteBuffer.wrap(buffer).putInt(8, overrideMainBrand);
+ ByteBuffer buffer = ByteBuffer.allocate(size);
+ buffer.putInt(size);
+ buffer.putInt(0x66747970);// "ftyp"
- outWrite(buffer);
+ if (overrideMainBrand == 0) {
+ buffer.putInt(0x6D703432);// mayor brand "mp42"
+ buffer.putInt(512);// default minor version
+ } else {
+ buffer.putInt(overrideMainBrand);
+ buffer.putInt(0);
+ buffer.putInt(0x6D703432);// "mp42" compatible brand
+ }
- return buffer.length;
+ for (Integer brand : compatibleBrands) {
+ buffer.putInt(brand);// compatible brand
+ }
+
+ outWrite(buffer.array());
+
+ return size;
}
private byte[] make_mdat(long refSize, boolean is64) {
@@ -746,7 +780,6 @@ public class Mp4FromDashWriter {
}
private void make_mdia(Mdia mdia, TablesInfo tablesInfo, boolean is64) throws IOException {
-
int start_mdia = auxOffset();
auxWrite(new byte[]{0x00, 0x00, 0x00, 0x00, 0x6D, 0x64, 0x69, 0x61});// mdia
auxWrite(mdia.mdhd);
@@ -766,7 +799,7 @@ public class Mp4FromDashWriter {
// And stsz can be empty if has a default sample size
//
if (moovSimulation) {
- make(0x73747473, -1, 2, 1);
+ make(0x73747473, -1, 2, 1);// stts
if (tablesInfo.stss > 0) {
make(0x73747373, -1, 1, tablesInfo.stss);
}
@@ -789,6 +822,9 @@ public class Mp4FromDashWriter {
tablesInfo.stco = make(is64 ? 0x636F3634 : 0x7374636F, -1, is64 ? 2 : 1, tablesInfo.stco);
}
+ auxWrite(make_sgpd());
+ tablesInfo.sbgp = make_sbgp();// during simulation the returned offset is ignored
+
lengthFor(start_stbl);
lengthFor(start_minf);
lengthFor(start_mdia);
@@ -816,6 +852,48 @@ public class Mp4FromDashWriter {
return buffer.array();
}
+ private int make_sbgp() throws IOException {
+ int offset = auxOffset();
+
+ auxWrite(new byte[] {
+ 0x00, 0x00, 0x00, 0x1C,// box size
+ 0x73, 0x62, 0x67, 0x70,// "sbpg"
+ 0x00, 0x00, 0x00, 0x00,// default box flags
+ 0x72, 0x6F, 0x6C, 0x6C,// group type "roll"
+ 0x00, 0x00, 0x00, 0x01,// group table size
+ 0x00, 0x00, 0x00, 0x00,// group[0] total samples (to be set later)
+ 0x00, 0x00, 0x00, 0x01// group[0] description index
+ });
+
+ return offset + 0x14;
+ }
+
+ private byte[] make_sgpd() {
+ /*
+ * Sample Group Description Box
+ *
+ * ¿whats does?
+ * the table inside of this box gives information about the
+ * characteristics of sample groups. The descriptive information is any other
+ * information needed to define or characterize the sample group.
+ *
+ * ¿is replicabled this box?
+ * NO due lacks of documentation about this box but...
+ * most of m4a encoders and ffmpeg uses this box with dummy values (same values)
+ */
+
+ ByteBuffer buffer = ByteBuffer.wrap(new byte[] {
+ 0x00, 0x00, 0x00, 0x1A,// box size
+ 0x73, 0x67, 0x70, 0x64,// "sgpd"
+ 0x01, 0x00, 0x00, 0x00,// box flags (unknown flag sets)
+ 0x72, 0x6F, 0x6C, 0x6C, // ¿¿group type??
+ 0x00, 0x00, 0x00, 0x02,// ¿¿??
+ 0x00, 0x00, 0x00, 0x01,// ¿¿??
+ (byte)0xFF, (byte)0xFF// ¿¿??
+ });
+
+ return buffer.array();
+ }
class TablesInfo {
@@ -827,5 +905,6 @@ public class Mp4FromDashWriter {
int stsz_default;
int stss;
int stco;
+ int sbgp;
}
}
From 00eddcb2378c6788e1ef00d375ce9ef49747e4b5 Mon Sep 17 00:00:00 2001
From: kapodamy
Date: Wed, 8 Jan 2020 14:36:31 -0300
Subject: [PATCH 015/199] android 5 (lollipop) fixup this commit attempts to
fix the pickAvailableTemporalDir() method in ROMS that not are CTS compliant.
---
.../giga/postprocessing/Postprocessing.java | 10 +++++---
.../giga/service/DownloadManager.java | 23 ++++++++++++++-----
2 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/app/src/main/java/us/shandian/giga/postprocessing/Postprocessing.java b/app/src/main/java/us/shandian/giga/postprocessing/Postprocessing.java
index 773ff92d1..e93e83a87 100644
--- a/app/src/main/java/us/shandian/giga/postprocessing/Postprocessing.java
+++ b/app/src/main/java/us/shandian/giga/postprocessing/Postprocessing.java
@@ -80,7 +80,7 @@ public abstract class Postprocessing implements Serializable {
private transient DownloadMission mission;
- private File tempFile;
+ private transient File tempFile;
Postprocessing(boolean reserveSpace, boolean worksOnSameFile, String algorithmName) {
this.reserveSpace = reserveSpace;
@@ -95,8 +95,12 @@ public abstract class Postprocessing implements Serializable {
public void cleanupTemporalDir() {
if (tempFile != null && tempFile.exists()) {
- //noinspection ResultOfMethodCallIgnored
- tempFile.delete();
+ try {
+ //noinspection ResultOfMethodCallIgnored
+ tempFile.delete();
+ } catch (Exception e) {
+ // nothing to do
+ }
}
}
diff --git a/app/src/main/java/us/shandian/giga/service/DownloadManager.java b/app/src/main/java/us/shandian/giga/service/DownloadManager.java
index e8bc468e9..994c6ee63 100644
--- a/app/src/main/java/us/shandian/giga/service/DownloadManager.java
+++ b/app/src/main/java/us/shandian/giga/service/DownloadManager.java
@@ -139,6 +139,9 @@ public class DownloadManager {
Log.d(TAG, "Loading pending downloads from directory: " + mPendingMissionsDir.getAbsolutePath());
}
+ File tempDir = pickAvailableTemporalDir(ctx);
+ Log.i(TAG, "using '" + tempDir + "' as temporal directory");
+
for (File sub : subs) {
if (!sub.isFile()) continue;
if (sub.getName().equals(".tmp")) continue;
@@ -184,7 +187,7 @@ public class DownloadManager {
if (mis.psAlgorithm != null) {
mis.psAlgorithm.cleanupTemporalDir();
- mis.psAlgorithm.setTemporalDir(pickAvailableTemporalDir(ctx));
+ mis.psAlgorithm.setTemporalDir(tempDir);
}
mis.metadata = sub;
@@ -513,13 +516,21 @@ public class DownloadManager {
}
static File pickAvailableTemporalDir(@NonNull Context ctx) {
- if (isDirectoryAvailable(ctx.getExternalFilesDir(null)))
- return ctx.getExternalFilesDir(null);
- else if (isDirectoryAvailable(ctx.getFilesDir()))
- return ctx.getFilesDir();
+ File dir = ctx.getExternalFilesDir(null);
+ if (isDirectoryAvailable(dir)) return dir;
+
+ dir = ctx.getFilesDir();
+ if (isDirectoryAvailable(dir)) return dir;
// this never should happen
- return ctx.getDir("tmp", Context.MODE_PRIVATE);
+ dir = ctx.getDir("muxing_tmp", Context.MODE_PRIVATE);
+ if (isDirectoryAvailable(dir)) return dir;
+
+ // fallback to cache dir
+ dir = ctx.getCacheDir();
+ if (isDirectoryAvailable(dir)) return dir;
+
+ throw new RuntimeException("Not temporal directories are available");
}
@Nullable
From 9b71828b97a46227f214b76cf99e53bb1884a7ee Mon Sep 17 00:00:00 2001
From: kapodamy
Date: Tue, 14 Jan 2020 01:08:46 -0300
Subject: [PATCH 016/199] implement sgpd and sbgp boxes in audio tracks
---
.../org/schabi/newpipe/streams/Mp4FromDashWriter.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
index f94ebefb0..963d84b40 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
@@ -774,12 +774,12 @@ public class Mp4FromDashWriter {
.array()
);
- make_mdia(tracks[index].trak.mdia, tables, is64);
+ make_mdia(tracks[index].trak.mdia, tables, is64, tracks[index].kind == TrackKind.Audio);
lengthFor(start);
}
- private void make_mdia(Mdia mdia, TablesInfo tablesInfo, boolean is64) throws IOException {
+ private void make_mdia(Mdia mdia, TablesInfo tablesInfo, boolean is64, boolean isAudio) throws IOException {
int start_mdia = auxOffset();
auxWrite(new byte[]{0x00, 0x00, 0x00, 0x00, 0x6D, 0x64, 0x69, 0x61});// mdia
auxWrite(mdia.mdhd);
@@ -822,8 +822,10 @@ public class Mp4FromDashWriter {
tablesInfo.stco = make(is64 ? 0x636F3634 : 0x7374636F, -1, is64 ? 2 : 1, tablesInfo.stco);
}
- auxWrite(make_sgpd());
- tablesInfo.sbgp = make_sbgp();// during simulation the returned offset is ignored
+ if (isAudio) {
+ auxWrite(make_sgpd());
+ tablesInfo.sbgp = make_sbgp();// during simulation the returned offset is ignored
+ }
lengthFor(start_stbl);
lengthFor(start_minf);
From f8a7aac40d0e7e1a6558753e012dabd6f97d7df7 Mon Sep 17 00:00:00 2001
From: bopol
Date: Tue, 14 Jan 2020 14:15:42 +0100
Subject: [PATCH 017/199] fixed indonesian, see
https://stackoverflow.com/questions/13291578/how-to-localize-an-android-app-in-indonesian-language
---
app/src/main/res/{values-id => values-in}/strings.xml | 0
app/src/main/res/values/settings_keys.xml | 2 +-
2 files changed, 1 insertion(+), 1 deletion(-)
rename app/src/main/res/{values-id => values-in}/strings.xml (100%)
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-in/strings.xml
similarity index 100%
rename from app/src/main/res/values-id/strings.xml
rename to app/src/main/res/values-in/strings.xml
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 18f42fe46..88da3afe5 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -956,7 +956,7 @@
- hu
- hy
- ia
- - ind
+ - in
- it
- ja
- ko
From 055365a44931b65e9fffd0d5d57595fe3be40abb Mon Sep 17 00:00:00 2001
From: bopol
Date: Tue, 14 Jan 2020 14:26:53 +0100
Subject: [PATCH 018/199] added Occitan to the selector
---
app/src/main/res/values/settings_keys.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 88da3afe5..08b18f49b 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -968,6 +968,7 @@
- ne
- nl
- nl-be
+ - oc
- pa
- pl
- pr
@@ -1032,6 +1033,7 @@
- Nनेपाली
- Nederlands (NL)
- Nederlands (BE)
+ - Occitan
- ਪੰਜਾਬੀ
- Polski
- Pirate Language
From 105981b2eb426b598f81694442621e8b695a642e Mon Sep 17 00:00:00 2001
From: bopol
Date: Tue, 14 Jan 2020 19:11:46 +0100
Subject: [PATCH 019/199] made system translatable + renamed it to system's
language
---
app/src/main/res/values/settings_keys.xml | 3 +--
app/src/main/res/values/strings.xml | 1 +
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 08b18f49b..ed3c454b8 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -993,7 +993,7 @@
- zh-tw
- - @string/system
+ - @string/systems_language
- العربية
- Azərbaycan dili
- Asturianu
@@ -1076,7 +1076,6 @@
list_view_mode
auto
- System
- auto
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8a44fdc64..c5a59abe7 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -590,4 +590,5 @@
The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible
Choose an instance
NewPipe\'s language
+ System\'s language
From a228e702daee7024ac88f3cbfadba031ce5b6951 Mon Sep 17 00:00:00 2001
From: Karol Kaminski
Date: Tue, 14 Jan 2020 19:30:36 +0100
Subject: [PATCH 020/199] menu-item History visibility accordingly to settings
---
app/src/main/java/org/schabi/newpipe/MainActivity.java | 10 ++++++++++
.../main/java/org/schabi/newpipe/util/Constants.java | 2 ++
2 files changed, 12 insertions(+)
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index 2dfbb9c69..cce02f526 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -449,6 +449,16 @@ public class MainActivity extends AppCompatActivity {
sharedPreferences.edit().putBoolean(Constants.KEY_MAIN_PAGE_CHANGE, false).apply();
NavigationHelper.openMainActivity(this);
}
+
+ if (sharedPreferences.getBoolean(Constants.KEY_ENABLE_WATCH_HISTORY, true)) {
+ if (DEBUG) Log.d(TAG, "do not show History-menu as its disabled in settings");
+ drawerItems.getMenu().findItem(ITEM_ID_HISTORY).setVisible(true);
+ }
+
+ if (!sharedPreferences.getBoolean(Constants.KEY_ENABLE_WATCH_HISTORY, true)) {
+ if (DEBUG) Log.d(TAG, "show History-menu as its enabled in settings");
+ drawerItems.getMenu().findItem(ITEM_ID_HISTORY).setVisible(false);
+ }
}
@Override
diff --git a/app/src/main/java/org/schabi/newpipe/util/Constants.java b/app/src/main/java/org/schabi/newpipe/util/Constants.java
index b01b6df6a..50350651d 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Constants.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Constants.java
@@ -11,5 +11,7 @@ public class Constants {
public static final String KEY_THEME_CHANGE = "key_theme_change";
public static final String KEY_MAIN_PAGE_CHANGE = "key_main_page_change";
+ public static final String KEY_ENABLE_WATCH_HISTORY = "enable_watch_history";
+
public static final int NO_SERVICE_ID = -1;
}
From b965f88eb206f9f6348018df2a1628985679b95d Mon Sep 17 00:00:00 2001
From: Karol Kaminski
Date: Tue, 14 Jan 2020 22:08:07 +0100
Subject: [PATCH 021/199] removed main_menu.xml
---
app/src/main/res/menu/main_menu.xml | 22 ----------------------
1 file changed, 22 deletions(-)
delete mode 100644 app/src/main/res/menu/main_menu.xml
diff --git a/app/src/main/res/menu/main_menu.xml b/app/src/main/res/menu/main_menu.xml
deleted file mode 100644
index 05920099a..000000000
--- a/app/src/main/res/menu/main_menu.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
\ No newline at end of file
From 590722d929893308b1acbbec71322576510cf416 Mon Sep 17 00:00:00 2001
From: chr56
Date: Wed, 15 Jan 2020 12:30:17 +0800
Subject: [PATCH 022/199] manually update the Simplified Chinese lang file.
/values-b+zh+HANS+CN was updated.
Action: copy file in /values-b+zh+HANS+CN to /values-zh-rCN
---
app/src/main/res/values-zh-rCN/strings.xml | 30 +++++++++++++++++-----
1 file changed, 24 insertions(+), 6 deletions(-)
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 8714c6aca..cfa443afc 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -39,7 +39,7 @@
网络错误
- 视频
-
+
禁用
背景
@@ -160,7 +160,7 @@
使用第三方视频播放器
使用第三方视频播放器
音频下载文件夹
- 从其他应用打开 NewPipe 时就播放视频
+ 从其他应用调用 NewPipe 时播放视频
默认分辨率
找不到Kore。是否安装?
显示“用Kodi播放”选项
@@ -180,7 +180,7 @@
错误报告
错误
无法加载所有缩略图
- 无法解密视频 URL 的签名
+ 无法解密视频的 URL 签名
无法解析网址
无法完全解析网址
内容不可用
@@ -483,7 +483,7 @@
命名冲突,已存在具有此名称文件
无法覆盖文件
有此名称的已暂停下载
- 处理文件时,NewPipe 已关闭
+ NewPipe 在处理文件时被关闭
设备上没有剩余储存空间
进度丢失,文件已被删除
连接超时
@@ -507,12 +507,30 @@
无人在线观看
- %s 人在观看
-
+
没人在听
- - %s个听众
+ - %s 人在听
重新启动应用后,语言将更改。
+ PeerTube 服务器
+ 设置自己喜欢的peertube服务器
+ 查找最适合你的服务器https://joinpeertube.org/instances#instances-list
+ 添加服务器
+ 输入服务器网址
+ 无法验证服务器
+ 仅支持 https URL
+ 该服务器已存在
+ 本地
+ 最近添加
+ 最喜欢的
+ 自动生成的(未找到上传者)
+ 正在恢复
+ 无法恢复此下载
+ 选择一个服务器
+ 快进 / 快退的单位时间
+ 在锁屏界面显示视频缩略图
+ 在后台播放时,锁屏界面将会显示视频的缩略图
\ No newline at end of file
From 9d8fcbbffe7ade9e662ab94e1a5a539a7e4e7d04 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Wed, 15 Jan 2020 08:33:57 +0100
Subject: [PATCH 023/199] fix: wrong language shown when rotating screen in
popup player
---
.../main/java/org/schabi/newpipe/player/PopupVideoPlayer.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
index b173448d0..c0ac95445 100644
--- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
@@ -172,6 +172,7 @@ public final class PopupVideoPlayer extends Service {
@Override
public void onConfigurationChanged(Configuration newConfig) {
+ changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
if (DEBUG) Log.d(TAG, "onConfigurationChanged() called with: newConfig = [" + newConfig + "]");
updateScreenSize();
updatePopupSize(popupLayoutParams.width, -1);
From 570dded8d601ea86ec92038283a65774fed8fb92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Jakse?=
Date: Thu, 16 Jan 2020 20:44:08 +0100
Subject: [PATCH 024/199] Add field START_PAUSED to the Player Intent
This allows fixing spurious playback resume when minimizing to the background player.
---
.../org/schabi/newpipe/player/BackgroundPlayerActivity.java | 5 ++++-
app/src/main/java/org/schabi/newpipe/player/BasePlayer.java | 4 +++-
.../java/org/schabi/newpipe/player/MainVideoPlayer.java | 6 ++++--
.../java/org/schabi/newpipe/player/PopupVideoPlayer.java | 5 +++--
.../org/schabi/newpipe/player/PopupVideoPlayerActivity.java | 5 ++++-
.../org/schabi/newpipe/player/ServicePlayerActivity.java | 6 +++++-
.../main/java/org/schabi/newpipe/util/NavigationHelper.java | 6 ++++--
7 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java
index 761b50d85..59f6e1e6d 100644
--- a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java
@@ -57,7 +57,10 @@ public final class BackgroundPlayerActivity extends ServicePlayerActivity {
this.player.setRecovery();
getApplicationContext().sendBroadcast(getPlayerShutdownIntent());
- getApplicationContext().startService(getSwitchIntent(PopupVideoPlayer.class));
+ getApplicationContext().startService(
+ getSwitchIntent(PopupVideoPlayer.class)
+ .putExtra(BasePlayer.START_PAUSED, !this.player.isPlaying())
+ );
return true;
}
return false;
diff --git a/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java b/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java
index 6452a9850..cd1ec07f9 100644
--- a/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java
@@ -150,6 +150,8 @@ public abstract class BasePlayer implements
@NonNull
public static final String RESUME_PLAYBACK = "resume_playback";
@NonNull
+ public static final String START_PAUSED = "start_paused";
+ @NonNull
public static final String SELECT_ON_APPEND = "select_on_append";
/*//////////////////////////////////////////////////////////////////////////
@@ -304,7 +306,7 @@ public abstract class BasePlayer implements
}
// Good to go...
initPlayback(queue, repeatMode, playbackSpeed, playbackPitch, playbackSkipSilence,
- /*playOnInit=*/true);
+ /*playOnInit=*/!intent.getBooleanExtra(START_PAUSED, false));
}
protected void initPlayback(@NonNull final PlayQueue queue,
diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
index 7a3e60c66..9ccf5b9d3 100644
--- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
@@ -614,7 +614,8 @@ public final class MainVideoPlayer extends AppCompatActivity
this.getPlaybackPitch(),
this.getPlaybackSkipSilence(),
this.getPlaybackQuality(),
- false
+ false,
+ !isPlaying()
);
context.startService(intent);
@@ -637,7 +638,8 @@ public final class MainVideoPlayer extends AppCompatActivity
this.getPlaybackPitch(),
this.getPlaybackSkipSilence(),
this.getPlaybackQuality(),
- false
+ false,
+ !isPlaying()
);
context.startService(intent);
diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
index 969c47990..70fb77060 100644
--- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
@@ -567,7 +567,8 @@ public final class PopupVideoPlayer extends Service {
this.getPlaybackPitch(),
this.getPlaybackSkipSilence(),
this.getPlaybackQuality(),
- false
+ false,
+ !isPlaying()
);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
@@ -1123,4 +1124,4 @@ public final class PopupVideoPlayer extends Service {
return distanceFromCloseButton(popupMotionEvent) <= getClosingRadius();
}
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayerActivity.java
index 44fcdb8dd..5000d07e2 100644
--- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayerActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayerActivity.java
@@ -50,7 +50,10 @@ public final class PopupVideoPlayerActivity extends ServicePlayerActivity {
if (item.getItemId() == R.id.action_switch_background) {
this.player.setRecovery();
getApplicationContext().sendBroadcast(getPlayerShutdownIntent());
- getApplicationContext().startService(getSwitchIntent(BackgroundPlayer.class));
+ getApplicationContext().startService(
+ getSwitchIntent(BackgroundPlayer.class)
+ .putExtra(BasePlayer.START_PAUSED, !this.player.isPlaying())
+ );
return true;
}
return false;
diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
index 2207808ac..a7b3006a1 100644
--- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
@@ -167,7 +167,10 @@ public abstract class ServicePlayerActivity extends AppCompatActivity
case R.id.action_switch_main:
this.player.setRecovery();
getApplicationContext().sendBroadcast(getPlayerShutdownIntent());
- getApplicationContext().startActivity(getSwitchIntent(MainVideoPlayer.class));
+ getApplicationContext().startActivity(
+ getSwitchIntent(MainVideoPlayer.class)
+ .putExtra(BasePlayer.START_PAUSED, !this.player.isPlaying())
+ );
return true;
}
return onPlayerOptionSelected(item) || super.onOptionsItemSelected(item);
@@ -189,6 +192,7 @@ public abstract class ServicePlayerActivity extends AppCompatActivity
this.player.getPlaybackPitch(),
this.player.getPlaybackSkipSilence(),
null,
+ false,
false
).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
diff --git a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
index e2b03c8e8..a19aa92ae 100644
--- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
@@ -109,12 +109,14 @@ public class NavigationHelper {
final float playbackPitch,
final boolean playbackSkipSilence,
@Nullable final String playbackQuality,
- final boolean resumePlayback) {
+ final boolean resumePlayback,
+ final boolean startPaused) {
return getPlayerIntent(context, targetClazz, playQueue, playbackQuality, resumePlayback)
.putExtra(BasePlayer.REPEAT_MODE, repeatMode)
.putExtra(BasePlayer.PLAYBACK_SPEED, playbackSpeed)
.putExtra(BasePlayer.PLAYBACK_PITCH, playbackPitch)
- .putExtra(BasePlayer.PLAYBACK_SKIP_SILENCE, playbackSkipSilence);
+ .putExtra(BasePlayer.PLAYBACK_SKIP_SILENCE, playbackSkipSilence)
+ .putExtra(BasePlayer.START_PAUSED, startPaused);
}
public static void playOnMainPlayer(final Context context, final PlayQueue queue, final boolean resumePlayback) {
From ef90493c27af898d8e79adbb5e8d449ef5d0ae35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Jakse?=
Date: Thu, 16 Jan 2020 20:46:11 +0100
Subject: [PATCH 025/199] Deduplicate code switching to another player into a
function
---
.../player/BackgroundPlayerActivity.java | 8 +-------
.../player/PopupVideoPlayerActivity.java | 8 +-------
.../newpipe/player/ServicePlayerActivity.java | 18 ++++++++++--------
3 files changed, 12 insertions(+), 22 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java
index 59f6e1e6d..1b5b5d07c 100644
--- a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java
@@ -55,13 +55,7 @@ public final class BackgroundPlayerActivity extends ServicePlayerActivity {
return true;
}
- this.player.setRecovery();
- getApplicationContext().sendBroadcast(getPlayerShutdownIntent());
- getApplicationContext().startService(
- getSwitchIntent(PopupVideoPlayer.class)
- .putExtra(BasePlayer.START_PAUSED, !this.player.isPlaying())
- );
- return true;
+ return switchTo(PopupVideoPlayer.class);
}
return false;
}
diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayerActivity.java
index 5000d07e2..b2af6d9d8 100644
--- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayerActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayerActivity.java
@@ -48,13 +48,7 @@ public final class PopupVideoPlayerActivity extends ServicePlayerActivity {
@Override
public boolean onPlayerOptionSelected(MenuItem item) {
if (item.getItemId() == R.id.action_switch_background) {
- this.player.setRecovery();
- getApplicationContext().sendBroadcast(getPlayerShutdownIntent());
- getApplicationContext().startService(
- getSwitchIntent(BackgroundPlayer.class)
- .putExtra(BasePlayer.START_PAUSED, !this.player.isPlaying())
- );
- return true;
+ return switchTo(BackgroundPlayer.class);
}
return false;
}
diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
index a7b3006a1..b5a697d05 100644
--- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
@@ -165,13 +165,7 @@ public abstract class ServicePlayerActivity extends AppCompatActivity
startActivity(new Intent(Settings.ACTION_SOUND_SETTINGS));
return true;
case R.id.action_switch_main:
- this.player.setRecovery();
- getApplicationContext().sendBroadcast(getPlayerShutdownIntent());
- getApplicationContext().startActivity(
- getSwitchIntent(MainVideoPlayer.class)
- .putExtra(BasePlayer.START_PAUSED, !this.player.isPlaying())
- );
- return true;
+ return switchTo(MainVideoPlayer.class);
}
return onPlayerOptionSelected(item) || super.onOptionsItemSelected(item);
}
@@ -194,7 +188,15 @@ public abstract class ServicePlayerActivity extends AppCompatActivity
null,
false,
false
- ).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ ).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ .putExtra(BasePlayer.START_PAUSED, !this.player.isPlaying());
+ }
+
+ protected boolean switchTo(final Class clazz) {
+ this.player.setRecovery();
+ getApplicationContext().sendBroadcast(getPlayerShutdownIntent());
+ getApplicationContext().startActivity(getSwitchIntent(clazz));
+ return true;
}
////////////////////////////////////////////////////////////////////////////
From 7dbb2b206c438078676f668a9a779537730143fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Jakse?=
Date: Thu, 16 Jan 2020 20:46:52 +0100
Subject: [PATCH 026/199] Simplify an if expression
---
app/src/main/java/org/schabi/newpipe/player/BasePlayer.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java b/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java
index cd1ec07f9..46ca3921d 100644
--- a/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java
@@ -946,10 +946,10 @@ public abstract class BasePlayer implements
public void onPlayPause() {
if (DEBUG) Log.d(TAG, "onPlayPause() called");
- if (!isPlaying()) {
- onPlay();
- } else {
+ if (isPlaying()) {
onPause();
+ } else {
+ onPlay();
}
}
From 845767e2f8f62dc34452e54723a2dd3670c93ff7 Mon Sep 17 00:00:00 2001
From: kapodamy
Date: Sat, 18 Jan 2020 00:43:38 -0300
Subject: [PATCH 027/199] StandardCharsets.UTF_8 instead of
Charset.forName("utf-8")
---
.../main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
index 75e16edad..696f24d05 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
@@ -22,7 +22,7 @@ public class SrtFromTtmlWriter {
private SharpStream out;
private boolean ignoreEmptyFrames;
- private final Charset charset = Charset.forName("utf-8");
+ private final Charset charset = StandardCharsets.UTF_8;
private int frameIndex = 0;
From a2d3e2c7e0799fbc9fba717d7cc586dbf63ac241 Mon Sep 17 00:00:00 2001
From: kapodamy
Date: Sat, 18 Jan 2020 01:10:25 -0300
Subject: [PATCH 028/199] 2 typo fixup * add missing namespace of
StandardCharsets * use an unused constructor argument
---
.../java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
index 696f24d05..e20b06352 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
@@ -12,7 +12,7 @@ import org.schabi.newpipe.streams.io.SharpStream;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.charset.Charset;
-import java.text.ParseException;
+import java.nio.charset.StandardCharsets;
/**
* @author kapodamy
@@ -28,7 +28,7 @@ public class SrtFromTtmlWriter {
public SrtFromTtmlWriter(SharpStream out, boolean ignoreEmptyFrames) {
this.out = out;
- this.ignoreEmptyFrames = true;
+ this.ignoreEmptyFrames = ignoreEmptyFrames;
}
private static String getTimestamp(Element frame, String attr) {
From b155f23d276ebc48ffe5fe86759320b6751ac512 Mon Sep 17 00:00:00 2001
From: bopol
Date: Sat, 18 Jan 2020 09:46:38 +0100
Subject: [PATCH 029/199] fix: wrong language shown in playback parameters
dialog
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is a hardly reproduceable bug that I hopefully fixed. After a long time of watching videos, you could have your system language shown in playback parameters dialog.
Calling changeAppLanguage(getAppLocale(…),…) onCreate will most certainly fix this bug
---
.../schabi/newpipe/player/helper/PlaybackParameterDialog.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java b/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java
index 4feed74fe..2aefa675e 100644
--- a/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java
+++ b/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java
@@ -17,6 +17,8 @@ import org.schabi.newpipe.R;
import org.schabi.newpipe.util.SliderStrategy;
import static org.schabi.newpipe.player.BasePlayer.DEBUG;
+import static org.schabi.newpipe.util.Localization.changeAppLanguage;
+import static org.schabi.newpipe.util.Localization.getAppLocale;
public class PlaybackParameterDialog extends DialogFragment {
@NonNull private static final String TAG = "PlaybackParameterDialog";
@@ -108,6 +110,7 @@ public class PlaybackParameterDialog extends DialogFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
+ changeAppLanguage(getAppLocale(getContext()), getResources());
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
initialTempo = savedInstanceState.getDouble(INITIAL_TEMPO_KEY, DEFAULT_TEMPO);
@@ -137,6 +140,7 @@ public class PlaybackParameterDialog extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+ changeAppLanguage(getAppLocale(getContext()), getResources());
final View view = View.inflate(getContext(), R.layout.dialog_playback_parameter, null);
setupControlViews(view);
From e08e7245738ca8ee5dab4dc5801dc6d35399873a Mon Sep 17 00:00:00 2001
From: bopol
Date: Sat, 18 Jan 2020 10:46:53 +0100
Subject: [PATCH 030/199] upload date in description now matches newpipe's
language
---
.../main/java/org/schabi/newpipe/util/Localization.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java
index 3f555fcfd..d2fbd3a65 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Localization.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java
@@ -1,5 +1,6 @@
package org.schabi.newpipe.util;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Configuration;
@@ -118,12 +119,13 @@ public class Localization {
return nf.format(number);
}
- public static String formatDate(Date date) {
- return DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.getDefault()).format(date);
+ public static String formatDate(Date date, Context context) {
+ return DateFormat.getDateInstance(DateFormat.MEDIUM, getAppLocale(context)).format(date);
}
+ @SuppressLint("StringFormatInvalid")
public static String localizeUploadDate(Context context, Date date) {
- return context.getString(R.string.upload_date_text, formatDate(date));
+ return context.getString(R.string.upload_date_text, formatDate(date, context));
}
public static String localizeViewCount(Context context, long viewCount) {
From 77aa12dd8195dae7a2f782f97d3439e4e39fd1a1 Mon Sep 17 00:00:00 2001
From: Xiang Rong Lin <41164160+XiangRongLin@users.noreply.github.com>
Date: Mon, 13 Jan 2020 20:24:24 +0100
Subject: [PATCH 031/199] Rename local playlist by long-clicking in
BookmarkFragment.
After long clicking on a local playlist, show a dialog with 2 options for "rename" and "delete"
Rename shows another dialog to let the user rename the playlist.
Delete lets the user delete a playlist like before.
---
.../local/bookmark/BookmarkFragment.java | 67 ++++++++++++++++++-
1 file changed, 66 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java b/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
index 8f67367aa..6a7f16025 100644
--- a/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
@@ -1,8 +1,13 @@
package org.schabi.newpipe.local.bookmark;
import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.res.Resources;
import android.os.Bundle;
import android.os.Parcelable;
+import android.util.Log;
+import android.widget.EditText;
+import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentManager;
@@ -10,6 +15,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import io.reactivex.disposables.Disposable;
import org.reactivestreams.Subscriber;
import org.reactivestreams.Subscription;
import org.schabi.newpipe.NewPipeDatabase;
@@ -118,7 +124,33 @@ public final class BookmarkFragment
@Override
public void held(LocalItem selectedItem) {
if (selectedItem instanceof PlaylistMetadataEntry) {
- showLocalDeleteDialog((PlaylistMetadataEntry) selectedItem);
+ final Resources resources = getContext().getResources();
+ String[] commands = new String[]{
+ resources.getString(R.string.rename_playlist),
+ resources.getString(R.string.delete_playlist)
+ };
+
+ final DialogInterface.OnClickListener actions = (dialogInterface, i) -> {
+ switch (i) {
+ case 0:
+ showLocalRenameDialog((PlaylistMetadataEntry) selectedItem);
+ break;
+ case 1:
+ showLocalDeleteDialog((PlaylistMetadataEntry) selectedItem);
+ break;
+ }
+ };
+
+ final View bannerView = View.inflate(activity, R.layout.dialog_title, null);
+ bannerView.setSelected(true);
+ TextView titleView = bannerView.findViewById(R.id.itemTitleView);
+ titleView.setText(((PlaylistMetadataEntry) selectedItem).name);
+
+ new AlertDialog.Builder(getActivity())
+ .setCustomTitle(bannerView)
+ .setItems(commands, actions)
+ .create()
+ .show();
} else if (selectedItem instanceof PlaylistRemoteEntity) {
showRemoteDeleteDialog((PlaylistRemoteEntity) selectedItem);
@@ -271,6 +303,39 @@ public final class BookmarkFragment
.show();
}
+ private void showLocalRenameDialog(PlaylistMetadataEntry selectedItem) {
+ final View dialogView = View.inflate(getContext(), R.layout.dialog_playlist_name, null);
+ EditText nameEdit = dialogView.findViewById(R.id.playlist_name);
+ nameEdit.setText(selectedItem.name);
+ nameEdit.setSelection(nameEdit.getText().length());
+
+ final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(
+ getContext())
+ .setTitle(R.string.rename_playlist)
+ .setView(dialogView)
+ .setCancelable(true)
+ .setNegativeButton(R.string.cancel, null)
+ .setPositiveButton(R.string.rename, (dialogInterface, i) -> {
+ changeLocalPlaylistName(selectedItem.uid, nameEdit.getText().toString());
+ });
+ dialogBuilder.show();
+ }
+
+ private void changeLocalPlaylistName(long id, String name) {
+ if (localPlaylistManager == null) {
+ return;
+ }
+
+ Log.d(TAG, "Updating playlist id=[" + id +
+ "] with new name=[" + name + "] items");
+
+ localPlaylistManager.renamePlaylist(id, name);
+ final Disposable disposable = localPlaylistManager.renamePlaylist(id, name)
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(longs -> {/*Do nothing on success*/}, this::onError);
+ disposables.add(disposable);
+ }
+
private static List merge(final List localPlaylists,
final List remotePlaylists) {
List items = new ArrayList<>(
From 9d5612d1046b08ae9c03d75e561868ce73c66604 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Sat, 18 Jan 2020 19:34:22 +0000
Subject: [PATCH 032/199] Translated using Weblate (German)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-de/strings.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 53b9a52eb..9a2482814 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -155,7 +155,7 @@
Über
Freies und schlankes Streaming für Android.
NewPipes Lizenz
- Ob Ideen, Übersetzungen, Design-Änderungen, Code-Aufräumung oder richtig große Code-Änderungen – Hilfe ist immer willkommen. Je mehr geholfen wird, desto besser wird NewPipe!
+ Ob Ideen, Übersetzungen, Design-Änderungen, Code-Aufräumung oder richtig große Code-Änderungen — Hilfe ist immer willkommen. Je mehr geholfen wird, desto besser wird NewPipe!
Drittanbieter-Lizenzen
Auf GitHub ansehen
Beitragen
@@ -366,7 +366,7 @@
yourID, soundcloud.com/yourid
Keine Streams zum Download verfügbar
Bevorzugte \"Öffnen\" Aktion
- Standardaktion beim Öffnen von Inhalten - %s
+ Standardaktion beim Öffnen von Inhalten — %s
Untertitel
Textgröße und Hintergrund der Untertitel im Player anpassen. Wird erst nach Neustart der App wirksam.
Keine App zum Abspielen dieser Datei installiert
@@ -392,7 +392,7 @@
Unbegrenzt
Auflösung bei Verwendung mobiler Daten begrenzen
Minimieren beim Appwechsel
- Aktion beim Umschalten auf eine andere App vom Haupt-Videoplayer - %s
+ Aktion beim Umschalten auf eine andere App vom Haupt-Videoplayer — %s
Keine
Zum Hintergrund-Player minimieren
Zum Popup-Player minimieren
From 6b7043fb9d7aa50ecf47b691f908ee70e8c56572 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Fri, 17 Jan 2020 08:52:56 +0000
Subject: [PATCH 033/199] Translated using Weblate (French)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-fr/strings.xml | 31 ++++++++++++++------------
1 file changed, 17 insertions(+), 14 deletions(-)
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 444310aef..7695fe31c 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -19,14 +19,14 @@
Partager
Partager avec
Affiche une option pour lire une vidéo via Kodi
- Afficher l’option « Lire avec Kodi »
+ Afficher l’option « Lire avec Kodi »
Publiée le %1$s
%1$s vues
Audio
Format audio par défaut
Télécharger
Suivant
- Afficher les vidéos « Suivantes » et « Similaires »
+ Afficher les vidéos « Suivantes » et « Similaires »
URL non pris en charge
Vidéo et audio
Autre
@@ -50,8 +50,8 @@
Dossier de téléchargement audio
Les fichiers audio téléchargés sont stockés ici
Choisissez le dossier de téléchargement des fichiers audio
- Impossible de créer le répertoire de téléchargement « %1$s »
- Répertoire de téléchargement « %1$s » créé
+ Impossible de créer le répertoire de téléchargement « %1$s »
+ Répertoire de téléchargement « %1$s » créé
Erreur
Impossible d’analyser le site web
Contenu indisponible
@@ -231,8 +231,8 @@
Retirer
Détails
Paramètres audios
- Afficher l’astuce « Maintenir pour ajouter »
- Affiche l’astuce lors de l’appui du bouton « Arrière-plan » ou « Mode flottant » sur la page de détails d’une vidéo
+ Afficher l’astuce « Maintenir pour ajouter »
+ Affiche l’astuce lors de l’appui du bouton « Arrière-plan » ou « Mode flottant » sur la page de détails d’une vidéo
[Inconnu]
Récupération depuis l’erreur du lecteur
Kiosque
@@ -348,11 +348,11 @@
\n1. Suivez ce lien : %1$s.
\n2. Connectez-vous à votre compte.
\n3. Un téléchargement va démarrer (celui du fichier d’exportation).
- Veuillez importer un profil SoundCloud en saisissant l’URL de votre profil ou votre identifiant.
-\n
-\n1. Activez le « mode bureau » dans votre navigateur web (le site n’est pas disponible pour les appareils mobiles).
-\n2. Suivez cette URL : %1$s.
-\n3. Connectez-vous à votre compte.
+ Veuillez importer un profil SoundCloud en saisissant l’URL de votre profil ou votre identifiant.
+\n
+\n1. Activez le « mode bureau » dans votre navigateur web (le site n’est pas disponible pour les appareils mobiles).
+\n2. Suivez cette URL : %1$s.
+\n3. Connectez-vous à votre compte.
\n4. Copiez l’URL du profil vers lequel vous venez d’être redirigé.
votre identifiant, soundcloud.com/votreidentifiant
Cette opération peut charger énormément la connexion réseau.
@@ -484,7 +484,7 @@
NewPipe a été fermé alors qu’il travaillait sur le fichier
Aucun espace disponible sur le périphérique
Progression perdue, car le fichier a été effacé
- Êtes-vous sûr \?
+ Voulez-vous effacer l\'historique de téléchargement ou supprimer tous les fichiers téléchargés \?
Limiter la file d’attente de téléchargement
Un téléchargement s’exécutera en même temps
Démarrer les téléchargements
@@ -508,8 +508,8 @@
Kiosque par défaut
Personne ne regarde
- - %s regarde
- - %s regardent
+ - %s spectateur
+ - %s spectateurs
Personne n\'écoute
@@ -535,4 +535,7 @@
Généré automatiquement (pas de téléverseur trouvé)
Activer la vidéo miniaturisée sur l\'écran de verrouillage
En utilisant le lecteur audio, la miniature de la vidéo sera affichée sur l\'écran de verrouillage
+ Effacer l\'historique de téléchargement
+ Supprimer les fichiers téléchargés
+ %1$s téléchargements supprimés
\ No newline at end of file
From 2873f723e88c4c9b41928082e1969df101b19e04 Mon Sep 17 00:00:00 2001
From: Igor Nedoboy
Date: Thu, 16 Jan 2020 20:12:21 +0000
Subject: [PATCH 034/199] Translated using Weblate (Russian)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ru/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 1da98cc74..975a9479b 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -330,7 +330,7 @@
Подогнать
Заполнить
Приблизить
- Созданы автоматически
+ Создано автоматически
Включить LeakCanary
Мониторинг утечки памяти может привести к зависанию приложения
Сообщать об ошибках жизненного цикла
From 5dbab85505a1f20255dcc8cd566057f2fb12221d Mon Sep 17 00:00:00 2001
From: pjammo
Date: Thu, 16 Jan 2020 16:07:08 +0000
Subject: [PATCH 035/199] Translated using Weblate (Italian)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-it/strings.xml | 87 ++++++++++++++------------
1 file changed, 46 insertions(+), 41 deletions(-)
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 4942f4720..9d9241045 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -30,9 +30,9 @@
URL non supportato
Lingua Predefinita per Contenuti
Video e Audio
- Miniatura anteprima video
+ Copertina di anteprima video
Riproduci video, durata:
- Miniatura dell\'immagine di profilo dell\'utente
+ Immagine di profilo dell\'utente
Non mi piace
Mi piace
Impossibile creare la cartella di download \'%1$s\'
@@ -51,7 +51,7 @@
Riproduci
Errore
Errore di connessione
- Impossibile caricare tutte le miniature
+ Impossibile caricare tutte le copertine
Impossibile decriptare la firma dell\'URL del video
Contenuto non disponibile
Usa Tor
@@ -117,19 +117,19 @@
È richiesta la risoluzione del reCAPTCHA
Sì
Più tardi
- Apri in modalità popup
- Modalità popup di NewPipe
- Riproduzione in Modalità Popup
+ Apri in modalità Popup
+ Modalità Popup di NewPipe
+ Riproduzione in modalità Popup
Disattivato
L\'audio potrebbe non essere disponibile per ALCUNE risoluzioni
- In sottofondo
+ In Sottofondo
Popup
Risoluzione Predefinita Popup
Mostra Altre Risoluzioni
Solo alcuni dispositivi supportano la riproduzione video in 2K e 4K
Formato Video Predefinito
Ricorda Dimensione e Posizione Popup
- Ricorda l\'ultima dimensione e posizione della finestra popup
+ Ricorda dimensione e posizione della finestra Popup
Controllo Movimenti Lettore Multimediale
Usa i movimenti per controllare luminosità e volume del lettore multimediale
Suggerimenti Ricerca
@@ -140,8 +140,8 @@
Cancella
Ridimensionamento
Risoluzione migliore
- Questo permesso è necessario
-\nper riprodurre in modalità popup
+ Questo permesso è necessario
+\nper utilizzare il lettore Popup
Impostazioni
Informazioni
Licenze di Terze Parti
@@ -191,7 +191,7 @@
Playlist
Annulla
Notifiche NewPipe
- Notifiche per NewPipe in background e per il lettore a comparsa
+ Notifiche per lettore in Sottofondo e Popup
Nessun risultato
Nessun iscritto
@@ -225,25 +225,25 @@
Top 50
New & hot
Mostra Suggerimento \"Tieni Premuto per Accocodare\"
- Mostra suggerimento quando il pulsante per la riproduzione \"popup\" o \"in sottofondo\" viene premuto nella pagina dei dettagli del video
- In Coda in Sottofondo
- In Coda in Modalità Popup
+ Nella pagina dei dettagli del video, mostra un suggerimento alla pressione dei pulsanti per la riproduzione Popup o in Sottofondo
+ Accoda in Sottofondo
+ Accodato in Popup
Riproduci tutto
Impossibile riprodurre questo flusso
Si è verificato un errore irreversibile
Ripristino dell\'errore del lettore multimediale
- Riproduzione in sottofondo
- Riproduzione in modalità a comparsa
+ Riproduzione in Sottofondo
+ Lettore Popup
Rimuovi
Dettagli
- Impostazioni audio
- Tenere premuto per aggiungere alla coda
+ Impostazioni Audio
+ Tenere premuto per accodare
[Sconosciuto]
- In coda in sottofondo
- In coda nel riproduttore a comparsa
+ Accoda in Sottofondo
+ Accoda in Popup
Inizia la riproduzione qui
Avvia riproduzione in sottofondo
- Avvia riproduzione a comparsa
+ Avvia subito in Popup
Dona
Sito
Visita il sito di NewPipe per informazioni e novità.
@@ -251,9 +251,9 @@
Restituisci
Paese Predefinito per Contenuti
Cambia orientamento
- Passa alla riproduzione in background
+ Passa in Sottofondo
Passa a Popup
- Passa alla produzione predefinita
+ Passa a Principale
Servizio
Apri il menu
Chiudi il menu
@@ -265,8 +265,8 @@
Nessun flusso video trovato
Nessun flusso audio trovato
Lettore video
- Riproduzione in sottofondo
- Riproduzione in modalità popup
+ Riproduzione in Sottofondo
+ Lettore Popup
Raccogliendo informazioni…
Caricamento del contenuto richiesto
Importa database
@@ -298,13 +298,13 @@
Rinomina
Nome
Aggiunti alla playlist
- Imposta come miniatura della playlist
+ Imposta come Copertina della Playlist
Segnalibri playlist
Rimuovi segnalibro
Eliminare la playlist\?
Playlist creata
Aggiunto alla Playlist
- Miniatura della Playlist cambiata.
+ Copertina playlist cambiata.
Impossibile eliminare la Playlist.
Nessun Sottotitolo
Rientrato
@@ -352,7 +352,7 @@
Tieni presente che questa operazione può consumare una grande quantità di traffico dati.
\n
\nVuoi continuare?
- Carica Anteprime
+ Carica Copertine
Disabilita per prevenire il caricamento delle anteprime, risparmiando dati e memoria. La modifica di questa opzione cancellerà la cache delle immagini in memoria e sul disco.
Cache immagini svuotata
Pulisci Cache Metadati
@@ -393,11 +393,11 @@
Avanzamento veloce durante il silenzio
Step
Reset
- Minimizza al cambio dell\'applicazione
- Azione quando si passa ad un\'altra app dal lettore video principale — %s
- Nessuna
- Minimizza al lettore in sottofondo
- Minimizza al lettore popup
+ Riduci Cambiando App
+ Azione da eseguire cambiando app dal lettore video principale — %s
+ Niente
+ Riduci in Sottofondo
+ Riduci a Popup
Canali
Playlist
Tracce
@@ -423,7 +423,7 @@
Selezione
Aggiornamenti
Mostra una notifica per suggerire l\'aggiornamento dell\'app se una nuova versione è disponibile
- Visualizzazione a lista
+ Modalità Visualizzazione Lista
Lista
Griglia
Automatica
@@ -433,14 +433,14 @@
Finito
In attesa
in pausa
- in coda
+ accodato
post-processo
Accoda
Azione negata dal sistema
Download fallito
Download terminato
%s download terminati
- Genera un nome unico
+ Genera Nome Univoco
Sovrascrivi
Esiste già un file scaricato con lo stesso nome
C\'è un download in corso con questo nome
@@ -484,11 +484,11 @@
File spostato o cancellato
Esiste già un file con questo nome
impossibile sovrascrivere il file
- C\'è un download in corso con questo nome
+ C\'è un download in attesa con questo nome
NewPipe è stato chiuso mentre lavorava sul file
Spazio insufficiente sul dispositivo
Progresso perso poiché il file è stato eliminato
- Sei sicuro\?
+ Pulire la cronologia dei download o eliminare tutti i file scaricati\?
Sarà avviato un solo dowload per volta
Avvia downloads
Metti in pausa i downloads
@@ -519,10 +519,10 @@
Contenuti in Evidenza Predefiniti
Durata Avanzamento e Riavvolgimento Rapidi
Istanze PeerTube
- Imposta le tue istanze PeerTube preferite
- Trova le istanze più adatte a te su https://joinpeertube.org/instances#instances-list
+ Seleziona le istanze PeerTube preferite
+ Trova le istanze più adatte a te su %s
Aggiungi Istanza
- Inserisci URL Istanza
+ Inserisci URL istanza
Impossibile convalidare l\'istanza
Sono supportati solo gli URL HTTPS
L\'istanza esiste già
@@ -533,4 +533,9 @@
recupero
Impossibile recuperare questo download
Scegli un\'Istanza
+ Abilita Copertine sulla Schermata di Blocco
+ Durante la riproduzione in sottofondo, verrà mostrata la copertina del video sulla schermata di blocco
+ Svuota Cronologia Download
+ Elimina File Scaricati
+ %1$s download eliminati
\ No newline at end of file
From 1c53b22239b1ef4595a68a7f19390b86b206947a Mon Sep 17 00:00:00 2001
From: ssantos
Date: Wed, 15 Jan 2020 20:13:19 +0000
Subject: [PATCH 036/199] Translated using Weblate (Portuguese)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-pt/strings.xml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 98b85bcab..7d3fb68e3 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -487,7 +487,7 @@
Não há espaço disponível no dispositivo
Progresso perdido, porque o ficheiro foi eliminado
Tempo limite de conexão
- Tem a certeza\?
+ Quer limpar o seu histórico de descarregamentos ou apagar todos os ficheiros descarregados\?
Limitar a fila de transferências
Uma transferências será executada ao mesmo tempo
Iniciar transferências
@@ -534,4 +534,7 @@
Escolha uma instância
Ativar miniatura do vídeo no ecrã de bloqueio
Ao usar o reprodutor de fundo, uma miniatura de vídeo será exibida no ecrã de bloqueio
+ Limpar histórico de descarregamentos
+ Apagar ficheiros descarregados
+ %1$s descarregamentos apagados
\ No newline at end of file
From 9c9a432ea0240d33d43a9733ec08251c1c824b91 Mon Sep 17 00:00:00 2001
From: Osoitz
Date: Sat, 18 Jan 2020 11:53:19 +0000
Subject: [PATCH 037/199] Translated using Weblate (Basque)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-eu/strings.xml | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index b376f1f6d..7563e1be5 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -488,7 +488,7 @@
NewPipe itxi egin da fitxategian lanean zegoela
Ez dago lekurik gailuan
Progresioa galdu da, fitxategia ezabatu delako
- Ziur al zaude\?
+ Zure deskargen historiala garbitu nahi duzu ala deskargatutako fitxategi guztiak ezabatu\?
Mugatu deskargen ilara
Deskarga bakarra aldi berean
Hasi deskargak
@@ -533,4 +533,9 @@
berreskuratzen
Ezin da deskarga hau berreskuratu
Aukeratu instantzia
+ Gaitu bideoaren iruditxoa blokeo pantailan
+ Bigarren planoko erreproduzigailua erabiltzean bideoaren iruditxo bat bistaratuko da blokeo pantailan
+ Garbitu deskargen historiala
+ Ezabatu deskargatutako fitxategiak
+ %1$s deskarga ezabatuta
\ No newline at end of file
From 36c4063db681c8769ed31d75a9d42f796badec88 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Fri, 17 Jan 2020 08:55:28 +0000
Subject: [PATCH 038/199] Translated using Weblate (Esperanto)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-eo/strings.xml | 63 ++++++++++++++------------
1 file changed, 33 insertions(+), 30 deletions(-)
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index 224e8837e..c6ce250e6 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -4,14 +4,14 @@
Eldonita je %1$s
Instali
Nuligi
- Malfermi per krozilo
+ Malfermi en retumilo
Konigi
Elŝuti
Serĉi
Agordoj
Ĉu vi signifis: %1$s\?
Konigi kun
- Elekti krozilon
+ Elekti retumilon
turno
Uzi eksteran filmetoludilon
Uzi eksteran sonludilon
@@ -66,7 +66,7 @@
Signali eraron
Filmeto
Reprovi
- Premu serĉo por komenci
+ Premi serĉon por komenci
Neniu elsendlflua ludilo trovita (instalu VLC por ludi ĝin).
Malfermi en ŝprucfenestron modon
Forigas aŭdon ĉe KELKAJ rezolucioj
@@ -144,7 +144,7 @@
Konservi la historio de serĉo lokale
Rigardu historion
Spuri la viditajn filmetojn
- Newpipe Sciifo
+ NewPipe Sciigo
Sciigoj por NewPipe fono kaj ŝprucfenestroj ludiloj
Ludilo
Konduto
@@ -159,7 +159,7 @@
Montri indikon kiam la fono aŭ ŝprucfenestro butono estas premita en la retpaĝo de dalatadoj de la filmeto
Viciĝita en la ludilo en fono
Viciĝita en ŝprucfenestro ludilo
- Ludi ĉiuj
+ Ludi ĉiujn
Ne povis ludi tion torenton
Neatendebla eraro de ludilo okazis
Reakiri el eraro de la ludilo
@@ -180,7 +180,7 @@
Ŝangi al Ĉefa
Servo
Ĉiam
- Nur unfoje
+ Nur unufoje
Nevalida ligilo
Neniuj filmeta torentoj trovitaj
Neniuj sonaj torentoj trovis
@@ -191,18 +191,18 @@
Eksporti historion, abonojn kaj ludlistoj
Ĉiam peti
Nova ludlisto
- Forigi
+ Forviŝi
Alinomi
Nomo
Aldoni al la ludlisto
Meti kiel bildeto de ludlisto
Legosigno Ludlisto
- Forigi Legosignon
- Ĉu forigi ĉi tiun ludliston \?
+ Forviŝi Legosignon
+ Ĉu forviŝi ĉi tiun ludliston \?
Ludlisto kreita
Ludlistita
Bildeto de ludlisto ŝanĝiĝita.
- Ne povis forigi ludlisto.
+ Ne povis forviŝi ludliston.
Malcimigi
Auto-vico sekva fluo
Aŭto-aldoni rilatan enhavon kiam ludanta la lasta enhavo en malrepetita atendovico
@@ -218,7 +218,7 @@
\n3. Elŝuto devus komenci (ĝi estas la dosiero de eksporto)
Importu Soundcloud-n profilon tajpante ĉu la ligilon, ĉu vian ID :
\n
-\n1. Ebligu komputilon modon en krozilo (la retejo malhaveblas por poŝtelefonoj)
+\n1. Ebligu komputilon modon en retumilon (la retejo malhaveblas por poŝtelefonoj)
\n2. Iru tien: %1$s
\n3. Ensalutu kiam oni petas vin
\n4. Kopiu la ligilon de profilo ke oni kondikis vin.
@@ -252,7 +252,7 @@
Ĝisdatigoj
Dosiero forviŝita
Sciigo por ĝisdatigi apon
- Sciigo por nova versio de Newpipe
+ Sciigo por nova versio de NewPipe
Ekstera konservejo malhavebla
Elŝuti al ekstera SD-karto ne eblas. Ĉu vi volas restarigi la elŝutan dosierujon \?
viciĝita
@@ -281,7 +281,7 @@
Ludaj pozicioj forviŝitaj.
Dosiero movita aŭ forviŝita
ne povas dispremi la dosieron
- Ĉu vi certas\?
+ Ĉu vi volas forviŝi vian historion de elŝutoj aŭ forviŝi la tutajn elŝutitajn dosierojn\?
Limigi la elŝutan atendovicon
Unu elŝuto ruliĝos en la sama tempo
Komenci elŝutojn
@@ -307,7 +307,7 @@
Komenci
Paŭzigi
Ludi
- Forigi
+ Forviŝi
Kontrolsumo
Nova misio
Bone
@@ -341,7 +341,7 @@
Permesiloj
Rigardu ĉe GitHub
Permesilo de NewPipe
- Ĉu vi havas ideojn pri; traduko, desegnaĵoj ŝanĝoj, purigado de kodo, aŭ realaj masivaj ŝanĝoj—helpo estas ĉiam bonvena. Ju pli oni faras, des pli bonas!
+ Ĉu vi havas ideojn pri; traduko, desegnaĵoj ŝanĝoj, purigado de kodo, aŭ realaj masivaj ŝanĝoj—helpo ĉiam estas bonvena. Ju pli oni faras, des pli bonas!
Legi permesilon
Kontribui
Permesitaj karakteroj en dosiernomoj
@@ -353,7 +353,7 @@
La historio estas malŝatita
Historio
La historio estas malplena
- Historio vakigita
+ Historio forviŝita
Neniuj rezultoj
Neniu enhavo
Neniuj abonantoj
@@ -377,10 +377,10 @@
Komenci ludi ĉi tie
Komenci ludi fone
Donaci
- NewPipe estas programada par volontuoj, elspezante tempo por alporti vin la plej bona sperto. Redonu por helpi programistojn plibonigi NewPipe dum ĝuante tason da kafo.
+ NewPipe estas programadita par volontuoj, elspezante tempo por alporti vin la plej bona sperto. Redoni por helpi programistojn plibonigi NewPipe dum ĝuante tason da kafo.
Redoni
Retejo
- Vizitu la retejon de NewPipe por pli da informoj kaj novaĵoj.
+ Viziti la retejon de NewPipe por pli da informoj kaj novaĵoj.
Malfermi la tirkeston
Fermi la tirtekston
Ekstaraj ludantoj ne suportas tiajn ligilojn
@@ -395,8 +395,8 @@
Ĉi tio nuligos vian nunan aranĝon.
Trenu por reorgidi
Krei
- Forigi Unu
- Forigi ĉiujn
+ Forviŝi Unu
+ Forviŝi ĉiujn
Rezigni
Alinomi
Ĉu vi volas forviŝi tion eron el la spekta historio \?
@@ -440,11 +440,11 @@
NewPipe estas programaro sub rajtoceda permesilo: Vi povas uzi, studi, komuniki kaj plibonigi ĝin kiel vi volas. Precize, vi povas redistribui kaj/aŭ modifi ĝin sub la kondiĉoj de la Ĝenerala Publika Permesilo de GNU, kiel publikigita per la Free Software Foundation, ĉu en la versio 3, ĉu (se vi volas) ajna posta versio.
Ĉu vi volas ankaŭ importi agordojn\?
Privateca politiko de NewPipe
- La NewPipe projekto serioze respektas vian privatecon. Konsekvence, la apo ne kolektas ajnan datumo sen via konsento.
-\nLa privateco politiko de Newpipe detale eksplikas kion datumon estas sendita kaj stokita kiam vi sendas falegosignalon.
+ La NewPipe projekto serioze respektas vian privatecon. Konsekvence, la apo ne kolektas ajnan datumon sen via konsento.
+\nLa privateco politiko de NewPipe detale eksplikas kion datumon estas sendita kaj stokita kiam vi sendas falegosignalon.
Legi la privatecan politikon
Por konformiĝi al la Ĝenerala Datum-Protekta Regularon (GDPR), ni allogas vian atenton al la privateca politiko de NewPipe. Bonvolu atentive legi ĝin.
-\nVi devas akcepti ĝin por sendi nin la cimsignalo.
+\nVi devas akcepti ĝin por sendi la cimsignalon al ni.
Akcepti
Rifuzi
Neniu limo
@@ -468,8 +468,8 @@
Krado
Aŭto
Ŝanĝi vidon
- Ĝisdatigo de NewPipe havebla !
- Premu por elŝuti
+ Ĝisdatigo de NewPipe havebla!
+ Premi por elŝuti
Finita
Pritraktata
Paŭzigita
@@ -507,8 +507,8 @@
Defaŭlta Kiosko
Neniu spektas
- - %s spektanta
- - %s spektanta
+ - %s spektanto
+ - %s spektantoj
Neniu aŭskultas
@@ -525,13 +525,16 @@
Ne povis validigi instanco
Nur HTTPS ligiloj estas subtenitaj
La instanco jam ekzistas
- Loka
- Freŝdate ĝisdatigita
- La plej ŝatitatj
+ Lokaj
+ Freŝe aldonitaj
+ La plej ŝatitaj
Aŭtomate generita (neniu alŝutilo trovita)
Reakiranta
Ne povas reakiri tion elŝuton
Elektu instancon
Enablu bildeta filmeton ĉe ŝlosita ekrano
Uzante la fona ludilo, bildeta filmeto vidiĝos ĉe ŝlosita ekrano
+ Forviŝi la historion de elŝutoj
+ Forviŝi elŝutitajn dosierojn
+ %1$s elŝutoj forviŝitaj
\ No newline at end of file
From 84dd1a688eb5d7329289384b00bc2460e84c6aea Mon Sep 17 00:00:00 2001
From: zeritti
Date: Fri, 17 Jan 2020 21:40:15 +0000
Subject: [PATCH 039/199] Translated using Weblate (Czech)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-cs/strings.xml | 35 ++++++++++++++++++++------
1 file changed, 28 insertions(+), 7 deletions(-)
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 66c952a26..548358473 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -143,7 +143,7 @@ otevření ve vyskakovacím okně
Zobrazovat návrhy při vyhledávání
Historie vyhledávání
Hledané výrazy lokálně uchovávat
- Historie zhlédnutí
+ Historie sledování
Evidovat zhlédnutá videa
Přehrávat po přechodu do popředí
Pokračovat v přehrávání po přerušení (např. hovor)
@@ -319,7 +319,7 @@ otevření ve vyskakovacím okně
Povolit službu LeakCanary
Monitoring úniku paměti může způsobit nereagování aplikace při heap dumpingu
Nahlásit mimo-cyklické chyby
- Vynutit vykazování výjimek Rx mimo fragment nebo životnost cyklu po odstranění
+ Vynutit hlášení nedoručitelných výjimek Rx mimo fragment nebo trvání činnosti po odstranění
Použít rychlé nepřesné hledání
Nepřesné hledání umožní přehrávači posouvat se rychleji, ale se sníženou přesností
Načítat náhledy
@@ -365,7 +365,7 @@ otevření ve vyskakovacím okně
\n
\nChcete pokračovat?
Ovládání rychlosti přehrávání
- Rychlost
+ Tempo
Výška tónu
Rozpojit (může způsobit zkreslení)
Výchozí nastavení
@@ -483,8 +483,8 @@ otevření ve vyskakovacím okně
Zavřít
Stahování na externí SD kartu není možné. Resetovat umístění složky pro stahování\?
Pokračovat v přehrávání
- Obnovit poslední přehrávanou pozici
- Pořadí v seznamech
+ Obnovit poslední pozici přehrávání
+ Pozice v seznamech
Vymazat data
Soubor přemístěn nebo smazán
soubor nelze přepsat
@@ -492,7 +492,7 @@ otevření ve vyskakovacím okně
NewPipe byl ukončen v průběhu zpracovávání souboru
V zařízení nezbývá žádné místo
Postup ztracen, protože soubor byl smazán
- Jste si jisti\?
+ Jste si jisti smazáním své historie stahování nebo smazáním všech stažených souborů\?
Omezit frontu stahování
Najednou se bude stahovat pouze jeden soubor
Začít stahování
@@ -504,7 +504,7 @@ otevření ve vyskakovacím okně
Použít SAF
Storage Access Framework umožňuje stahovat na externí SD kartu.
\nUpozornění: některá zařízení jsou nekompatibilní
- Ukázat poziční indikátory playbacku v seznamech
+ Zobrazit pozici přehrávání v seznamech
Pozice playbacku smazány.
Timeout spojení
Smazat pozice playbacku
@@ -526,4 +526,25 @@ otevření ve vyskakovacím okně
Ke změně jazyka dojde po restartu aplikace.
Výchozí kiosek
+ Délka přetočení vpřed/zpět
+ Instance PeerTube
+ Vybrat oblíbené instance PeerTube
+ Vyhledat nejvhodnější instance na %s
+ Přidat instanci
+ Zadat URL instance
+ Instanci nebylo možno potvrdit
+ Podporujeme pouze URL s HTTPS
+ Instance již existuje
+ Místní
+ Přidány nedávno
+ Nejoblíbenější
+ Autogenerovány (uploader nenalezen)
+ obnovuji
+ Toto stahování nelze obnovit
+ Vyberte instanci
+ Zapnout náhled videa na zamknuté obrazovce
+ Hraje-li video na pozadí, náhled videa se ukáže na zamknuté obrazovce
+ Smazat historii stahování
+ Smazat stažené soubory
+ Smazat %1$s stahování
\ No newline at end of file
From de1a92539a658e77bbbc59716c40be4a38c48d22 Mon Sep 17 00:00:00 2001
From: thami simo
Date: Thu, 16 Jan 2020 04:11:00 +0000
Subject: [PATCH 040/199] Translated using Weblate (Arabic)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ar/strings.xml | 62 ++++++++++++++------------
1 file changed, 34 insertions(+), 28 deletions(-)
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index b1dad5672..02f79c8ab 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -20,7 +20,7 @@
يتم تخزين ملفات الفيديو التي تم تنزيلها هنا
مجلد تحميل الفيديو
"لا يمكن إنشاء مجلد للتنزيلات في '%1$s'"
- دليل التنزيل الذي تم إنشاؤه \'%1$s\'
+ إنشاء دليل التحميل \'%1$s\'
تثبيت
تطبيق Kore غير موجود. هل تريد تثبيته ؟
مضيء
@@ -42,7 +42,7 @@
مشاركة
مشاركة بواسطة
عرض مقاطع الفيديو \"التالية\" و \"المشابهة\"
- عرض خيارات تشغيل الفيديو من خلال مركز كودي ميديا
+ اعرض خيار لتشغيل الفيديو عبر مركز وسائط Kodi
عرض خيار التشغيل بواسطة كودي
السمة
تم النشر يوم %1$s
@@ -57,7 +57,7 @@
خطأ
تعذرت عملية تحليل الموقع
تعذر فك تشفير توقيع رابط الفيديو
- اضغط بحث للبدء
+ انقر فوق بحث لتبدأ
اشتراك
مشترك
الرئيسية
@@ -69,8 +69,8 @@
مراقبة السجل
التاريخ و ذاكرة التخزين المؤقت
محتوى
- الملفات المحملة
- الملفات المحملة
+ التحميلات
+ التحميلات
الجميع
القناة
الفيديو
@@ -80,7 +80,7 @@
التاريخ
التاريخ
فتح في وضع منبثق
- إزالة الصوت في بعض مستوى الدقة
+ يزيل الصوت في بعض القرارات
وضع النوافذ المنبثقة NewPipe
تم إلغاء الاشتراك في القناة
تعذر تغيير حالة الاشتراك
@@ -113,7 +113,7 @@
محتوى مقيد بحسب العمر
"إظهار الفيديو المقيد بحسب العمر. يمكن السماح باستخدام هذه المواد من \"الإعدادات\"."
بث مباشر
- تقرير عن مشكلة
+ تقرير خطأ
قائمة التشغيل
نعم
لاحقاً
@@ -155,15 +155,15 @@
تم رفض إذن الوصول إلى التخزين
ألف
مليون
- G
+ B
ليس هناك مشترِكون
- - %s لا يوجد مشاركين
+ - %s لا يوجد مشترك
- %s مشترك
- - %s مشاريكان
- - %s اشتراكات
- - %s مشاركون
- - %s اشتراك
+ - %s المشتركين
+ - %s المشتركين
+ - %s المشتركين
+ - %s المشتركين
دون مشاهدات
لاتوجد فيديوهات
@@ -200,7 +200,7 @@
فتح الموقع
المساهمون
التراخيص
- تطبيق مجاني خفيف الوزن وبث حي على نظام أندرويد.
+ تطبيق مجاني خفيف البث على أندرويد.
ساهم
إذا كانت لديك أفكار؛ أو ترجمة، أو تغييرات تخص التصميم، أو تنظيف و تحسين الشفرة البرمجية ، أو تعديلات عميقة عليها، فتذكر أنّ مساعدتك دائما موضع ترحيب. وكلما أتممنا شيئا كلما كان ذلك أفضل !
عرض على GitHub
@@ -238,12 +238,12 @@
تحدي الكابتشا
ضغط مطول للإدراج الى قائمة الانتظار
- - %s بدون مشهد
- - %s شاهد
- - %s مشاهدتان
- - %s مشاهدات
- - %s مشاهدون
- - %s شاهدو
+ - %s بدون مشهادة
+ - %s مشاهدة
+ - %s مشاهدة
+ - %s مشاهدة
+ - %s مشاهدة
+ - %s مشاهدة
- فيديوهات
@@ -425,7 +425,7 @@
تتبيه تحديث التطبيق
إيماءة التحكم بالصوت
الأحداث
- إخطارات لنسخة NewPipe الجديدة
+ الإخطارات لإصدار NewPipe الجديد
وحدة التخزين الخارجية غير متوفرة
"التنزيل على بطاقة SD الخارجية غير ممكن. إعادة تعيين موقع مجلد التحميل؟"
باستخدام علامات التبويب الافتراضية ، خطأ أثناء قراءة علامات التبويب المحفوظة
@@ -449,7 +449,7 @@
متوقف
في قائمة الانتظار
قيد المعالجة
- قائمه انتظار
+ طابور
تم رفضها من قبل النظام
فشل التنزيل
تم الانتهاء من التحميل
@@ -504,7 +504,7 @@
لم يتبقى مساحة في الجهاز
تم فقد التقدم بسبب حذف الملف
انتهى وقت الاتصال
- هل أنت واثق؟
+ هل تريد محو سجل التنزيل أو حذف جميع الملفات التي تم تنزيلها؟
حد قائمة انتظار التنزيل
سيتم تشغيل تنزيل واحد في نفس الوقت
بدء التنزيلات
@@ -542,11 +542,11 @@
تسريع إلى الأمام/-ترجيع وقت البحث
مثيلات خوادم پيرتيوب
- عيّن مثيلات خوادم پيرتيوب التي تُفضّلها
+ حدد مثيلات PeerTube المفضلة لديك
إضافة نموذج
- أدخل رابط مثيل الخادم
- فشل في التحقق من مثيل الخادم
- فقط عناوين https المدعومة
+ أدخل عنوان URL للمثيل
+ لا يمكن التحقق من صحة المثال
+ يتم دعم عناوين URL HTTPS فقط
مثيل الخادم موجود بالفعل
محلي
أضيف مؤخرا
@@ -554,5 +554,11 @@
تم إنشاؤه-تلقائيًا (لم يتم العثور على برنامج تحميل)
استرد
لا يمكن استرداد هذا التنزيل
- اختيار مثيل خادم
+ اختيار مثيل
+ ابحث عن الحالات التي تناسبك على %s
+ تمكين صور مصغرة قفل شاشة فيديو
+ عند استخدام مشغل الخلفية ، سيتم عرض صورة مصغرة للفيديو على شاشة القفل
+ تنظيف تاريخ التحميل
+ حذف الملفات التي تم تنزيلها
+ التنزيلات %1$s المحذوفة
\ No newline at end of file
From 7e9345680578174a24043e89fb47eebb03600fd2 Mon Sep 17 00:00:00 2001
From: zmni
Date: Fri, 17 Jan 2020 16:25:26 +0000
Subject: [PATCH 041/199] Translated using Weblate (Indonesian)
Currently translated at 99.8% (526 of 527 strings)
---
app/src/main/res/values-id/strings.xml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
index 8677df678..dd8413be8 100644
--- a/app/src/main/res/values-id/strings.xml
+++ b/app/src/main/res/values-id/strings.xml
@@ -480,7 +480,7 @@
NewPipe telah ditutup saat sedang memproses berkas
Tidak ada ruang kosong tersisa pada perangkat
Kehilangan laju, karena berkas telah dihapus
- Apakah anda yakin\?
+ Apakah anda yakin ingin menghapus semua riwayat unduhan dan berkas yang telah diunduh\?
Batasi antrean unduhan
Satu unduhan akan berjalan pada waktu yang bersamaan
Mulai unduh
@@ -527,4 +527,8 @@
Pilih situs
Aktifkan kunci layar thumbnail video
Ketika menggunakan pemutar latar belakang, thumbnail video akan ditampilkan di tampilan kunci layar
+ Kiosk Default
+ Hapus riwayat unduhan
+ Hapus berkas yang diunduh
+ %1$s unduhan dihapus
\ No newline at end of file
From 366c55c8f49b9578b5ef6fcfe9ff1d2aa01bfc6a Mon Sep 17 00:00:00 2001
From: B0pol
Date: Fri, 17 Jan 2020 09:02:16 +0000
Subject: [PATCH 042/199] Translated using Weblate (Polish)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-pl/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 0da89ad48..4d2b38b5f 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -543,5 +543,5 @@
Podczas korzystania z odtwarzacza w tle na ekranie blokady zostanie wyświetlona miniatura filmu
Wyczyść historię pobierania
Usuń pobrane pliki
- Usunięte% 1$s pobrania
+ Usunięte %1$s pobrania
\ No newline at end of file
From 4797cd91840a51e26728a97d111af002282da97c Mon Sep 17 00:00:00 2001
From: Matsuri
Date: Sat, 18 Jan 2020 03:50:06 +0000
Subject: [PATCH 043/199] Translated using Weblate (Chinese (Simplified))
Currently translated at 98.5% (519 of 527 strings)
---
.../main/res/values-b+zh+HANS+CN/strings.xml | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml
index 078379683..4538fc184 100644
--- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml
+++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml
@@ -130,8 +130,8 @@
没有结果
没有订阅者
- - %s个订阅者
-
+ - %s 位订阅者
+
没有视频
拖动以重新排序
@@ -410,8 +410,8 @@
NewPipe 项目非常重视您的隐私。因此,未经您的同意,应用程序不会收集任何数据。
\nNewPipe 的隐私政策详细解释了在发送崩溃报告时发送和存储的数据。
阅读隐私政策
- 为了遵守欧洲一般数据保护条例 (GDPR),我们提请您注意 NewPipe 的隐私政策。请仔细阅读。
-\n您必须接受它才能向我们发送错误报告。
+ 为了遵守欧盟的《通用数据保护条例》(GDPR),我们特此提醒您注意 NewPipe 的隐私政策。请您仔细阅读。
+\n您必须在同意以后才能向我们发送错误报告。
接受
拒绝
无限制
@@ -504,15 +504,15 @@
删除所有播放位置记录?
更改下载目录让内容生效
『时下流行』页-默认
- 无人在线观看
+ 没有人在观看
- %s 人在观看
- 没人在听
+ 没有人在听
- %s 人在听
-
+
重新启动应用后,语言将更改。
PeerTube 服务器
@@ -531,8 +531,8 @@
无法恢复此下载
选择一个服务器
快进 / 快退的单位时间
- 在锁屏界面显示视频缩略图
- 在后台播放时,锁屏界面将会显示视频的缩略图
+ 在锁屏上显示视频缩略图
+ 在后台播放时,锁屏上将会显示视频的缩略图
清除下载历史记录
删除下载了的文件
已删除 %1$s 下载
From 62906fb84a294fd847274b0f7e9ed10136915bfe Mon Sep 17 00:00:00 2001
From: Jeff Huang
Date: Fri, 17 Jan 2020 03:52:10 +0000
Subject: [PATCH 044/199] Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-zh-rTW/strings.xml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 6cb16623f..b82736f90 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -480,7 +480,7 @@
NewPipe 在處理檔案時被關閉
裝置上沒有剩餘的空間
進度遺失,因為檔案已被刪除
- 您確定?
+ 您想要清除您的下載歷史紀錄或刪除所有已下載的檔案嗎?
限制下載佇列
一次執行一個下載
開始下載
@@ -531,4 +531,7 @@
選擇一個站臺
啟用鎖定畫面影片縮圖
使用背景播放器時,鎖定畫面上將會顯示影片縮圖
+ 清除下載歷史紀錄
+ 刪除已下載的檔案
+ 已刪除 %1$s 個下載
\ No newline at end of file
From b6028cef5bf2df810774396cd1e19ef316a18785 Mon Sep 17 00:00:00 2001
From: MohammedSR Vevo
Date: Fri, 17 Jan 2020 16:14:04 +0000
Subject: [PATCH 045/199] Translated using Weblate (Kurdish)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ku/strings.xml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml
index 50350e1b3..b6d8bb877 100644
--- a/app/src/main/res/values-ku/strings.xml
+++ b/app/src/main/res/values-ku/strings.xml
@@ -517,7 +517,7 @@
بیرگەی ناوەکیت پڕبووە
کردارەکە شکستی هێنا, چونکە ئەو فایلە سڕاوەتەوە
هێڵی ئینتەرنێت نەما
- ئایا دڵنیای؟
+ ئایا دەتەوێ مێژووی داگرتنەکانت بسڕدرێنەوە یان هەموو فایلە داگیراوەکان بسڕدرێنەوە؟
سنوری ڕیزبوونی داگرتنەکان
تەنها یەک داگرتن کاردەکات لەیەک کاتدا
دەستپێکردنەوەی داگرتنەکان
@@ -538,4 +538,7 @@
دۆخێک هەڵبژێرە
چالاککردنی وێنۆچکەی ڤیدیۆی داخستنی ڕوونما
کاتێ کارپێکەری پاشبنەما کاردەکات ئەوا وێنۆچکەی ڤیدیۆکە لە ڕوونما داخراوەکەدا نیشاندەدرێت
+ سڕینەوەی مێژووی داگرتن
+ سڕینەوەی فایلە داگیراوەکان
+ %1$ لە داگرتنەکان سڕانەوە
\ No newline at end of file
From 0e39071b5e19df627b416cdf1aae143f125bb99c Mon Sep 17 00:00:00 2001
From: B0pol
Date: Fri, 17 Jan 2020 23:18:47 +0000
Subject: [PATCH 046/199] Translated using Weblate (Urdu)
Currently translated at 94.3% (497 of 527 strings)
---
app/src/main/res/values-ur/strings.xml | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 724c9c3ed..d885cb915 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -1,7 +1,7 @@
شروع کرنے کے لیے تلاش پر ٹیپ کریں
- ملاحظات
+ ملاحظات s$1%
کوشائع ہوا
انسٹال
منسوخ کریں
@@ -193,13 +193,13 @@
بی
کوئی صارفین نہیں
- - s% صارف
- - s% صارفین
+ - %s صارف
+ - %s صارفین
کوئی مناظر نہیں
- - s% منظر
- - s% مناظر
+ - %s منظر
+ - %s مناظر
ویڈیوز دستیاب نہیں
@@ -306,7 +306,7 @@
دراز بند کریں
یہاں جلد ہی کچھ نظر آئے گا D D
ترجیح \' کھلی \' عمل
- مواد کھولنے پر ڈیفالٹ کارروائی — s%
+ مواد کھولنے پر ڈیفالٹ کارروائی — %s
ویڈیو پلیئر
پس منظر پلیئر
پوپ اپ پلیئر
@@ -437,7 +437,7 @@
سسٹم نےکارروائی سے انکار کیا گیا
ڈاؤن لوڈ ناکام
ڈاؤن لوڈ تکمیل
- s% ڈاؤن لوڈ مکمل ہوگئے
+ %s ڈاؤن لوڈ مکمل ہوگئے
منفرد نام بنائیں
برتحریر
اس نام کے ساتھ ایک ڈاؤن لوڈ جاری ہے
From cf60033424888963c07a3327913d8371a0dafe95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Thu, 16 Jan 2020 05:28:38 +0000
Subject: [PATCH 047/199] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?=
=?UTF-8?q?an=20Bokm=C3=A5l)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Currently translated at 96.4% (508 of 527 strings)
---
app/src/main/res/values-nb-rNO/strings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml
index d01647f5d..0c4ee8dde 100644
--- a/app/src/main/res/values-nb-rNO/strings.xml
+++ b/app/src/main/res/values-nb-rNO/strings.xml
@@ -524,6 +524,6 @@
Tøm nedlastingshistorikk
Slett nedlastede filer
Slettet %1$s nedlastninger
- Aktiver videominiatyrbilde med låseskjerm
- Når du bruker bakgrunnsspilleren, vises en videominiaturbilde på låseskjermen
+ Aktiver videominiatyrbilde på låseskjerm
+ Når du bruker bakgrunnsspilleren, vises ent videominiatyrbilde på låseskjermen
\ No newline at end of file
From afc362d2b613773df1896dbb1a3f6179f2d7beb6 Mon Sep 17 00:00:00 2001
From: kapodamy
Date: Mon, 20 Jan 2020 23:33:30 -0300
Subject: [PATCH 048/199] readability changes
---
.../java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
index e20b06352..6f1cceeed 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
@@ -34,7 +34,7 @@ public class SrtFromTtmlWriter {
private static String getTimestamp(Element frame, String attr) {
return frame
.attr(attr)
- .replace('.', ',');// Str uses comma as decimal separator
+ .replace('.', ',');// SRT subtitles uses comma as decimal separator
}
private void writeFrame(String begin, String end, StringBuilder text) throws IOException {
@@ -69,7 +69,7 @@ public class SrtFromTtmlWriter {
Document doc = Jsoup.parse(new ByteArrayInputStream(buffer), "UTF-8", "", Parser.xmlParser());
StringBuilder text = new StringBuilder(128);
- Elements paragraph_list = doc.select("body>div>p");
+ Elements paragraph_list = doc.select("body > div > p");
// check if has frames
if (paragraph_list.size() < 1) return;
From 0ed3354cee6e4e3021263ecdd1b2253dfe144838 Mon Sep 17 00:00:00 2001
From: Xiang Rong Lin <41164160+XiangRongLin@users.noreply.github.com>
Date: Tue, 21 Jan 2020 20:56:06 +0100
Subject: [PATCH 049/199] Use custom dialog to edit and delete local playlists
at once
---
.../local/bookmark/BookmarkFragment.java | 73 +++++--------------
.../newpipe/local/dialog/BookmarkDialog.kt | 47 ++++++++++++
app/src/main/res/layout/dialog_bookmark.xml | 51 +++++++++++++
app/src/main/res/values/strings.xml | 1 +
4 files changed, 118 insertions(+), 54 deletions(-)
create mode 100644 app/src/main/java/org/schabi/newpipe/local/dialog/BookmarkDialog.kt
create mode 100644 app/src/main/res/layout/dialog_bookmark.xml
diff --git a/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java b/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
index 6a7f16025..bfd90acda 100644
--- a/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
@@ -1,13 +1,9 @@
package org.schabi.newpipe.local.bookmark;
import android.app.AlertDialog;
-import android.content.DialogInterface;
-import android.content.res.Resources;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Log;
-import android.widget.EditText;
-import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentManager;
@@ -26,6 +22,7 @@ import org.schabi.newpipe.database.playlist.PlaylistLocalItem;
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry;
import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity;
import org.schabi.newpipe.local.BaseLocalListFragment;
+import org.schabi.newpipe.local.dialog.BookmarkDialog;
import org.schabi.newpipe.local.playlist.LocalPlaylistManager;
import org.schabi.newpipe.local.playlist.RemotePlaylistManager;
import org.schabi.newpipe.report.UserAction;
@@ -124,34 +121,7 @@ public final class BookmarkFragment
@Override
public void held(LocalItem selectedItem) {
if (selectedItem instanceof PlaylistMetadataEntry) {
- final Resources resources = getContext().getResources();
- String[] commands = new String[]{
- resources.getString(R.string.rename_playlist),
- resources.getString(R.string.delete_playlist)
- };
-
- final DialogInterface.OnClickListener actions = (dialogInterface, i) -> {
- switch (i) {
- case 0:
- showLocalRenameDialog((PlaylistMetadataEntry) selectedItem);
- break;
- case 1:
- showLocalDeleteDialog((PlaylistMetadataEntry) selectedItem);
- break;
- }
- };
-
- final View bannerView = View.inflate(activity, R.layout.dialog_title, null);
- bannerView.setSelected(true);
- TextView titleView = bannerView.findViewById(R.id.itemTitleView);
- titleView.setText(((PlaylistMetadataEntry) selectedItem).name);
-
- new AlertDialog.Builder(getActivity())
- .setCustomTitle(bannerView)
- .setItems(commands, actions)
- .create()
- .show();
-
+ showLocalDialog((PlaylistMetadataEntry) selectedItem);
} else if (selectedItem instanceof PlaylistRemoteEntity) {
showRemoteDeleteDialog((PlaylistRemoteEntity) selectedItem);
}
@@ -279,14 +249,27 @@ public final class BookmarkFragment
// Utils
///////////////////////////////////////////////////////////////////////////
- private void showLocalDeleteDialog(final PlaylistMetadataEntry item) {
- showDeleteDialog(item.name, localPlaylistManager.deletePlaylist(item.uid));
- }
-
private void showRemoteDeleteDialog(final PlaylistRemoteEntity item) {
showDeleteDialog(item.getName(), remotePlaylistManager.deletePlaylist(item.getUid()));
}
+ private void showLocalDialog(PlaylistMetadataEntry selectedItem) {
+ BookmarkDialog dialog = new BookmarkDialog(getContext(),
+ selectedItem.name, new BookmarkDialog.OnClickListener() {
+ @Override
+ public void onDeleteClicked() {
+ showDeleteDialog(selectedItem.name,
+ localPlaylistManager.deletePlaylist(selectedItem.uid));
+ }
+
+ @Override
+ public void onSaveClicked(@NonNull String name) {
+ changeLocalPlaylistName(selectedItem.uid, name);
+ }
+ });
+ dialog.show();
+ }
+
private void showDeleteDialog(final String name, final Single deleteReactor) {
if (activity == null || disposables == null) return;
@@ -303,24 +286,6 @@ public final class BookmarkFragment
.show();
}
- private void showLocalRenameDialog(PlaylistMetadataEntry selectedItem) {
- final View dialogView = View.inflate(getContext(), R.layout.dialog_playlist_name, null);
- EditText nameEdit = dialogView.findViewById(R.id.playlist_name);
- nameEdit.setText(selectedItem.name);
- nameEdit.setSelection(nameEdit.getText().length());
-
- final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(
- getContext())
- .setTitle(R.string.rename_playlist)
- .setView(dialogView)
- .setCancelable(true)
- .setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.rename, (dialogInterface, i) -> {
- changeLocalPlaylistName(selectedItem.uid, nameEdit.getText().toString());
- });
- dialogBuilder.show();
- }
-
private void changeLocalPlaylistName(long id, String name) {
if (localPlaylistManager == null) {
return;
diff --git a/app/src/main/java/org/schabi/newpipe/local/dialog/BookmarkDialog.kt b/app/src/main/java/org/schabi/newpipe/local/dialog/BookmarkDialog.kt
new file mode 100644
index 000000000..dd20e88a0
--- /dev/null
+++ b/app/src/main/java/org/schabi/newpipe/local/dialog/BookmarkDialog.kt
@@ -0,0 +1,47 @@
+package org.schabi.newpipe.local.dialog
+
+import android.app.Dialog
+import android.content.Context
+import android.os.Bundle
+import android.view.Window
+import android.widget.Button
+import android.widget.EditText
+import org.schabi.newpipe.R
+
+class BookmarkDialog(
+ context: Context,
+ private val playlistName: String,
+ val listener: OnClickListener)
+ : Dialog(context) {
+
+ private lateinit var editText: EditText
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ requestWindowFeature(Window.FEATURE_NO_TITLE)
+ setContentView(R.layout.dialog_bookmark)
+ initListeners()
+ }
+
+ private fun initListeners() {
+ editText = findViewById(R.id.playlist_name_edit_text);
+ editText.setText(playlistName)
+
+ findViewById
Jes
Poste
- Tiu permeso estas necesa por
-\nmalfermi en ŝprucfenestro modo
- Ludanta en ŝprucfenestro modo
+ Tiu permeso estas necesa por
+\nmalfermi en ŝprucfenestra modo
+ Ludante en ŝprucfenestra modo
Malaktiva
Filtri
Aktualigi
@@ -145,7 +145,7 @@
Rigardu historion
Spuri la viditajn filmetojn
NewPipe Sciigo
- Sciigoj por NewPipe fono kaj ŝprucfenestroj ludiloj
+ Sciigoj por NewPipe fonaj kaj ŝprucfenestraj ludiloj
Ludilo
Konduto
Historio kaj kaŝmemoro
@@ -156,21 +156,21 @@
Supro 50
Nova & varma
Montri la indiko « Tenu por aldoni »
- Montri indikon kiam la fono aŭ ŝprucfenestro butono estas premita en la retpaĝo de dalatadoj de la filmeto
- Viciĝita en la ludilo en fono
- Viciĝita en ŝprucfenestro ludilo
+ Montri indikon kiam la fona aŭ ŝprucfenestra butono estas premita en la retpaĝo de dalatadoj de la filmeto
+ Viciĝita en la fona ludilo
+ Viciĝita en ŝprucfenestra ludilo
Ludi ĉiujn
Ne povis ludi tion torenton
Neatendebla eraro de ludilo okazis
Reakiri el eraro de la ludilo
Fona ludilo
- Ŝprucfenestro ludilo
+ Ŝprucfenestra ludilo
Retiri
Detalado
Sonaj parametroj
Teni por viciĝi
[Nekonata]
- Viciĝi en la fono
+ Viciĝi en la fona ludilo
Viciĝi en nova ŝprucfenestro
Komencu ludi en nova ŝprucfenestro
Defaŭlta enhava lando
@@ -184,7 +184,7 @@
Nevalida ligilo
Neniuj filmeta torentoj trovitaj
Neniuj sonaj torentoj trovis
- Ŝprucfenestro ludilo
+ Ŝprucfenestra ludilo
Importi la datumbazon
Eksporti la datumbazon
Anstataŭigas vian aktualan historion kaj abonojn
@@ -237,7 +237,7 @@
Ĉu vi volas forviŝi la totalon de la historio de serĉo \?
Historio de serĉo forviŝita.
Limigi rezolucio kiam uzanta moveblan datumon
- Minimumigi al ŝprucfenestro ludilo
+ Minimumigi al ŝprucfenestra ludilo
Kanaloj
Ludlistoj
Spuroj
From d3aadc71b182e432a65d34e2113bc933784d8f15 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Fri, 24 Jan 2020 00:21:51 +0000
Subject: [PATCH 056/199] Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ur/strings.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 8ddc28711..4c622a193 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -1,7 +1,7 @@
شروع کرنے کے لیے تلاش پر ٹیپ کریں
- s$1% ملاحظات
+ %1$s ملاحظات
%1$s کو شائع ہوا
انسٹال
منسوخ کریں
@@ -505,7 +505,7 @@
ٹوگل خدمت ، حالیہ منتخب:
کوئی نہیں دیکھ رہا ہے
- - % s دیکھ رہا
+ - %s دیکھ رہا
- %s دیکھ رہے
کوئی نہیں سن رہا ہے
@@ -518,7 +518,7 @@
آگے بھگانے /- پیچھے کرنے کی مدت
پیر ٹیوب واقعات
اپنے پسندیدہ پیر ٹیوب کی مثالیں منتخب کریں
- ایسی مثالوں کی تلاش کریں جو آپ کو ٪s پر موزوں بنائیں
+ ایسی مثالوں کی تلاش کریں جو آپ کو %s پر موزوں بنائیں
مثال شامل کریں
مثال کا URL درج کریں
مثال کی توثیق نہیں کی جاسکی
From 64b0ccd574c0a0b5968129891fcd39534f335a31 Mon Sep 17 00:00:00 2001
From: Abu Sarim Hindi
Date: Fri, 24 Jan 2020 00:50:40 +0000
Subject: [PATCH 057/199] Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ur/strings.xml | 30 +++++++++++++-------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 4c622a193..68fb80c84 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -73,24 +73,24 @@
پلیر اشارہ کنٹرول
اشارے کی چمک اور آواذکو کنٹرول کرنے کے لئے اشاروں کا استعمال کریں
تلاش کے اشارے
- تلاش کرتے وقت تجاویز دکھائیں
- تاریخ تلاش کریں
+ تلاش کرتے وقت اشارے دکھائیں
+ سرگزشت تلاش کریں
تلاش کے استفسارات کو مقامی طور پر ذخیرہ کریں
- واچ ہسٹری
- دیکھے ہوئے ویڈیوز کا ریکارڈرکھیں
+ دیکھے جانے کی سرگزشت
+ دیکھی گئی ویڈیوز کی سرگزشت رکھیں
فوکس حاصل پر دوبارہ شروع کریں
- مداخلت کے بعد چلاناجاری رکھیں (جیسے فون کالز)
+ مداخلت کے بعد چلانا جاری رکھیں (جیسے فون کالز)
ڈاؤن لوڈ
اگلا
- \'اگلا\' اور \'ملتے جلتے\' ویڈیوز دکھائیں
- \"الحاق کرنے کے لئے منعقد\" ٹپ دکھائیں
+ \'اگلی\' اور \'ملتی جلتی\' ویڈیوز دکھائیں
+ \"شامل کرنے کے لئے پکڑیں\" ٹپ دکھائیں
ویڈیو تفصیلات کے صفحے پر جب بیک گراؤنڈ یا پاپ اپ بٹن دبائے جاتے ہیں تو ٹپ دکھائیں
غیر معاون URL
طے شدہ مواد والا ملک
خدمت
پلیئر
رویہ
- ویڈیو & آڈیو
+ ویڈیو اور آڈیو
تاریخ اور کیشے
پوپ اپ
ظہور
@@ -349,12 +349,12 @@
\n1. اس یو آر ایل پر جائیں: %1$s
\n2. جب پوچھا جائے تو لاگ ان کریں
\nA. ڈاؤن لوڈ شروع ہونا چاہئے (یہ برآمد فائل ہے)
- URL یا آپ کی ID ٹائپ کرکے ایک SoundCloud پروفائل درآمد کریں:
+ ۔URL یا آپ کی ID ٹائپ کرکے ایک SoundCloud پروفائل درآمد کریں:
\n
-\n1. ویب براؤزر میں \"ڈیسک ٹاپ موڈ\" کو فعال کریں (سائٹ موبائل آلات کے لئے دستیاب نہیں ہے)
-\n2. اس URL پر جائیں: s$1%
-\n3. پوچھا گیا میں لاگ ان کریں
-\n4. پروفائل یو آر ایل کاپی کریں جو آپ کو ہدایت کی گئی تھی.
+\n1. ویب براؤزر میں \"ڈیسک ٹاپ موڈ\" کو فعال کریں (یہ سائٹ موبائل آلات کے لئے دستیاب نہیں ہے)
+\n2. اس URL پر جائیں: %1$s
+\n3. جب پوچھا جائے تو لاگ ان کریں
+\n4. پروفائل یو آر ایل کاپی کریں جہاں تک آپ کی رہنمائی کی گئی تھی۔
yourID، soundcloud.com/yourid
یاد رکھیں کہ یہ آپریشن نیٹ ورک مہنگا ہوسکتا ہے۔
\n
@@ -472,8 +472,8 @@
بند کریں
پلے بیک دوبارہ شروع کریں
آخری پلے بیک پوزیشن بحال کریں
- فہرست میں پوزیشن
- فہرستوں میں پلے بیک پوزیشن کے اشارے دکھائیں
+ فہرست میں مقامات
+ فہرستوں میں پلے بیک مقامات کے اشارے دکھائیں
کوائف صاف کریں
دیکھنے کی تاریخ حذف ہوگئی۔
پلے بیک پوزیشنیں حذف ہوگئیں۔
From e9fda96aa1c42fd5244b7ebaae6f8a2904a9810a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Thu, 23 Jan 2020 05:51:46 +0000
Subject: [PATCH 058/199] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?=
=?UTF-8?q?an=20Bokm=C3=A5l)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Currently translated at 98.3% (518 of 527 strings)
---
app/src/main/res/values-nb-rNO/strings.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml
index 28a11185d..61e4b4574 100644
--- a/app/src/main/res/values-nb-rNO/strings.xml
+++ b/app/src/main/res/values-nb-rNO/strings.xml
@@ -536,4 +536,5 @@
Autogenerert (fant ingen opplaster)
gjenoppretter
Kan ikke gjenopprette denne nedlastingen
+ Hurtigframoverspoling/-tilbakeblafringsvarighet
\ No newline at end of file
From b2d78786c23b35db6d7de828f9e9f800bdad816e Mon Sep 17 00:00:00 2001
From: Abu Sarim Hindi
Date: Fri, 24 Jan 2020 16:26:56 +0000
Subject: [PATCH 059/199] Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ur/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 68fb80c84..cebcdc0ae 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -287,7 +287,7 @@
انتباہ: تمام فائلوں کو درآمد نہیں کیا جاسکا۔
یہ آپ کی موجودہ سیٹ اپ کو رد کر دے گا۔
کیوسک
- رجحان سازی
+ رجحان میں
Top 50
نیا اور تاذہ
پس منظر پلیئر
From e1145f16f2b49b07d6a74d3ebe1fe6e22095ec3b Mon Sep 17 00:00:00 2001
From: Harshal Lele
Date: Sat, 25 Jan 2020 22:30:49 +0530
Subject: [PATCH 060/199] ask for display over other apps permission in
settings
---
.../settings/VideoAudioSettingsFragment.java | 56 +++++++++++++++++++
app/src/main/res/values/strings.xml | 1 +
2 files changed, 57 insertions(+)
diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
index 9bbdd650d..64ff23140 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
@@ -1,12 +1,68 @@
package org.schabi.newpipe.settings;
+import android.content.SharedPreferences;
+import android.os.Build;
import android.os.Bundle;
+import android.provider.Settings;
+import android.view.View;
+
+import androidx.annotation.Nullable;
+
+import com.google.android.material.snackbar.Snackbar;
import org.schabi.newpipe.R;
+import org.schabi.newpipe.util.PermissionHelper;
public class VideoAudioSettingsFragment extends BasePreferenceFragment {
+
+ private SharedPreferences.OnSharedPreferenceChangeListener listener;
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
+ @Override
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) {
+ if(s.equals(getString(R.string.minimize_on_exit_key))){
+ String newSetting = sharedPreferences.getString(s,null);
+ if(newSetting != null){
+ if(newSetting.equals(getString(R.string.minimize_on_exit_popup_key))){
+ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(getContext())){
+ Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE)
+ .setAction(R.string.settings, new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ PermissionHelper.checkSystemAlertWindowPermission(getContext());
+ }
+ })
+ .show();
+
+ }
+ }
+ }
+ }
+ }
+ };
+ }
+
+
+
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.video_audio_settings);
}
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(listener);
+
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(listener);
+ }
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e1b2cc0a4..2d69ea402 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -227,6 +227,7 @@
Using default tabs, error while reading saved tabs
Restore defaults
Do you want to restore the defaults?
+ Give permission to display over other apps
Sorry, that should not have happened.
Guru Meditation.
From 7f7bf8474e0f8cdbc730cfaab80d3a0ffce4dfbe Mon Sep 17 00:00:00 2001
From: Tobias Groza
Date: Sat, 25 Jan 2020 21:35:07 +0100
Subject: [PATCH 061/199] Add link to FAQ in README
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index f78725338..987327ab8 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
Screenshots • Description • Features • Updates • Contribution • Donate • License
-Website • Blog • Press
+Website • Blog • FAQ • Press
WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.
From 9c58a07a72b4b69d14d9b2c51762fd27aa92ea95 Mon Sep 17 00:00:00 2001
From: AioiLight
Date: Sat, 25 Jan 2020 17:06:03 +0000
Subject: [PATCH 062/199] Translated using Weblate (Japanese)
Currently translated at 99.8% (526 of 527 strings)
---
app/src/main/res/values-ja/strings.xml | 54 ++++++++++++++++++--------
1 file changed, 37 insertions(+), 17 deletions(-)
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 553a54f1e..fdab646b2 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -212,7 +212,7 @@
フィードページ
チャンネルページ
チャンネルを選択
- 購読しているチャンネルはありません
+ 登録しているチャンネルはありません
Kioskを選択
Kiosk
人気
@@ -232,8 +232,8 @@
一度だけ
データベースをインポート
データベースをエクスポート
- 既存の履歴と購読リストは上書きされます
- 履歴や購読リスト、プレイリストをエクスポートします
+ 既存の履歴と登録リストは上書きされます
+ 履歴や登録リスト、プレイリストをエクスポートします
再生エラーからの回復中
外部プレイヤーは、これらのタイプのリンクをサポートしていません
無効なURL
@@ -254,7 +254,7 @@
コンテンツを読み込んでいます
動画ファイルをダウンロード
情報を表示
- ブックマーク
+ プレイリスト
サムネイルを読み込む
画像キャッシュを消去しました
キャッシュを消去
@@ -301,8 +301,8 @@
エクスポートしています…
ファイルからインポート
前回のエクスポート先
- 購読リストがインポートできませんでした
- 購読リストがエクスポートできませんでした
+ 登録リストがインポートできませんでした
+ 登録リストがエクスポートできませんでした
速度
音程
デフォルト
@@ -330,7 +330,7 @@
すべての検索履歴を削除しますか?
このファイル/コンテンツはありません
- - 登録者数 %s 人
+ - %s を登録しています
視聴なし
@@ -339,7 +339,7 @@
1 つのアイテムが削除されました。
支援する
NewPipe プロジェクトはあなたのプライバシーを非常に大切にしています。あなたの同意がない限り、アプリはいかなるデータも収集しません。NewPipe のプライバシー・ポリシーでは、クラッシュリポート送信時にどのような種類のデータが送信・記録されるかを詳細に説明しています。
- NewPipe は著作権が自由のソフトウェアです。あなたは自由にそれを使用し、研究し、そして改善することができます。あなたは、GNU フリーソフトウェア財団が公開する GNU General Public ライセンス バージョン3以降の下に、自由に再配布・修正を行うことができます。
+ NewPipe はコピーレフトなソフトウェアです。あなたは自由にそれを使用し、研究し、そして改善することができます。あなたは、GNU フリーソフトウェア財団が公開する GNU General Public ライセンス バージョン3以降の下に、自由に再配布・修正を行うことができます。
最終再生日時
最も再生した動画
ズーム
@@ -360,10 +360,10 @@
自動生成
プレーヤーのキャプションテキストの縮尺と背景スタイルを変更します。有効にするには、アプリの再起動が必要です。
何もありません
- 保存したエクスポートファイルからYouTubeの購読をインポート:
-\n
-\n1. このURLを開きます: %1$s
-\n2. ログインしていなければログインします
+ 保存したエクスポートファイルからYouTubeの登録をインポート:
+\n
+\n1. このURLを開きます: %1$s
+\n2. ログインしていなければログインします
\n3. ダウンロードが始まります (これがエクスポートファイルです)
リセット
同意する
@@ -393,7 +393,7 @@
速度と音程を連動せずに変更 (歪むかもしれません)
無音の間に早送り
音程幅
- 購読解除
+ 登録解除
新しいタブ
タブを選択
アプリの更新
@@ -402,7 +402,7 @@
外部記憶装置は利用できません
既定値に戻す
既定の設定を復元しますか\?
- 登録者数は表示できません
+ 登録者数は利用できません
選択
会議
ヨーロッパの一般データ保護規制(GDPR)に準拠するために、NewPipeの個人情報保護方針にご注意ください。よく読んでください。
@@ -415,7 +415,7 @@
スイッチビュー
NewPipeのアップデートがあります!
タップでダウンロード
- 終了しました
+ 完了
保留中
一時停止
順番待ちに追加しました
@@ -480,7 +480,7 @@
ファイルの作業中に NewPipe が閉じられました
デバイスに空き容量がありません
ファイルが削除されたため、進行状況が失われました
- よろしいですか\?
+ ダウンロード履歴、またはダウンロードしたファイルを消去しますか\?
ダウンロード キューの制限
同時に1つのダウンロードが実行されます
ダウンロードの開始
@@ -503,11 +503,31 @@
デフォルトのキオスク
誰も見ていません
- - %s 見ています
+ - %s 視聴中
誰も聞いていません
- %s リスナー
アプリを再起動すると、言語が変更されます。
+ 高速早送り/巻き戻し時間
+ PeerTube インスタンス
+ PeerTube インスタンスを選択する
+ あなたに最適なインスタンスを探せます: %s
+ インスタンスを追加
+ インスタンスの URL を入力
+ インスタンスを検証することができませんでした
+ HTTPS な URL のみがサポートされています
+ インスタンスはすでに存在しています
+ ローカル
+ 最近追加された
+ 高評価
+ 修復中
+ ダウンロードが修復できません
+ インスタンスを選択
+ ロック画面の動画サムネイルを有効にする
+ バックグラウンドプレイヤーを使用中、ロック画面に動画のサムネイルが表示されるようになります
+ ダウンロード履歴を消去
+ ダウンロードしたファイルを消去
+ %1$s 個削除しました
\ No newline at end of file
From 14b3cf7ccd9491719d20f63cce2fbf7a56890b19 Mon Sep 17 00:00:00 2001
From: "Ian Emmanuel M. Enanoria"
Date: Sat, 25 Jan 2020 04:50:59 +0000
Subject: [PATCH 063/199] Translated using Weblate (Filipino)
Currently translated at 12.7% (67 of 527 strings)
---
app/src/main/res/values-fil/strings.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/app/src/main/res/values-fil/strings.xml b/app/src/main/res/values-fil/strings.xml
index 40412ac11..9813b6922 100644
--- a/app/src/main/res/values-fil/strings.xml
+++ b/app/src/main/res/values-fil/strings.xml
@@ -39,4 +39,7 @@
Popup
Idagdag sa
Folder ng pag-download ng video
+ Pumili ng folder kung saan ido-download ang mga bidyo
+ Nakaimbak sa folder na ito ang mga nai-download na mga audio files
+ Pumili ng folder kung saan ido-download ang mga audio files
\ No newline at end of file
From 94403a9c3c137d3911fa205f8d039527f64d8f12 Mon Sep 17 00:00:00 2001
From: Christophe
Date: Thu, 25 Apr 2019 20:47:39 +0200
Subject: [PATCH 064/199] Add send to Kodi button to player next to share
button
---
.../fragments/detail/VideoDetailFragment.java | 13 ++---------
.../newpipe/player/MainVideoPlayer.java | 21 +++++++++++++++++
.../org/schabi/newpipe/util/KoreUtil.java | 23 +++++++++++++++++++
.../activity_main_player.xml | 21 ++++++++++++++++-
.../main/res/layout/activity_main_player.xml | 21 ++++++++++++++++-
5 files changed, 86 insertions(+), 13 deletions(-)
create mode 100644 app/src/main/java/org/schabi/newpipe/util/KoreUtil.java
diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
index 14e989625..f59cfaef0 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
@@ -79,6 +79,7 @@ import org.schabi.newpipe.util.Constants;
import org.schabi.newpipe.util.ExtractorHelper;
import org.schabi.newpipe.util.ImageDisplayConstants;
import org.schabi.newpipe.util.InfoCache;
+import org.schabi.newpipe.util.KoreUtil;
import org.schabi.newpipe.util.ListHelper;
import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.NavigationHelper;
@@ -624,7 +625,7 @@ public class VideoDetailFragment
url.replace("https", "http")));
} catch (Exception e) {
if (DEBUG) Log.i(TAG, "Failed to start kore", e);
- showInstallKoreDialog(activity);
+ KoreUtil.showInstallKoreDialog(activity);
}
return true;
default:
@@ -632,16 +633,6 @@ public class VideoDetailFragment
}
}
- private static void showInstallKoreDialog(final Context context) {
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setMessage(R.string.kore_not_found)
- .setPositiveButton(R.string.install, (DialogInterface dialog, int which) ->
- NavigationHelper.installKore(context))
- .setNegativeButton(R.string.cancel, (DialogInterface dialog, int which) -> {
- });
- builder.create().show();
- }
-
private void setupActionBarOnError(final String url) {
if (DEBUG) Log.d(TAG, "setupActionBarHandlerOnError() called with: url = [" + url + "]");
Log.e("-----", "missing code");
diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
index 9ccf5b9d3..1153c41fd 100644
--- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
@@ -28,6 +28,7 @@ import android.database.ContentObserver;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.media.AudioManager;
+import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
@@ -75,6 +76,7 @@ import org.schabi.newpipe.player.playqueue.PlayQueueItemTouchCallback;
import org.schabi.newpipe.player.resolver.MediaSourceTag;
import org.schabi.newpipe.player.resolver.VideoPlaybackResolver;
import org.schabi.newpipe.util.AnimationUtils;
+import org.schabi.newpipe.util.KoreUtil;
import org.schabi.newpipe.util.ListHelper;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.PermissionHelper;
@@ -435,6 +437,7 @@ public final class MainVideoPlayer extends AppCompatActivity
private boolean queueVisible;
private ImageButton moreOptionsButton;
+ private ImageButton kodiButton;
private ImageButton shareButton;
private ImageButton toggleOrientationButton;
private ImageButton switchPopupButton;
@@ -471,6 +474,7 @@ public final class MainVideoPlayer extends AppCompatActivity
this.moreOptionsButton = rootView.findViewById(R.id.moreOptionsButton);
this.secondaryControls = rootView.findViewById(R.id.secondaryControls);
+ this.kodiButton = rootView.findViewById(R.id.kodi);
this.shareButton = rootView.findViewById(R.id.share);
this.toggleOrientationButton = rootView.findViewById(R.id.toggleOrientation);
this.switchBackgroundButton = rootView.findViewById(R.id.switchBackground);
@@ -482,6 +486,9 @@ public final class MainVideoPlayer extends AppCompatActivity
titleTextView.setSelected(true);
channelTextView.setSelected(true);
+ boolean showKodiButton = PreferenceManager.getDefaultSharedPreferences(this.context).getBoolean(
+ this.context.getString(R.string.show_play_with_kodi_key), false);
+ kodiButton.setVisibility(showKodiButton ? View.VISIBLE : View.GONE);
getRootView().setKeepScreenOn(true);
}
@@ -518,6 +525,7 @@ public final class MainVideoPlayer extends AppCompatActivity
closeButton.setOnClickListener(this);
moreOptionsButton.setOnClickListener(this);
+ kodiButton.setOnClickListener(this);
shareButton.setOnClickListener(this);
toggleOrientationButton.setOnClickListener(this);
switchBackgroundButton.setOnClickListener(this);
@@ -588,6 +596,17 @@ public final class MainVideoPlayer extends AppCompatActivity
finish();
}
+ public void onKodiShare() {
+ onPause();
+ try {
+ NavigationHelper.playWithKore(this.context, Uri.parse(
+ playerImpl.getVideoUrl().replace("https", "http")));
+ } catch (Exception e) {
+ if (DEBUG) Log.i(TAG, "Failed to start kore", e);
+ KoreUtil.showInstallKoreDialog(this.context);
+ }
+ }
+
/*//////////////////////////////////////////////////////////////////////////
// Player Overrides
//////////////////////////////////////////////////////////////////////////*/
@@ -688,6 +707,8 @@ public final class MainVideoPlayer extends AppCompatActivity
} else if (v.getId() == closeButton.getId()) {
onPlaybackShutdown();
return;
+ } else if (v.getId() == kodiButton.getId()) {
+ onKodiShare();
}
if (getCurrentState() != STATE_COMPLETED) {
diff --git a/app/src/main/java/org/schabi/newpipe/util/KoreUtil.java b/app/src/main/java/org/schabi/newpipe/util/KoreUtil.java
new file mode 100644
index 000000000..2ed3c698d
--- /dev/null
+++ b/app/src/main/java/org/schabi/newpipe/util/KoreUtil.java
@@ -0,0 +1,23 @@
+package org.schabi.newpipe.util;
+
+
+import android.content.Context;
+import android.content.DialogInterface;
+import androidx.appcompat.app.AlertDialog;
+
+import org.schabi.newpipe.R;
+
+
+public class KoreUtil {
+ private KoreUtil() { }
+
+ public static void showInstallKoreDialog(final Context context) {
+ final AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ builder.setMessage(R.string.kore_not_found)
+ .setPositiveButton(R.string.install,
+ (DialogInterface dialog, int which) -> NavigationHelper.installKore(context))
+ .setNegativeButton(R.string.cancel, (DialogInterface dialog, int which) -> {
+ });
+ builder.create().show();
+ }
+}
diff --git a/app/src/main/res/layout-large-land/activity_main_player.xml b/app/src/main/res/layout-large-land/activity_main_player.xml
index b535db2b8..98017b132 100644
--- a/app/src/main/res/layout-large-land/activity_main_player.xml
+++ b/app/src/main/res/layout-large-land/activity_main_player.xml
@@ -305,7 +305,7 @@
tools:text="English" />
+
+
+
+
Date: Mon, 27 Jan 2020 19:32:40 +0100
Subject: [PATCH 065/199] update prettytime dependency
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
see https://github.com/TeamNewPipe/NewPipe/pull/2921#issuecomment-572601812
It will add Esperanto, add bengali, update vietnamese
pretty time is the library used in the home page: … days ago
---
app/build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/build.gradle b/app/build.gradle
index 0ca03f158..f8fc1565f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -94,7 +94,7 @@ dependencies {
implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
- implementation 'org.ocpsoft.prettytime:prettytime:4.0.1.Final'
+ implementation 'org.ocpsoft.prettytime:prettytime:4.0.3.Final'
implementation "androidx.room:room-runtime:${roomDbLibVersion}"
implementation "androidx.room:room-rxjava2:${roomDbLibVersion}"
From e0829769141cb959b9d5a6d78e7e694af618e274 Mon Sep 17 00:00:00 2001
From: Sithananthan
Date: Mon, 27 Jan 2020 08:59:46 +0000
Subject: [PATCH 066/199] Translated using Weblate (Tamil)
Currently translated at 43.3% (228 of 527 strings)
---
app/src/main/res/values-ta/strings.xml | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml
index 0dee99ad0..41e683545 100644
--- a/app/src/main/res/values-ta/strings.xml
+++ b/app/src/main/res/values-ta/strings.xml
@@ -36,10 +36,10 @@
சேர்
காணிலி தரவிறக்கப் பாதை
தரவிறக்கப்பட்ட காணொலிகளின் சேமிப்புப் பாதை
- காணொலியின் தரவிறக்கப் பாதையை உள்ளிடு
+ காணொலியின் தரவிறக்கப் பாதையை தேர்வு செய்க
ஒலி பதிவிறக்க அடைவு
தரவிறக்கப்பட்ட ஒலி இங்கே சேமிக்கப்பட்டுள்ளது
- ஒலி கோப்புகளுக்கான தரவிறக்கப் பாதையை உள்ளிடு
+ ஒலி கோப்புகளுக்கான தரவிறக்கப் பாதையை தேர்வு செய்க
தானே இயக்கு
NewPipe மற்றொரு செயலியில் இருந்து அழைக்கப்படும் போது காணொலியை இயக்கும்
முதல் பிரிதிறன்
@@ -180,7 +180,7 @@
- காணொளிகள்
-
+
முதற்பக்கத்துக்கு மாற்று
சரியில்லாத URL
@@ -208,7 +208,7 @@
தானாக ஓட்டு
- கருத்துக்கள்
-
+
திரையிடலை தொடங்கு
பட்டியலில் இடங்கள்
@@ -220,4 +220,7 @@
- %s பார்க்கிறார்
- %s பார்க்கிறார்கள்
+ வேகமாக முன்னோக்கி / திரும்பத் தேடும் காலம்
+ பூட்டு திரை வீடியோ சிறுபடத்தை இயக்கவும்
+ பின்னணி பிளேயரைப் பயன்படுத்தும் போது பூட்டுத் திரையில் வீடியோ சிறுபடம் காண்பிக்கப்படும்
\ No newline at end of file
From 42bb96af23a3550285b432c46b46d3563d08454b Mon Sep 17 00:00:00 2001
From: Laura Arjona Reina
Date: Mon, 27 Jan 2020 14:37:13 +0000
Subject: [PATCH 067/199] Translated using Weblate (Spanish)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-es/strings.xml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 9f25208bb..5b3265cd7 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -425,7 +425,7 @@
Mostrar como grilla
Mostrar como lista
Limpiar descargas finalizadas
- ¿Lo confirma\?
+ ¿Quiere limpiar su historial de descargas o eliminar todos los ficheros descargados\?
Detener
Intentos máximos
Cantidad máxima de intentos antes de cancelar la descarga
@@ -534,4 +534,7 @@
Elige una instancia
Habilitar miniatura de video de la pantalla de bloqueo
Al usar el reproductor de fondo, se mostrará una miniatura de video en la pantalla de bloqueo
+ Limpiar historial de descargas
+ Eliminar archivos descargados
+ Eliminadas %1$s descargas
\ No newline at end of file
From c486368b9b8caaf6955b8656f4ce9b4ae2df7f8d Mon Sep 17 00:00:00 2001
From: Ryan
Date: Mon, 27 Jan 2020 01:23:37 +0000
Subject: [PATCH 068/199] Translated using Weblate (Korean)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ko/strings.xml | 34 ++++++++++++++++++++++++--
1 file changed, 32 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index e8a2a9c51..e2010c50f 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -482,7 +482,7 @@
남은 저장공간이 없습니다
파일이 삭제되어 진행이 중지되었습니다
연결시간 초과
- 확실합니까\?
+ 모든 다운로드 기록과 파일을 삭제합니다.확실합니까\?
다운로드 대기 제한
다운로드 시작
다운로드 일시정지
@@ -497,10 +497,40 @@
매 다운로드 마다 저장경로를 묻습니다.
\n외장 SD카드에 다운로드 하고자 한다면 SAF를 선택하십시오
- - %s개의 동영상
+ - 동영상
하나의 다운로드가 동시에 진행됩니다
적용하려면 다운로드 폴더를 변경하세요
서비스 토글, 현재 선택된 서비스:
기본 키오스크
+ 시청자가 없습니다.
+
+ - %s 시청
+
+ 듣고 있는 사람이 없습니다.
+
+ - %s 듣는사람
+
+ 앱을 재시작하면 언어가 변경됩니다.
+ 빠른-감기/되감기 찾는 시간
+ 피어튜브 인스턴스
+ 당신이 선호하는 피어튜브 인스턴스를 선택하세요.
+ %s에서 당신에게 가장 잘 어울리는 인스턴스를 찾으세요.
+ 인스턴스 추가하기
+ 인스턴스 URL을 입력하세요.
+ 인스턴스를 검증할 수 없습니다.
+ 오직 HTTPS URL들만 지원합니다.
+ 인스턴스가 이미 존재합니다.
+ 로컬
+ 최근에 추가됨.
+ 가장 선호하는
+ 자동생성된(업로더를 찾지못함)
+ 복구하기
+ 이 다운로드를 복구할 수 없습니다
+ 인스턴스를 선택하세요
+ 비디어 썸네일 화면 고정을 가능하게 한다
+ 백그라운드 플레이어를 사용하는 경우 비디오 썸네일은 고정된 스크린 위에 표시됩니다.
+ 다운로드 기록 삭제
+ 다운로드된 파일 삭제
+ %1$s 다운로드 삭제
\ No newline at end of file
From c17d80948cdeadfacf476f5c9361d83d15a142df Mon Sep 17 00:00:00 2001
From: Abu Sarim Hindi
Date: Sun, 26 Jan 2020 22:29:45 +0000
Subject: [PATCH 069/199] Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ur/strings.xml | 56 +++++++++++++-------------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index cebcdc0ae..375c0d6fd 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -79,55 +79,55 @@
دیکھے جانے کی سرگزشت
دیکھی گئی ویڈیوز کی سرگزشت رکھیں
فوکس حاصل پر دوبارہ شروع کریں
- مداخلت کے بعد چلانا جاری رکھیں (جیسے فون کالز)
+ مداخلت کے بعد چلانا جاری رکھیں (مثلاً فون کالز)
ڈاؤن لوڈ
- اگلا
+ اگلی
\'اگلی\' اور \'ملتی جلتی\' ویڈیوز دکھائیں
- \"شامل کرنے کے لئے پکڑیں\" ٹپ دکھائیں
- ویڈیو تفصیلات کے صفحے پر جب بیک گراؤنڈ یا پاپ اپ بٹن دبائے جاتے ہیں تو ٹپ دکھائیں
- غیر معاون URL
- طے شدہ مواد والا ملک
+ ’’شامل کرنے کے لئے پکڑیں‘‘ اشارہ دکھائیں
+ ویڈیو تفصیلات کے صفحے پر جب پس منظر یا پاپ اپ بٹن دبائے جانے پر ٹپ دکھائیں
+ غیر موافق URL
+ مشمولات کا طے شدہ ملک
خدمت
پلیئر
رویہ
ویڈیو اور آڈیو
- تاریخ اور کیشے
+ سرگزشت اور کیشے
پوپ اپ
- ظہور
+ ظاہر
دیگر
- ڈیبگ
+ ڈِیبَگ
پس منظر میں چلائیں
- پوپ اپ موڈ میں چلائیں
- بیک گراؤنڈ پلیئر پر قطار ہے
- پاپ اپ پلیئر پر قطارہے
+ پوپ اپ اسلوب میں چلائیں
+ پس منظر پلیئر میں شامل ہوئی
+ پاپ اپ پلیئر میں شامل ہوئی
چلائیں
- مواد
- عمر محدود مواد
- عمر پر پابندی والا ویڈیو دکھائیں۔ ترتیبات سے اس طرح کے مواد کی اجازت ممکن ہے۔
+ مشمول
+ نازیبا مشمولات
+ نازیبا ویڈیو دکھائی دے گی۔ ترتیبات سے اس طرح کے مشمولات کی اجازت ممکن ہے۔
براہ راست
ڈاؤن لوڈ
ڈاؤن لوڈ
- غلطی کی اطلاع
+ خرابی کی اطلاع
تمام
- چینل(ذریعہ)
+ چینل
پلے لسٹ
ہاں
بعد میں
غیر فعال
فلٹر
- تازہ
+ ازسرنو
صاف
- سائز تبدیل کریں
+ جسامت بدلیں
بہترین ریزولوشن
کالعدم کریں
تمام چلائیں
ہمیشہ
صرف ایک بار
فائل
- نیو پائپ نوٹیفیکیشن
+ نیو پائپ اطلاعات
نیو پائپ کے پس منظر اور پاپ اپ پلیئرز کیلئے اطلاعات
[نامعلوم]
- ترتیب وضع کریں
+ سمت بندی بدلیں
پس منظر پر جائیں
پاپ اپ پر جائیں
مین پر سوئچ کریں
@@ -396,7 +396,7 @@
ری سیٹ کریں
چینلز
پلے لسٹس
- ویڈیو ذ
+ ویڈیوز
صارفین
رکنیت چھوڑیں
نیا ٹیب
@@ -405,11 +405,11 @@
پلیئر کی آواز کنٹرول کرنے کے لیے اشاروں کا استعمال کریں
چمک کا متحرک کنٹرول
پلیئرکی چمک کو کنٹرول کرنے کیلئے اشاروں کا استعمال کریں
- ڈیفالٹ مواد کی زبان
+ مشمولات کی طےشدہ زبان
تازہ کاریاں
فائل حذف ہوگئی
- ایپ اپ ڈیٹ نوٹیفکیشن
- نئے نیو پائپ ورژن کیلئے نوٹیفیکیشن
+ ایپ کی تازہ کاری کی اطلاع
+ جدید نیو پائپ ورژن کیلئے اطلاعات
بیرونی اسٹوریج دستیاب نہیں
بیرونی ایسڈی کارڈ پر ڈاؤن لوڈ ممکن نہیں۔ ڈاؤن لوڈ فولڈر کے مقام کو دوبارہ ترتیب دیں؟
پہلے سے طے شدہ ٹیبز کا استعمال ، محفوظ ٹیبز کو پڑھنے کے دوران خرابی
@@ -464,8 +464,8 @@
تبصرے دکھانا بند کریں
آٹوپلے
- - تبصرے
-
+ - تبصرہ
+ - تبصرے
کوئی تبصرہ نہیں
تبصرے لوڈ نہیں ہو سکے
@@ -521,7 +521,7 @@
ایسی مثالوں کی تلاش کریں جو آپ کو %s پر موزوں بنائیں
مثال شامل کریں
مثال کا URL درج کریں
- مثال کی توثیق نہیں کی جاسکی
+ مثال کی توثیق نہیں کی جا سکی
صرف HTTPS URLs موافق ہیں
مثال پہلے سے موجود ہے
مقامی
From 153790d80a506d748269b979f34919e937df989f Mon Sep 17 00:00:00 2001
From: Igor Nedoboy
Date: Tue, 28 Jan 2020 11:44:29 +0000
Subject: [PATCH 070/199] Translated using Weblate (Russian)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ru/strings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 975a9479b..63d0e7699 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -313,7 +313,7 @@
Текущие данные будут заменены
Скоро здесь кое-что появится ;D
Всегда спрашивать
- Создать плейлист
+ Новый плейлист
Удалить
Переименовать
Имя
@@ -534,7 +534,7 @@
Локальное
Новое
Популярное
- Создан автоматически (автор не найден)
+ Создано автоматически (автор не найден)
восстановление
Не удалось восстановить загрузку
Выберите сервер
From 1f24c186146c17f6fe5e140539cc7e56b2266062 Mon Sep 17 00:00:00 2001
From: Harshal Lele
Date: Tue, 28 Jan 2020 20:14:35 +0530
Subject: [PATCH 071/199] reformatted and commented code
---
.../newpipe/settings/VideoAudioSettingsFragment.java | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
index 64ff23140..86b04c4a7 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
@@ -24,11 +24,18 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment {
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) {
+
+ //on M and above, if user chooses to minimise to popup player on exit and the app doesn't have
+ //display over other apps permission, show a snackbar to let the user give permission
if(s.equals(getString(R.string.minimize_on_exit_key))){
+
String newSetting = sharedPreferences.getString(s,null);
if(newSetting != null){
+
if(newSetting.equals(getString(R.string.minimize_on_exit_popup_key))){
+
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(getContext())){
+
Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE)
.setAction(R.string.settings, new View.OnClickListener() {
@Override
From a78762756a68b8db5fd711f461e53b8aed0a3c48 Mon Sep 17 00:00:00 2001
From: Harshal Lele
Date: Tue, 28 Jan 2020 20:54:24 +0530
Subject: [PATCH 072/199] reformatted code
---
.../settings/VideoAudioSettingsFragment.java | 30 +++++++++----------
1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
index 86b04c4a7..6d32fb39f 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
@@ -27,29 +27,27 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment {
//on M and above, if user chooses to minimise to popup player on exit and the app doesn't have
//display over other apps permission, show a snackbar to let the user give permission
- if(s.equals(getString(R.string.minimize_on_exit_key))){
+ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
+ s.equals(getString(R.string.minimize_on_exit_key))){
String newSetting = sharedPreferences.getString(s,null);
- if(newSetting != null){
+ if(newSetting != null
+ && newSetting.equals(getString(R.string.minimize_on_exit_popup_key))
+ && !Settings.canDrawOverlays(getContext())){
- if(newSetting.equals(getString(R.string.minimize_on_exit_popup_key))){
+ Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE)
+ .setAction(R.string.settings, new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ PermissionHelper.checkSystemAlertWindowPermission(getContext());
+ }
+ })
+ .show();
- if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(getContext())){
-
- Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE)
- .setAction(R.string.settings, new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- PermissionHelper.checkSystemAlertWindowPermission(getContext());
- }
- })
- .show();
-
- }
- }
}
}
}
+
};
}
From fbf6351b993638040ac1df767ce63cf8b6c67a18 Mon Sep 17 00:00:00 2001
From: Abu Sarim Hindi
Date: Tue, 28 Jan 2020 19:36:53 +0000
Subject: [PATCH 073/199] Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ur/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 375c0d6fd..fe3108a5d 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -248,7 +248,7 @@
کے بارے میں
معاونین
لائسنس
- لِبرے کی اینڈروئیڈ پر کم وزنی اسٹریمنگ
+ لِبرے کی اینڈروئیڈ پر کم وزنی اسٹریمنگ۔
تعاون کریں
چاہے آپ کے خیالات ہوں؛ ترجمہ ، ڈیزائن میں تبدیلیاں ، کوڈ صاف کرنا ، یا حقیقی ہیوی کوڈ میں تبدیلی — مدد کا ہمیشہ خیرمقدم کیا جاتا ہے۔ جتنا زیادہ ہوتا ہے اتنا ہی بہتر ہوتا ہے!
گٹ ہب پر دیکھیں
From fd3d61c6a0ecdec689c450aefeb1470c8e27fa58 Mon Sep 17 00:00:00 2001
From: Markus Richter <8398165+mqus@users.noreply.github.com>
Date: Wed, 29 Jan 2020 13:48:02 +0100
Subject: [PATCH 074/199] fixes #3021, see also
https://github.com/TeamNewPipe/NewPipe-legacy/pull/21
---
app/src/main/java/us/shandian/giga/get/DownloadMission.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/java/us/shandian/giga/get/DownloadMission.java b/app/src/main/java/us/shandian/giga/get/DownloadMission.java
index c0f85b321..9ad73050b 100644
--- a/app/src/main/java/us/shandian/giga/get/DownloadMission.java
+++ b/app/src/main/java/us/shandian/giga/get/DownloadMission.java
@@ -223,6 +223,7 @@ public class DownloadMission extends Mission {
conn.setInstanceFollowRedirects(true);
conn.setRequestProperty("User-Agent", DownloaderImpl.USER_AGENT);
conn.setRequestProperty("Accept", "*/*");
+ conn.setRequestProperty("Accept-Encoding", "*");
if (headRequest) conn.setRequestMethod("HEAD");
From 342377e69ae3157c0b11a03d32721b80844a0b7b Mon Sep 17 00:00:00 2001
From: kapodamy
Date: Wed, 29 Jan 2020 16:04:24 -0300
Subject: [PATCH 075/199] restore offset after writting lastest CTTS entries
---
.../org/schabi/newpipe/streams/Mp4FromDashWriter.java | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
index 963d84b40..3dfba8b2d 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
@@ -262,13 +262,6 @@ public class Mp4FromDashWriter {
final int ftyp_size = make_ftyp();
- // reserve moov space in the output stream
- /*if (outStream.canSetLength()) {
- long length = writeOffset + auxSize;
- // warning: setLength() does not fill the unused space with zeros
- outStream.setLength(length);
- outSeek(length);
- } else {*/
if (auxSize > 0) {
int length = auxSize;
byte[] buffer = new byte[64 * 1024];// 64 KiB
@@ -335,6 +328,7 @@ public class Mp4FromDashWriter {
if (sample == null) {
if (tablesInfo[i].ctts > 0 && sampleExtra[i] >= 0) {
writeEntryArray(tablesInfo[i].ctts, 1, sampleCount[i], sampleExtra[i]);// flush last entries
+ outRestore();
}
sampleIndex[i] = -1;
break;
From 0c5608506e9a2887b86cf6907e3c593efb442308 Mon Sep 17 00:00:00 2001
From: kapodamy
Date: Wed, 29 Jan 2020 16:06:40 -0300
Subject: [PATCH 076/199] typo fixup
---
.../java/org/schabi/newpipe/streams/Mp4FromDashWriter.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
index 3dfba8b2d..57a7aaa9c 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
@@ -250,7 +250,7 @@ public class Mp4FromDashWriter {
boolean is64 = read > THRESHOLD_FOR_CO64;
- // calculate the moov size;
+ // calculate the moov size
int auxSize = make_moov(defaultMediaTime, tablesInfo, is64);
if (auxSize < THRESHOLD_MOOV_LENGTH) {
@@ -262,6 +262,7 @@ public class Mp4FromDashWriter {
final int ftyp_size = make_ftyp();
+ // reserve moov space in the output stream
if (auxSize > 0) {
int length = auxSize;
byte[] buffer = new byte[64 * 1024];// 64 KiB
@@ -328,7 +329,7 @@ public class Mp4FromDashWriter {
if (sample == null) {
if (tablesInfo[i].ctts > 0 && sampleExtra[i] >= 0) {
writeEntryArray(tablesInfo[i].ctts, 1, sampleCount[i], sampleExtra[i]);// flush last entries
- outRestore();
+ outRestore();
}
sampleIndex[i] = -1;
break;
From edc9d47da795efbc1606efae50788bdc81f4468b Mon Sep 17 00:00:00 2001
From: bopol
Date: Tue, 28 Jan 2020 20:48:42 +0100
Subject: [PATCH 077/199] app language: refactoring
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
renamed NewPipe's language into App language, and same for all the
concerning thing (keys, comments…)
we now call assureCorrectAppLanguage(CONTEXT) in activities needing it
instead of changeAppLanguage(getAppLocale(CONTEXT), RESOURCES)
changeAppLanguage becomes private.
---
app/src/main/java/org/schabi/newpipe/MainActivity.java | 8 +++-----
.../java/org/schabi/newpipe/about/AboutActivity.java | 6 ++----
.../org/schabi/newpipe/download/DownloadActivity.java | 6 ++----
.../org/schabi/newpipe/player/BackgroundPlayer.java | 6 ++----
.../org/schabi/newpipe/player/MainVideoPlayer.java | 9 ++++-----
.../org/schabi/newpipe/player/PopupVideoPlayer.java | 7 +++----
.../schabi/newpipe/player/ServicePlayerActivity.java | 5 ++---
.../newpipe/player/helper/PlaybackParameterDialog.java | 7 +++----
.../java/org/schabi/newpipe/report/ErrorActivity.java | 5 ++---
.../org/schabi/newpipe/settings/SettingsActivity.java | 6 ++----
.../java/org/schabi/newpipe/util/Localization.java | 10 ++++++++--
app/src/main/res/values/settings_keys.xml | 8 ++++----
app/src/main/res/values/strings.xml | 4 ++--
app/src/main/res/xml/content_settings.xml | 8 ++++----
14 files changed, 43 insertions(+), 52 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index 63bc8df15..7cd620faa 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -31,7 +31,6 @@ import android.preference.PreferenceManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
-import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
@@ -78,8 +77,7 @@ import org.schabi.newpipe.util.ThemeHelper;
import java.util.ArrayList;
import java.util.List;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@@ -118,7 +116,7 @@ public class MainActivity extends AppCompatActivity {
}
ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this));
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@@ -422,7 +420,7 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onResume() {
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
Localization.init(getApplicationContext()); //change the date format to match the selected language on resume
super.onResume();
diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
index 4d9cfc7e1..9e23d9d3d 100644
--- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
@@ -22,11 +22,9 @@ import android.widget.TextView;
import org.schabi.newpipe.BuildConfig;
import org.schabi.newpipe.R;
-import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.ThemeHelper;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
public class AboutActivity extends AppCompatActivity {
@@ -65,7 +63,7 @@ public class AboutActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
super.onCreate(savedInstanceState);
ThemeHelper.setTheme(this);
this.setTitle(getString(R.string.title_activity_about));
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
index 7aaaeeb17..00dd45ac9 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
@@ -12,14 +12,12 @@ import android.view.MenuItem;
import android.view.ViewTreeObserver;
import org.schabi.newpipe.R;
-import org.schabi.newpipe.settings.SettingsActivity;
import org.schabi.newpipe.util.ThemeHelper;
import us.shandian.giga.service.DownloadManagerService;
import us.shandian.giga.ui.fragment.MissionsFragment;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
public class DownloadActivity extends AppCompatActivity {
@@ -32,7 +30,7 @@ public class DownloadActivity extends AppCompatActivity {
i.setClass(this, DownloadManagerService.class);
startService(i);
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
ThemeHelper.setTheme(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_downloader);
diff --git a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
index c74882161..9e23d9145 100644
--- a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
@@ -58,9 +58,7 @@ import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.ThemeHelper;
import static org.schabi.newpipe.player.helper.PlayerHelper.getTimeString;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
-
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
/**
* Base players joining the common properties
@@ -117,7 +115,7 @@ public final class BackgroundPlayer extends Service {
notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE));
lockManager = new LockManager(this);
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
ThemeHelper.setTheme(this);
basePlayerImpl = new BasePlayerImpl(this);
basePlayerImpl.setup();
diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
index 487629c12..31f7dd74a 100644
--- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
@@ -95,8 +95,7 @@ import static org.schabi.newpipe.util.AnimationUtils.Type.SCALE_AND_ALPHA;
import static org.schabi.newpipe.util.AnimationUtils.Type.SLIDE_AND_ALPHA;
import static org.schabi.newpipe.util.AnimationUtils.animateRotation;
import static org.schabi.newpipe.util.AnimationUtils.animateView;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
import static org.schabi.newpipe.util.StateSaver.KEY_SAVED_STATE;
/**
@@ -127,7 +126,7 @@ public final class MainVideoPlayer extends AppCompatActivity
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
super.onCreate(savedInstanceState);
if (DEBUG) Log.d(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]");
defaultPreferences = PreferenceManager.getDefaultSharedPreferences(this);
@@ -195,7 +194,7 @@ public final class MainVideoPlayer extends AppCompatActivity
@Override
protected void onResume() {
if (DEBUG) Log.d(TAG, "onResume() called");
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
super.onResume();
if (globalScreenOrientationLocked()) {
@@ -226,7 +225,7 @@ public final class MainVideoPlayer extends AppCompatActivity
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
if (playerImpl.isSomePopupMenuVisible()) {
playerImpl.getQualityPopupMenu().dismiss();
diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
index 96bc606cc..fc14e8d51 100644
--- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java
@@ -80,8 +80,7 @@ import static org.schabi.newpipe.player.BasePlayer.STATE_PLAYING;
import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_DURATION;
import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_HIDE_TIME;
import static org.schabi.newpipe.util.AnimationUtils.animateView;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
/**
* Service Popup Player implementing VideoPlayer
@@ -144,7 +143,7 @@ public final class PopupVideoPlayer extends Service {
@Override
public void onCreate() {
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE));
@@ -172,7 +171,7 @@ public final class PopupVideoPlayer extends Service {
@Override
public void onConfigurationChanged(Configuration newConfig) {
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
if (DEBUG) Log.d(TAG, "onConfigurationChanged() called with: newConfig = [" + newConfig + "]");
updateScreenSize();
updatePopupSize(popupLayoutParams.width, -1);
diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
index 1c6d786cd..669d1c16c 100644
--- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java
@@ -46,8 +46,7 @@ import java.util.List;
import static org.schabi.newpipe.player.helper.PlayerHelper.formatPitch;
import static org.schabi.newpipe.player.helper.PlayerHelper.formatSpeed;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
public abstract class ServicePlayerActivity extends AppCompatActivity
implements PlayerEventListener, SeekBar.OnSeekBarChangeListener,
@@ -118,7 +117,7 @@ public abstract class ServicePlayerActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
super.onCreate(savedInstanceState);
ThemeHelper.setTheme(this);
setContentView(R.layout.activity_player_queue_control);
diff --git a/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java b/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java
index 2aefa675e..3ada3a6be 100644
--- a/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java
+++ b/app/src/main/java/org/schabi/newpipe/player/helper/PlaybackParameterDialog.java
@@ -17,8 +17,7 @@ import org.schabi.newpipe.R;
import org.schabi.newpipe.util.SliderStrategy;
import static org.schabi.newpipe.player.BasePlayer.DEBUG;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
public class PlaybackParameterDialog extends DialogFragment {
@NonNull private static final String TAG = "PlaybackParameterDialog";
@@ -110,7 +109,7 @@ public class PlaybackParameterDialog extends DialogFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
- changeAppLanguage(getAppLocale(getContext()), getResources());
+ assureCorrectAppLanguage(getContext());
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
initialTempo = savedInstanceState.getDouble(INITIAL_TEMPO_KEY, DEFAULT_TEMPO);
@@ -140,7 +139,7 @@ public class PlaybackParameterDialog extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
- changeAppLanguage(getAppLocale(getContext()), getResources());
+ assureCorrectAppLanguage(getContext());
final View view = View.inflate(getContext(), R.layout.dialog_playback_parameter, null);
setupControlViews(view);
diff --git a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
index 05dfe33ca..4512ab3a6 100644
--- a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
@@ -46,8 +46,7 @@ import java.util.List;
import java.util.TimeZone;
import java.util.Vector;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
/*
* Created by Christian Schabesberger on 24.10.15.
@@ -174,7 +173,7 @@ public class ErrorActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
super.onCreate(savedInstanceState);
ThemeHelper.setTheme(this);
setContentView(R.layout.activity_error);
diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
index 6804f9831..53d60f86c 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
@@ -14,9 +14,7 @@ import android.view.MenuItem;
import org.schabi.newpipe.R;
import org.schabi.newpipe.util.ThemeHelper;
-import static org.schabi.newpipe.util.Localization.changeAppLanguage;
-import static org.schabi.newpipe.util.Localization.getAppLocale;
-
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
/*
* Created by Christian Schabesberger on 31.08.15.
@@ -47,7 +45,7 @@ public class SettingsActivity extends AppCompatActivity implements BasePreferenc
@Override
protected void onCreate(Bundle savedInstanceBundle) {
setTheme(ThemeHelper.getSettingsThemeStyle(this));
- changeAppLanguage(getAppLocale(getApplicationContext()), getResources());
+ assureCorrectAppLanguage(this);
super.onCreate(savedInstanceBundle);
setContentView(R.layout.settings_layout);
diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java
index d2fbd3a65..6149118cc 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Localization.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java
@@ -218,7 +218,7 @@ public class Localization {
return getPrettyTime().formatUnrounded(calendarTime);
}
- public static void changeAppLanguage(Locale loc, Resources res) {
+ private static void changeAppLanguage(Locale loc, Resources res) {
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.setLocale(loc);
@@ -227,11 +227,13 @@ public class Localization {
public static Locale getAppLocale(Context context) {
SharedPreferences prefs = androidx.preference.PreferenceManager.getDefaultSharedPreferences(context);
- String lang = prefs.getString("newpipes_language_key", "en");
+ String lang = prefs.getString("app_language_key", "en");
Locale loc;
if (lang.equals("system")) {
loc = Locale.getDefault();
} else if (lang.matches(".*-.*")) {
+ //to differentiate different versions of the language
+ //for example, pt (portuguese in Portugal) and pt-br (portuguese in Brazil)
String[] localisation = lang.split("-");
lang = localisation[0];
String country = localisation[1];
@@ -241,4 +243,8 @@ public class Localization {
}
return loc;
}
+
+ public static void assureCorrectAppLanguage(Context c) {
+ changeAppLanguage(getAppLocale(c), c.getResources());
+ }
}
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index ed3c454b8..1a7d61dae 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -176,7 +176,7 @@
enable_playback_resume
enable_playback_state_lists
- newpipes_language_key
+ app_language_key
enable_lock_screen_video_thumbnail
import_data
@@ -926,8 +926,8 @@
- ZW
-
-
+
+
- system
- ar
- az
@@ -992,7 +992,7 @@
- zh-hans
- zh-tw
-
+
- @string/systems_language
- العربية
- Azərbaycan dili
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c5a59abe7..29864963f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -589,6 +589,6 @@
Use SAF
The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible
Choose an instance
- NewPipe\'s language
- System\'s language
+ App language
+ System default
diff --git a/app/src/main/res/xml/content_settings.xml b/app/src/main/res/xml/content_settings.xml
index ab9896cde..197c14487 100644
--- a/app/src/main/res/xml/content_settings.xml
+++ b/app/src/main/res/xml/content_settings.xml
@@ -7,11 +7,11 @@
+ android:title="@string/app_language_title"/>
Date: Tue, 28 Jan 2020 21:11:12 +0000
Subject: [PATCH 078/199] Translated using Weblate (Hungarian)
Currently translated at 67.4% (355 of 527 strings)
---
app/src/main/res/values-hu/strings.xml | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 4d7ff986e..3587ad136 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -14,9 +14,9 @@
Megosztás ezzel
Válasszon böngészőt
forgatás
- Videófájlok letöltési helye
- Útvonal a letöltött videók tárolásához
- Adja meg a videófájlok letöltési helyét
+ Videók letöltési helye
+ Ide kerülnek a letöltött videók
+ Válassza ki a videófájlok letöltési helyét
Alapértelmezett felbontás
Lejátszás Kodi-val
A Kore alkalmazás nem található. Telepíted a Kore lejátszót?
@@ -29,7 +29,7 @@
Nem támogatott webcím
Külső videólejátszó használata
Külső hanglejátszó használata
- Add meg a hangfájlok letöltési helyét
+ Válaszd ki a hangfájlok letöltési helyét
Tor használata
(Kísérleti) Adatforgalom Tor-on keresztüli kényszerítése a biztonság fokozása érdekében (a videó stream-elés még nem támogatott).
Lejátszás
@@ -44,7 +44,7 @@
Világos
Téma
Hangfájlok letöltési helye
- Letöltött hangfájlok itt találhatók
+ A letöltött hangfájlok itt találhatóak
Tetszik
Nem tetszik
Előnézeti kép
@@ -123,8 +123,7 @@
Mutassa a magasabb felbontásokat
Csak néhány eszköz támogatja a 2K/4K videók lejátszását
Alapértelmezett videó formátum
- Fekete
-\n
+ Fekete
Jegyezze meg a felugró ablak helyét és méretét
Jegyezze meg a felugró ablak előző helyét és méretét
Keresési javaslatok
@@ -382,4 +381,8 @@
Figyelmen kívül hagy
Lejátszási lista könyvjelzők közé
Hasonló videó beadása az utolsó videó után egy nem ismétlődő sorban
+ Sor
+ a fájl nem írható felül
+ Az előre- és visszatekerés időtartama
+ Videó előnézet megjelenítése a lezárási képernyőn
\ No newline at end of file
From d686a2c9dc8555c917739ada61ccd4a9f99773ee Mon Sep 17 00:00:00 2001
From: Abu Sarim Hindi
Date: Wed, 29 Jan 2020 18:12:14 +0000
Subject: [PATCH 079/199] Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ur/strings.xml | 52 +++++++++++++-------------
1 file changed, 26 insertions(+), 26 deletions(-)
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index fe3108a5d..55a0963d2 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -89,24 +89,24 @@
مشمولات کا طے شدہ ملک
خدمت
پلیئر
- رویہ
+ برتاؤ
ویڈیو اور آڈیو
سرگزشت اور کیشے
پوپ اپ
- ظاہر
+ اظہار
دیگر
ڈِیبَگ
پس منظر میں چلائیں
- پوپ اپ اسلوب میں چلائیں
+ پوپ اپ اسلوب میں جاری
پس منظر پلیئر میں شامل ہوئی
پاپ اپ پلیئر میں شامل ہوئی
چلائیں
مشمول
نازیبا مشمولات
- نازیبا ویڈیو دکھائی دے گی۔ ترتیبات سے اس طرح کے مشمولات کی اجازت ممکن ہے۔
+ نازیبا ویڈیو دکھائی دے گی۔ ترتیبات سے اس طرح کی مشمولات کی اجازت ممکن ہے۔
براہ راست
- ڈاؤن لوڈ
- ڈاؤن لوڈ
+ ڈاؤن لوڈز
+ ڈاؤن لوڈز
خرابی کی اطلاع
تمام
چینل
@@ -130,11 +130,11 @@
سمت بندی بدلیں
پس منظر پر جائیں
پاپ اپ پر جائیں
- مین پر سوئچ کریں
- کوائفیہ درآمد کریں
- کوائفیہ برآمد کریں
- اپنی موجودہ تاریخ اور رکنیت ضد
- تاریخ ، خریداری اور پلے لسٹ برآمد کریں
+ مرکزی صفحہ پر جائیں
+ ڈیٹا بیس درآمد کریں
+ ڈیٹا بیس برآمد کریں
+ اپنی موجودہ سرگزشت اور رکنیت باطل کریں
+ سرگزشت، رکنیتیں اور پلے لسٹ برآمد کریں
خرابی
نیٹ ورک کی خرابی
تمام نظرِ انگشتی لوڈ نہیں کر سکے
@@ -143,10 +143,10 @@
ویب سائٹ کو مکمل طور پر تجزیہ نہیں کرسکے
مواد دستیاب نہیں ہے
ڈاؤن لوڈ مینو ترتیب نہیں دے سکتے
- براہ راست سلسلے ابھی تک تعاون یافتہ نہیں ہیں
- کوئی اسٹریم نہیں مل سکی
+ براہ راست سلسلے ابھی تک معاون نہیں ہیں
+ کوئی سلسلہ حاصل نہیں کر سکے
تصویر کو لوڈ نہیں کر سکتا
- ایپ/UI کریش
+ ایپ/UI تباہ
یہ اسٹریم نہیں چل سکا
انریکوورابلی پلیئر نقص واقع ہوا
پلیر نقص سے بازیافت کر رہا ہے
@@ -366,13 +366,13 @@
کیپشن
پلیئر کیپشن ٹیکسٹ اسکیل اور بیک گراونڈ اسٹائل میں ترمیم کریں۔ اثر لینے کیلئے ایپ کو دوبارہ شروع کرنا ضروری ہے۔
اس فائل کو چلانے کے لئے کوئی ایپ انسٹال نہیں ہے
- دیکھنے کی تاریخ صاف کریں
- ادا شدہ اسٹریمز اور پلے بیک پوزیشنوں کی تاریخ کو خارج کریں
- دیکھنے کی پوری تاریخ کو حذف کریں؟
- تلاش کی ہسٹری کو مٹا دیں
- تلاش کے مطلوبہ الفاظ کی تاریخ کو حذف کریں
- پوری تلاش کی تاریخ کو حذف کریں؟
- تلاش کی تاریخ حذف ہوگئی۔
+ دیکھنے کی سرگزشت صاف کریں
+ چلائے گئے سلسلوں اور پلے بیک پوزیشنز کی سرگزشت کو حذف کیا گیا
+ دیکھے جانے کی تمام سرگزشت حذف کریں؟
+ تلاش کی سرگزشت مٹائیں
+ تلاش کے الفاظ کی سرگزشت حذف کی گئیں
+ تلاش کی مکمل سرگزشت حذف کریں؟
+ تلاش کی سرگزشت حذف ہوئی۔
1 شے حذف کر دی گئی ۔
نیو پائپ کاپلیفٹ فری سافٹ ویئر ہے: آپ استعمال کرسکتے ہیں ، مطالعہ شیئر کرسکتے ہیں اور اپنی مرضی سے اسے بہتر کرسکتے ہیں۔ خاص طور پر آپ اسے مفت سافٹ ویئر فاؤنڈیشن کے ذریعہ شائع کردہ GNU جنرل پبلک لائسنس کی شرائط کے تحت دوبارہ تقسیم اور / یا ترمیم کرسکتے ہیں ، جو لائسنس کا ورژن 3 ، یا (آپ کے اختیار پر) کسی بھی بعد کا ورژن ہے۔
کیا آپ ترتیبات بھی درآمد کرنا چاہتے ہیں؟
@@ -410,7 +410,7 @@
فائل حذف ہوگئی
ایپ کی تازہ کاری کی اطلاع
جدید نیو پائپ ورژن کیلئے اطلاعات
- بیرونی اسٹوریج دستیاب نہیں
+ بیرونی ذخیرہ دستیاب نہیں
بیرونی ایسڈی کارڈ پر ڈاؤن لوڈ ممکن نہیں۔ ڈاؤن لوڈ فولڈر کے مقام کو دوبارہ ترتیب دیں؟
پہلے سے طے شدہ ٹیبز کا استعمال ، محفوظ ٹیبز کو پڑھنے کے دوران خرابی
ڈیفالٹس بحال کریں
@@ -475,8 +475,8 @@
فہرست میں مقامات
فہرستوں میں پلے بیک مقامات کے اشارے دکھائیں
کوائف صاف کریں
- دیکھنے کی تاریخ حذف ہوگئی۔
- پلے بیک پوزیشنیں حذف ہوگئیں۔
+ دیکھے جانے کی سرگزشت حذف ہوگئی۔
+ پلے بیک پوزیشنس حذف ہوئیں۔
فائل منتقل یا حذف ہوگئی
اس نام والی فائل پہلے سے موجود ہے
اس نام والی ڈاؤن لوڈ کی فائل پہلے سے موجود ہے
@@ -499,8 +499,8 @@
اسٹوریج ایکسیس فریم ورک ایک بیرونی SD کارڈ میں ڈاؤن لوڈ کی اجازت دیتا ہے۔
\nنوٹ: کچھ آلات مطابقت نہیں رکھتے ہیں
پلے بیک پوزیشن حذف کریں
- تمام پلے بیک پوزیشن حذف کریں
- تمام پلے بیک پوزیشنوں کو حذف کریں ؟
+ تمام پلے بیک پوزیشن حذف کی گئی
+ تمام پلے بیک پوزیشنس حذف کریں؟
مؤثر بنانے کے لئے ڈاؤن لوڈ فولڈرز کو تبدیل کریں
ٹوگل خدمت ، حالیہ منتخب:
کوئی نہیں دیکھ رہا ہے
From 2977de1df22b879e1e455a0002ed01ca7ea29042 Mon Sep 17 00:00:00 2001
From: Abu Sarim Hindi
Date: Wed, 29 Jan 2020 21:50:19 +0000
Subject: [PATCH 080/199] Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-ur/strings.xml | 249 +++++++++++++------------
1 file changed, 125 insertions(+), 124 deletions(-)
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 55a0963d2..e0149f2d8 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -147,39 +147,39 @@
کوئی سلسلہ حاصل نہیں کر سکے
تصویر کو لوڈ نہیں کر سکتا
ایپ/UI تباہ
- یہ اسٹریم نہیں چل سکا
- انریکوورابلی پلیئر نقص واقع ہوا
- پلیر نقص سے بازیافت کر رہا ہے
- بیرونی پلیراس قسم کے لنکس کی حمایت نہیں کرتے
+ یہ سلسلہ نہیں چل سکا
+ پلیئر میں نا قابلِ تلافی نقص واقع ہوئی
+ پلیر نقص سے بازیافت کیا جارہا ہے
+ بیرونی پلیئر اس قسم کے روابط کی حمایت نہیں کرتے
غلط URL
- کوئی ویڈیو اسٹریمز نہیں ملے
- کوئی آڈیو اسٹریمز نہیں ملے
+ کوئی ویڈیو سلسلے نہیں ملے
+ کوئی آڈیو سلسلے نہیں ملے
ایسا کوئی فولڈر نہیں
- ایسی کوئی فائل / مواد کا ذریعہ نہیں
- فائل موجود نہیں ہے اور نہ ہی اسے پڑھنے یا لکھنے کی اجازت ہے
+ ایسی کوئی فائل/مواد کا ذریعہ نہیں
+ فائل موجود نہیں ہے یا اسے پڑھنے یا لکھنے کی اجازت کا فقدان ہے
فائل کا نام ضروری ہے
- ایک خامی پیش آگئی: s$1%
- کوئی اسٹریمز ڈاؤن لوڈ کرنے کے لئے دستیاب نہیں
- معذرت ، ایسا نہیں ہونا چاہئے تھا۔
+ ایک خامی پیش آگئی: %1$s
+ کوئی سلسلسہ ڈاؤن لوڈ کرنے کے لئے دستیاب نہیں
+ معذرت، ایسا نہیں ہونا چاہئے تھا۔
ای میل کے ذریعے غلطی کی اطلاع دیں
- معذرت ، کچھ خرابی آگئی
+ معذرت، کچھ خرابی آگئی۔
رپورٹ کریں
معلومات:
- کوئی مسئلہ ہے
- What:\\nRequest:\\nContent Lang:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version:
+ کیا ہوا:
+ کیا ہوا:\\nدرخواست:\\nمواد کی زبان:\\nخدمات:\\nGMT وقت:\\nپیکیج:\\nورژن:\\nاو ایس ورژن:
آپ کا تبصرہ (انگریزی میں):
تفصیلات:
- ویڈیو پیش نظارہ تھمب نیل
- وڈیو کادورانیہ:
- اپ لوڈر کا اوتار تھمب نیل
- پسند
- ناپسند
+ ویڈیو پیش منظر انگشتی
+ ویڈیو چلائیں، دورانیہ:
+ اپ لوڈر کا اوتار نظرِ انگشتی
+ پسندیدگی
+ ناپسندیدگی
Tor کا استعمال
- (تجرباتی) بڑھتی ہوئی رازداری کے لئے ٹور کے ذریعہ ٹریفک کو ڈاؤن لوڈ کرنے پر مجبور کریں (ویڈیوز کو ابھی تک سپورٹ نہیں کیا گیا ہے)۔
+ (تجرباتی) بڑھتی ہوئی رازداری کے لئے ٹور کے ذریعہ ٹریفک کو ڈاؤن لوڈ کرنے پر مجبور کریں (سلسلے کی ویڈیوز ابھی تک غیر موافق ہے)۔
غلطی کی اطلاع دیں
صارف رپورٹ
- کوئی نتیجہ نہیں
- یہاں کچھ نہیں مگر اداسی کے
+ کوئی نتائج نہیں
+ یہاں کچھ نہیں سوائے میرے
دوبارہ ترتیب دینے کیلئے کھینچں
ڈاؤن لوڈ ڈائریکٹری \'s$1%\' تشکیل نہیں دے سکتے
ڈاؤن لوڈ ڈائریکٹری \'s$1%\' بن گئی
@@ -188,7 +188,7 @@
دوبارہ کوشش کریں
ذخیرہ رسائی اجازت مسترد
ہزار
- ایم
+ دہ لاکھ
ارب
کوئی صارفین نہیں
@@ -215,7 +215,7 @@
تشخیص کریں
برخاست کریں
نام تبدیل کریں
- نیا حدف
+ نیا مشن
ٹھيک ہے
فائل کا نام
موضوعات
@@ -226,52 +226,52 @@
نیو پائپ ڈاؤن لوڈ ہو رہا ہے
تفصیلات کے لیے ٹیپ کریں
براۓ مہربانی انتظار کريں…
- کلپ بورڈ میں کاپی کریں
+ کلپ بورڈ میں نقل ہوا
براہ کرم بعد میں ترتیبات میں ڈاؤن لوڈ فولڈر کی وضاحت رکھیں
- پوپ اپ موڈ میں کھولنے کیلئے اس اجازت کی ضرورت ہے
+ پوپ اپ موڈ میں کھولنے کیلئے/nاس اجازت کی ضرورت ہے
reCAPTCHA
reCAPTCHA چیلنج
reCAPTCHA چیلینج کی درخواست کی گئی
ڈاؤن لوڈ
- فائل ناموں میں حروف کی اجازت ہے
- ناجائز کریکٹر اس قدر کے ساتھ تبدیل کیےگئے ہیں
+ فائل کے ناموں میں ان حروف کی اجازت ہے
+ ناجائز کریکٹر اس قدر کے ساتھ تبدیل کیےگئے
متبادل کریکٹر
- خطوط اور ہندسے
- سب سے خاص کردار
+ حروف اور ہندسے
+ اہم مخصوص حروف
نیو پائپ کے بارے میں
ترتیبات
کے بارے میں
- تیسری پارٹی کے لائسنس
+ تیسری پارٹی کی لائسنس
© %1$s بذریعہ %2$s %3$s کے تحت
لائسنس لوڈ نہیں کر سکا
ویب سائٹ کھولیں
کے بارے میں
معاونین
لائسنس
- لِبرے کی اینڈروئیڈ پر کم وزنی اسٹریمنگ۔
+ اینڈروئیڈ پر لِبرے کی ہلکی اسٹریمنگ۔
تعاون کریں
- چاہے آپ کے خیالات ہوں؛ ترجمہ ، ڈیزائن میں تبدیلیاں ، کوڈ صاف کرنا ، یا حقیقی ہیوی کوڈ میں تبدیلی — مدد کا ہمیشہ خیرمقدم کیا جاتا ہے۔ جتنا زیادہ ہوتا ہے اتنا ہی بہتر ہوتا ہے!
+ جو بھی آپ کے خیالات ہوں؛ ترجمہ، ڈیزائن میں تبدیلیاں، کوڈ کی درستی، یا حقیقتاً کوڈ میں بڑی تبدیلی—مدد کا ہمیشہ خیرمقدم ہے۔ جتنا زیادہ ہوگا اتنی ہی بہتری ہو گی!
گٹ ہب پر دیکھیں
عطیہ
- نیا پائپ رضاکاروں کے ذریعہ تیار کیا گیا ہے جو آپ کو بہترین تجربہ فراہم کرنے میں وقت گزارتے ہیں۔ ایک کپ کافی سے لطف اندوز ہوتے ہوئے ڈویلپرز کو نیو پائپ کو اور بہتر بنانے میں مدد دینے کے لئے واپس دیں۔
- واپس دو
+ نیو پائپ رضاکاروں کے ذریعہ تیار کیا گیا ہے جو آپ کو بہترین تجربہ فراہم کرنے میں وقت صرف کرتے ہیں۔ ایک کپ کافی سے لطف اندوز ہوتے ہوئے ڈویلپرز کو نیو پائپ کو اور بہتر بنانے میں مدد دینے کے لئے بہتر بدلہ دیں۔
+ بدلہ دیں
ویب سائٹ
مزید معلومات اور خبروں کے لئے نیو پائپ ویب سائٹ ملاحظہ کریں۔
نیو پائپ کا لائسنس
لائسنس پڑھیں
- تاریخ
+ سرگزشت
تلاش کیا گیا
- دیکھاھوا
- تاریخ آف کردی گئی ہے
- تاریخ
- تاریخ خالی ہے
- تاریخ صاف ہوگئی
+ دیکھا ہوا
+ سرگزشت بند کر دی گئی
+ سرگزشت
+ سرگزشت خالی ہے
+ سرگزشت مٹائی گئی
آئٹم حذف ہوگیا
- کیا آپ اس آئٹم کو تلاش کی تاریخ سے حذف کرنا چاہتے ہیں؟
- کیا آپ اس آئٹم کو دیکھنے کی تاریخ سے حذف کرنا چاہتے ہیں؟
- کیا آپ واقعی تاریخ سے سبھی اشیاء کو حذف کرنا چاہتے ہیں؟
- آخری پلے کیا گیا
- سب سے زیادہ دیکھاگیا
+ کیا آپ اس آئٹم کو تلاش کی سرگزشت سے حذف کرنا چاہتے ہیں؟
+ کیا آپ اس آئٹم کو دیکھے جانے کی سرگزشت سے حذف کرنا چاہتے ہیں؟
+ کیا آپ واقعی سرگزشت سے سبھی اشیاء کو حذف کرنا چاہتے ہیں؟
+ آخری چلائی گئی
+ سب سے زیادہ چلائی گئی
مرکزی صفحہ کا مواد
خالی صفحہ
رجحان صفحہ
@@ -285,11 +285,11 @@
درآمدشدہ
درست زپ فائل نہیں ہے
انتباہ: تمام فائلوں کو درآمد نہیں کیا جاسکا۔
- یہ آپ کی موجودہ سیٹ اپ کو رد کر دے گا۔
+ یہ آپ کی موجودہ سیٹ اپ کو باطل کر دے گا۔
کیوسک
رجحان میں
- Top 50
- نیا اور تاذہ
+ اوّل 50
+ نیا اور تازہ
پس منظر پلیئر
پوپ اپ پلیئر
ہٹائیں
@@ -298,12 +298,12 @@
انقطار کو پکڑو
پس منظر میں قطار
ایک نئی پوپ اپ میں انقطار
- یہاں سےچلاناشروع کریں
- پس منظر میں چلاناشروع کریں
- نئے پاپ اپ میں چلاناشروع کریں
+ یہاں چلانا شروع کریں
+ پس منظر میں چلانا شروع کریں
+ نئے پاپ اپ میں چلانا شروع کریں
دراز کھولیں
دراز بند کریں
- یہاں جلد ہی کچھ نظر آئے گا D D
+ یہاں جلد ہی کچھ نظر آئے گا ;D
پسندیدہ \'کھلی\' کارروائی
مواد کھولنے پر طے شدہ کارروائی — %s
ویڈیو پلیئر
@@ -317,53 +317,55 @@
نام تبدیل کریں
نام
پلے لسٹ میں شامل
- پلے لسٹ تھمب نیل کے بطور سیٹ کریں
- پلے لسٹ کو بُک مارک کریں
- بُک مارک کو حدف کریں
- اس پلے لسٹ کو حذف کریں؟
+ بطور پلے لسٹ انگشتی طے کریں
+ پلے لسٹ کو نشان زد کریں
+ نشان زد حدف کریں
+ کیا یہ پلے لسٹ حذف کریں؟
پلے لسٹ بنائی گئی
فہرست میں شامل کر دیا
- پلے لسٹ تھمب نیل تبدیل کر دیا گیا۔
- پلے لسٹ کو حذف نہیں کیا جاسکا۔
- کوئی کیپشن نہیں
+ پلے لسٹ انگشتی تبدیل ہوا۔
+ پلے لسٹ حذف نہیں کیا جاسکا۔
+ کوئی عنوانات نہیں
فٹ
بھریں
زوم
خود بخود تیار
- لیک کینری کو قابل بنائیں
- میموری لیک ہونے کی نگرانی ہیپ ڈمپنگ کے وقت ایپ کو غیرذمہ دار بننے کا باعث بن سکتی ہے
- زندگی سے دور کی غلطیوں کی اطلاع دیں
- ضائع ہونے کے بعد ٹکڑے یا سرگرمی زندگی سے دور کے ناقابل تسخیر Rx مستثنیات کی اطلاع دہندگی
- درآمد برآمد
- درآمد
+ لیک کیناری کو فعال کریں
+ میموری لیک ہونے کی مانیٹرنگ، ہیپ ڈمپنگ کے وقت ایپ کو غیرذمہ دار بننے کا باعث بن سکتی ہے
+ گردشِ حیات سے دوری کی غلطیوں کی اطلاع دیں
+ فریگمنٹ یا دائرۂ حیات کی سر گرمی کے بعد Rx پیغامات نہ پہنچایا جا سکے تو ضرور کوشش کریں
+ در آمد/بر آمد
+ در آمد
سے درآمد کریں
- کو برآمد کریں
- درآمد کیا جا رہا ہے…
- برآمد کر رہا ہے…
- فائل درآمد کریں
- پچھلی برآمد
- سبسکرپشنز کو درآمد نہیں کیا جاسکا
- رکنیت برآمد نہیں کر سکا
+ کو بر آمد کریں
+ در آمد کیا جا رہا ہے…
+ بر آمد کر رہا ہے…
+ فائل در آمد کریں
+ پچھلی بر آمد
+ رکنیتوں کو در آمد نہیں کیا جا سکا
+ رکنیتوں بر آمد نہیں کر سکا
برآمد فائل کو ڈاؤن لوڈ کرکے YouTube کی رکنیت کو درآمد کریں:
\n
-\n1. اس یو آر ایل پر جائیں: %1$s
+\n1. اس URL پر جائیں:
+\n%1$s
\n2. جب پوچھا جائے تو لاگ ان کریں
-\nA. ڈاؤن لوڈ شروع ہونا چاہئے (یہ برآمد فائل ہے)
+\n3. ڈاؤن لوڈ شروع ہونا چاہئے (یہ برآمد فائل ہے)
۔URL یا آپ کی ID ٹائپ کرکے ایک SoundCloud پروفائل درآمد کریں:
\n
\n1. ویب براؤزر میں \"ڈیسک ٹاپ موڈ\" کو فعال کریں (یہ سائٹ موبائل آلات کے لئے دستیاب نہیں ہے)
-\n2. اس URL پر جائیں: %1$s
+\n2. اس URL پر جائیں:
+\n%1$s
\n3. جب پوچھا جائے تو لاگ ان کریں
-\n4. پروفائل یو آر ایل کاپی کریں جہاں تک آپ کی رہنمائی کی گئی تھی۔
- yourID، soundcloud.com/yourid
- یاد رکھیں کہ یہ آپریشن نیٹ ورک مہنگا ہوسکتا ہے۔
+\n4. پروفائل URL کاپی کریں جہاں تک آپ کی رہنمائی کی گئی تھی۔
+ آپ کی آئی ڈی، soundcloud.com/yourid
+ اس بات کو ذہن میں رکھیں کہ اس عملیہ کا نیٹ ورک مہنگا ہو سکتا ہے۔
\n
-\nکیا آپ جاری رکھنا چاہتے ہیں؟
+\nکیا آپ جاری رکھنا چاہتے ہیں ؟
پلے بیک رفتار کنٹرول
ٹیمپو
- "آواز کو موٹا کرنا"
- ختم (مسخ کا سبب بن سکتا ہے)
- کیپشن
+ موٹی آواز
+ غیر مربوط (مسخ کا سبب بن سکتا ہے)
+ عنوانات
پلیئر کیپشن ٹیکسٹ اسکیل اور بیک گراونڈ اسٹائل میں ترمیم کریں۔ اثر لینے کیلئے ایپ کو دوبارہ شروع کرنا ضروری ہے۔
اس فائل کو چلانے کے لئے کوئی ایپ انسٹال نہیں ہے
دیکھنے کی سرگزشت صاف کریں
@@ -373,24 +375,23 @@
تلاش کے الفاظ کی سرگزشت حذف کی گئیں
تلاش کی مکمل سرگزشت حذف کریں؟
تلاش کی سرگزشت حذف ہوئی۔
- 1 شے حذف کر دی گئی ۔
- نیو پائپ کاپلیفٹ فری سافٹ ویئر ہے: آپ استعمال کرسکتے ہیں ، مطالعہ شیئر کرسکتے ہیں اور اپنی مرضی سے اسے بہتر کرسکتے ہیں۔ خاص طور پر آپ اسے مفت سافٹ ویئر فاؤنڈیشن کے ذریعہ شائع کردہ GNU جنرل پبلک لائسنس کی شرائط کے تحت دوبارہ تقسیم اور / یا ترمیم کرسکتے ہیں ، جو لائسنس کا ورژن 3 ، یا (آپ کے اختیار پر) کسی بھی بعد کا ورژن ہے۔
+ 1 شے حذف کر دی گئی۔
+ نیو پائپ کاپلیفٹ فری سافٹ ویئر ہے: آپ استعمال کرسکتے ہیں، مطالعہ شیئر کرسکتے ہیں اور اپنی مرضی سے اسے بہتر کرسکتے ہیں۔ خاص طور پر آپ اسے مفت سافٹ ویئر فاؤنڈیشن کے ذریعہ شائع کردہ GNU جنرل پبلک لائسنس کی شرائط کے تحت دوبارہ تقسیم اور / یا ترمیم کرسکتے ہیں، خواہ لائسنس کا ورژن 3، یا (آپ کے اختیار پر) کسی بھی بعد کا ورژن۔
کیا آپ ترتیبات بھی درآمد کرنا چاہتے ہیں؟
نیو پائپ کی رازداری کی پالیسی
- نیوپی پائپ منصوبہ آپ کی رازداری کو بہت سنجیدگی سے لیتا ہے. لہذا ، اپلی کیشن آپ کی رضامندی کے بغیر کسی بھی ڈیٹا کو جمع نہیں کرتا.
-\nنیو پائپ کی رازداری کی پالیسی تفصیل سے وضاحت کرتی ہے کہ آپ کو کریش رپورٹ بھیجنے پر کیا ڈیٹا بھیجا جاتا ہے اور ذخیرہ کیا جاتا ہے ۔
+ نیو پائپ منصوبہ آپ کی رازداری کو بہت سنجیدگی سے لیتا ہے. لہذا، ایپلی کیشن آپ کی رضامندی کے بغیر کسی بھی ڈیٹا کو جمع نہیں کرتا./nنیو پائپ کی رازداری پالیسی تفصیل سے وضاحت کرتی ہے کہ آپ کے کریش رپورٹ بھیجنے پر کیا ڈیٹا بھیجا جاتا ہے اور ذخیرہ کیا جاتا ہے ۔
رازداری کی پالیسی پڑھیں
- یورپی جنرل ڈیٹا پروٹیکشن ریگولیشن (جی ڈی پی آر) کی تعمیل کرنے کیلئے ، ہم آپ کی توجہ نیو پائپ کی رازداری کی پالیسی کی طرف مبذول کراتے ہیں۔ برائے مہربانی اسے غور سے پڑھیں۔
-\nہمیں بگ رپورٹ بھیجنے کے ل it آپ کو اسے قبول کرنا چاہئے۔
- قبول کریں
+ یورپی جنرل ڈیٹا پروٹیکشن ریگولیشن (جی ڈی پی آر) کی تعمیل کرنے کیلئے، ہم آپ کی توجہ نیو پائپ کی رازداری کی پالیسی کی طرف مبذول کراتے ہیں۔ برائے مہربانی اسے غور سے پڑھیں۔
+\nہمیں بگ رپورٹ بھیجنے کے لیے آپ کو اسے قبول کرنا ضروری ہے۔
+ قبول
رد
- کوئی حد نہیں
- موبائل ڈیٹا کا استعمال کرتے وقت ریذولوشن کو محدود کریں
- ایپ سوئچ کو کم سے کم کریں
- اہم ویڈیو پلیئر سے دوسرے ایپ میں سوئچنگ کرتے وقت کارروائی — %s
+ لا محدود
+ موبائل ڈیٹا کا استعمال کرتے وقت ریزولوشن کو محدود کریں
+ ایپ بدلنے پر چھوٹا کریں
+ اصل ویڈیو پلیئر سے دوسرے ایپ میں تبدیل ہوتے وقت کارروائی — %s
کوئی نہیں
- پس منظری پلیر میں کم کریں
- پاپ اپ پلیر میں کم کریں
+ پس منظر پلیئر میں کم کریں
+ پاپ اپ پلیئر میں کم کریں
خاموشی کے دوران فاسٹ فارورڈ
قدم
ری سیٹ کریں
@@ -412,28 +413,28 @@
جدید نیو پائپ ورژن کیلئے اطلاعات
بیرونی ذخیرہ دستیاب نہیں
بیرونی ایسڈی کارڈ پر ڈاؤن لوڈ ممکن نہیں۔ ڈاؤن لوڈ فولڈر کے مقام کو دوبارہ ترتیب دیں؟
- پہلے سے طے شدہ ٹیبز کا استعمال ، محفوظ ٹیبز کو پڑھنے کے دوران خرابی
- ڈیفالٹس بحال کریں
- کیا آپ ڈیفالٹس کو بحال کرنا چاہتے ہیں؟
+ پہلے سے طے شدہ ٹیبز کا استعمال، محفوظ ٹیبز کو پڑھنے کے دوران خرابی
+ طے شدہ بحال کریں
+ کیا آپ پہلے سے طے شدہ کو بحال کرنا چاہتے ہیں؟
صارفین کا شمار دستیاب نہیں
- مرکزی صفحہ پر کون کون سے ٹیبزدکھائے جاہیں
+ مرکزی صفحہ پر کون کون سے ٹیبز دکھائے جاہیں
انتخاب
- تازہ ترین
- جب نیا ورژن دستیاب ہوتا ہے تو فوری طور پر ایپ اپڈیٹ کے لئے ایک اطلاع دکھائیں
- فہرست منظردیکھیں
+ تازہ کاری
+ نیا ورژن دستیاب ہونے پر ایپ کی تازہ کاری کے لیے اجازتی اطلاع دکھائیں
+ فہرست نما اسلوب
فہرست
گرڈ
خودکار
- منظر سوئچ کریں
- نیو پائپ اپ ڈیٹ دستیاب!
+ منظر بدلیں
+ نیو پائپ کی تازہ کاری دستیاب!
ڈاؤن لوڈ کرنے کے لئے کلک کریں
ختم
ملتوی
- موقوف
- قطار میں کھڑا ہے
- پوسٹ پروسیسنگ
+ توقف
+ قطار میں
+ بعد کا عمل جاری
قطار
- سسٹم نےکارروائی سے انکار کیا گیا
+ سسٹم کے ذریعہ کارروائی سے انکار کیا گیا
ڈاؤن لوڈ ناکام
ڈاؤن لوڈ مکمل
%s ڈاؤن لوڈ مکمل ہوا
@@ -442,22 +443,22 @@
اس نام کے ساتھ ایک ڈاؤن لوڈ جاری ہے
غلطی دکھائیں
کوڈ
- مقصود پوشہ نہیں بنایا جا سکتا
+ مطلوبہ فولڈر نہیں بنایا جا سکتا
فائل نہیں بنائی جاسکتی ہے
- نظام نے اجازت نہیں دی
+ سسٹم نے اجازت نہیں دی
محفوظ کنکشن ناکام
سرور نہیں مل سکا
- سرور سے متصل نہیں ہوسکتا
+ سرور سے متصل نہیں ہو سکتا
سرور ڈیٹا نہیں بھیجتا ہے
- سرور ملٹی تھریڈڈ ڈاؤن لوڈز کو قبول نہیں کرتا ہے ، @ سٹرنگ / msg_threads = 1 کے ساتھ دوبارہ کوشش کریں
+ سرور ملٹی تھریڈڈ ڈاؤن لوڈز کو قبول نہیں کرتا ہے، @string/msg_threads = 1 کے ساتھ دوبارہ کوشش کریں
نہیں ملا
- پوسٹ پروسیسنگ ناکام
+ بعد کا عمل نا کام
ختم شدہ ڈاؤن لوڈ صاف کریں
- رکو
- زیادہ سے زیادہ دوبارہ کوشش کریں
+ روکیں
+ زیادہ سے زیادہ کوششیں
ڈاؤن لوڈ منسوخ کرنے سے پہلے کوششوں کی زیادہ سے زیادہ تعداد
- میٹرڈ نیٹ ورک پر مداخلت
- موبائل ڈیٹا پر سوئچنگ کرتے وقت مفید ہے ، اگرچہ کچھ ڈاؤن لوڈ معطل نہیں ہوسکتی ہیں
+ میٹر والی نیٹ ورک پر مداخلت
+ موبائل ڈیٹا پر بدلتے وقت مفید ہے، اگرچہ کچھ ڈاؤن لوڈ معطل نہیں ہوسکتی ہیں
تقریبات
کانفرنسیں
تبصرے دکھائیں
@@ -479,20 +480,20 @@
پلے بیک پوزیشنس حذف ہوئیں۔
فائل منتقل یا حذف ہوگئی
اس نام والی فائل پہلے سے موجود ہے
- اس نام والی ڈاؤن لوڈ کی فائل پہلے سے موجود ہے
+ اس نام کی ڈاؤن لوڈ کی گئی فائل پہلے سے موجود ہے
فائل برتحریر نہیں کر سکتا
اس نام کے ساتھ ڈاؤن لوڈ زیر التوا ہے
فائل پر کام کرنے کے دوران نیو پائپ بند کردی گئی تھی
- آلے میں کوئی جگہ نہیں بچی
- پیشرفت ختم ہوگئی ، کیونکہ فائل کو حذف کردیا گیا تھا
+ آلہ میں کوئی جگہ نہیں بچی
+ پیشرفت ختم ہوگئی، کیونکہ فائل کو حذف کردیا گیا تھا
رابطے کا وقت ختم
کیا آپ اپنی ڈاؤن لوڈ کی سرگزشت کو صاف کرنا چاہتے ہیں یا ڈاؤن لوڈ کی گئی تمام فائلوں کو حذف کرنا چاہتے ہیں؟
ڈاؤن لوڈ کی قطار کو محدود کریں
ایک ڈاؤن لوڈ ایک ہی وقت میں چلے گا
ڈاؤن لوڈ شروع کریں
ڈاؤن لوڈ روکیں
- کہاں پرڈاؤن لوڈ کریں
- آپ سے پوچھا جائے گا کہ ہر ڈاؤن لوڈ کو کہاں محفوظ کرنا ہے
+ ڈاؤن لوڈ کہاں کریں، پوچھیں
+ ہر ڈاؤن لوڈ کو کہاں محفوظ کرنا ہے آپ سے پوچھا جائے گا
آپ سے پوچھا جائے گا کہ ہر ڈاؤن لوڈ کو کہاں محفوظ کرنا ہے۔
\nاگر آپ کسی بیرونی SD کارڈ پر ڈاؤن لوڈ کرنا چاہتے ہیں تو SAF کا انتخاب کریں
SAF استعمال کریں
@@ -502,7 +503,7 @@
تمام پلے بیک پوزیشن حذف کی گئی
تمام پلے بیک پوزیشنس حذف کریں؟
مؤثر بنانے کے لئے ڈاؤن لوڈ فولڈرز کو تبدیل کریں
- ٹوگل خدمت ، حالیہ منتخب:
+ ٹوگل خدمت، حالیہ منتخب:
کوئی نہیں دیکھ رہا ہے
- %s دیکھ رہا
From 089a9f1a9c650a814692fb926820376d61b21708 Mon Sep 17 00:00:00 2001
From: nautilusx
Date: Fri, 31 Jan 2020 15:37:13 +0000
Subject: [PATCH 081/199] Translated using Weblate (German)
Currently translated at 100.0% (527 of 527 strings)
---
app/src/main/res/values-de/strings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 9a2482814..1fab90386 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -484,7 +484,7 @@
Wiedergabeposition gelöscht.
Datei verschoben oder gelöscht
Eine heruntergeladene Datei mit diesem Namen existiert bereits
- kann die Datei nicht überschreiben
+ Datei kann nicht überschreiben werden
Es gibt einen ausstehenden Download mit diesem Namen
NewPipe wurde während der Verarbeitung der Datei geschlossen
Kein Speicherplatz mehr auf dem Gerät
@@ -506,7 +506,7 @@
Alle Wiedergabepositionen löschen\?
Ändere die Downloadordner, damit sie wirksam werden
Dienst umschalten, aktuell ausgewählt:
- Quiosque Predefinido
+ Standard-Kiosk
Niemand schaut zu
- %s Zuschauer
From 6be23a0a6fd7ea3ced7efed21c5b8e4b8321a7ec Mon Sep 17 00:00:00 2001
From: bopol
Date: Fri, 31 Jan 2020 22:49:43 +0100
Subject: [PATCH 082/199] fix wrong language shown many popup dialogs
Changed android.R.string.ok, which is "OK", into R.string.finish, which is also OK, but from our strings
Then for a small amount of languages that don't have Android translation, it will show the good string.
---
.../newpipe/about/LicenseFragmentHelper.java | 15 +++++++-----
.../newpipe/download/DownloadDialog.java | 24 +++++++++++--------
.../ImportConfirmationDialog.java | 5 +++-
.../settings/ContentSettingsFragment.java | 12 ++++++----
.../settings/DownloadSettingsFragment.java | 10 +++++---
.../giga/ui/adapter/MissionAdapter.java | 2 +-
6 files changed, 43 insertions(+), 25 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java b/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java
index eeafc1f57..9a11b19cc 100644
--- a/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java
@@ -3,6 +3,7 @@ package org.schabi.newpipe.about;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.res.Resources;
import android.os.AsyncTask;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
@@ -14,6 +15,8 @@ import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.ref.WeakReference;
+import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
+
public class LicenseFragmentHelper extends AsyncTask
Aucune vidéo
- - Vidéo
- - Vidéos
+ - %s vidéo
+ - %s vidéos
Caractères spéciaux
Élément supprimé
From fb0d626cb27638754ee8a25634cac3a9c8e7a4e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Isak=20Holmstr=C3=B6m?=
Date: Fri, 31 Jan 2020 07:17:18 +0000
Subject: [PATCH 090/199] Translated using Weblate (Swedish)
Currently translated at 88.2% (465 of 527 strings)
---
app/src/main/res/values-sv/strings.xml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 89d51493e..90e976823 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -463,4 +463,8 @@
Återställ den senaste uppspelningspositionen
Positioner i listor
Ändra nedladdningsmapp för att träda i kraft
+ Spela automatiskt
+ Töm data
+ Snabb spola -framåt/-bakåt
+ Aktivera video på låsskärmen
\ No newline at end of file
From c0519d8313505b5b074e17906edadacfb276484a Mon Sep 17 00:00:00 2001
From: Markus Richter <8398165+mqus@users.noreply.github.com>
Date: Wed, 29 Jan 2020 13:48:02 +0100
Subject: [PATCH 091/199] fixes #3021, see also
https://github.com/TeamNewPipe/NewPipe-legacy/pull/21
---
app/src/main/java/us/shandian/giga/get/DownloadMission.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/java/us/shandian/giga/get/DownloadMission.java b/app/src/main/java/us/shandian/giga/get/DownloadMission.java
index c0f85b321..9ad73050b 100644
--- a/app/src/main/java/us/shandian/giga/get/DownloadMission.java
+++ b/app/src/main/java/us/shandian/giga/get/DownloadMission.java
@@ -223,6 +223,7 @@ public class DownloadMission extends Mission {
conn.setInstanceFollowRedirects(true);
conn.setRequestProperty("User-Agent", DownloaderImpl.USER_AGENT);
conn.setRequestProperty("Accept", "*/*");
+ conn.setRequestProperty("Accept-Encoding", "*");
if (headRequest) conn.setRequestMethod("HEAD");
From 61d102dc75a1a1470adab17edcf5d251c67e2549 Mon Sep 17 00:00:00 2001
From: Stypox
Date: Wed, 29 Jan 2020 18:43:44 +0100
Subject: [PATCH 092/199] Change recaptcha string names to match style
---
app/src/main/AndroidManifest.xml | 2 +-
app/src/main/res/values-ar/strings.xml | 4 ++--
app/src/main/res/values-b+ast/strings.xml | 4 ++--
app/src/main/res/values-b+zh+HANS+CN/strings.xml | 4 ++--
app/src/main/res/values-be/strings.xml | 4 ++--
app/src/main/res/values-bg/strings.xml | 4 ++--
app/src/main/res/values-bn-rBD/strings.xml | 4 ++--
app/src/main/res/values-ca/strings.xml | 4 ++--
app/src/main/res/values-cmn/strings.xml | 4 ++--
app/src/main/res/values-cs/strings.xml | 4 ++--
app/src/main/res/values-da/strings.xml | 4 ++--
app/src/main/res/values-de/strings.xml | 4 ++--
app/src/main/res/values-el/strings.xml | 4 ++--
app/src/main/res/values-eo/strings.xml | 4 ++--
app/src/main/res/values-es/strings.xml | 4 ++--
app/src/main/res/values-et/strings.xml | 4 ++--
app/src/main/res/values-eu/strings.xml | 4 ++--
app/src/main/res/values-fa/strings.xml | 4 ++--
app/src/main/res/values-fi/strings.xml | 4 ++--
app/src/main/res/values-fr/strings.xml | 4 ++--
app/src/main/res/values-gl/strings.xml | 4 ++--
app/src/main/res/values-he/strings.xml | 4 ++--
app/src/main/res/values-hi/strings.xml | 4 ++--
app/src/main/res/values-hr/strings.xml | 4 ++--
app/src/main/res/values-hu/strings.xml | 4 ++--
app/src/main/res/values-id/strings.xml | 4 ++--
app/src/main/res/values-it/strings.xml | 4 ++--
app/src/main/res/values-ja/strings.xml | 4 ++--
app/src/main/res/values-ko/strings.xml | 4 ++--
app/src/main/res/values-ku/strings.xml | 4 ++--
app/src/main/res/values-lt/strings.xml | 4 ++--
app/src/main/res/values-mk/strings.xml | 4 ++--
app/src/main/res/values-ms/strings.xml | 4 ++--
app/src/main/res/values-nb-rNO/strings.xml | 4 ++--
app/src/main/res/values-nl-rBE/strings.xml | 4 ++--
app/src/main/res/values-nl/strings.xml | 4 ++--
app/src/main/res/values-pa/strings.xml | 4 ++--
app/src/main/res/values-pl/strings.xml | 4 ++--
app/src/main/res/values-pt-rBR/strings.xml | 4 ++--
app/src/main/res/values-pt/strings.xml | 4 ++--
app/src/main/res/values-ro/strings.xml | 4 ++--
app/src/main/res/values-ru/strings.xml | 4 ++--
app/src/main/res/values-sk/strings.xml | 4 ++--
app/src/main/res/values-sl/strings.xml | 4 ++--
app/src/main/res/values-sr/strings.xml | 4 ++--
app/src/main/res/values-sv/strings.xml | 4 ++--
app/src/main/res/values-tr/strings.xml | 4 ++--
app/src/main/res/values-uk/strings.xml | 4 ++--
app/src/main/res/values-ur/strings.xml | 4 ++--
app/src/main/res/values-vi/strings.xml | 4 ++--
app/src/main/res/values-zh-rCN/strings.xml | 4 ++--
app/src/main/res/values-zh-rHK/strings.xml | 4 ++--
app/src/main/res/values-zh-rTW/strings.xml | 4 ++--
app/src/main/res/values/strings.xml | 7 ++++---
54 files changed, 109 insertions(+), 108 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 21a846494..f27f4bad0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -112,7 +112,7 @@
+ android:label="@string/recaptcha"/>
يرجى تحديد مجلد التنزيل لاحقا في الإعدادات
هذا الإذن مطلوب
\nللفتح في وضع النافذة المنبثقة
- اختبار reCAPTCHA
+ اختبار reCAPTCHA
السماح بالرموز في أسماء الملفات
يتم استبدال الرموز غير المسموح بها بهذه القيمة
استبدال الحرف
@@ -235,7 +235,7 @@
الإعدادات الصوتية
تشغيل هنا
بدأ التشغيل في نافذة منبثقة جديدة
- تحدي الكابتشا
+ تحدي الكابتشا
ضغط مطول للإدراج الى قائمة الانتظار
- %s بدون مشهد
diff --git a/app/src/main/res/values-b+ast/strings.xml b/app/src/main/res/values-b+ast/strings.xml
index 08b22c616..5ddfa7ead 100644
--- a/app/src/main/res/values-b+ast/strings.xml
+++ b/app/src/main/res/values-b+ast/strings.xml
@@ -58,8 +58,8 @@
Mil mill.
Precísase esti permisu
\np\'abrir nel mou ventanu
- reCAPTCHA
- Retu de reCAPTCHA
+ reCAPTCHA
+ Retu de reCAPTCHA
Solicitóse\'l retu de reCAPTCHA
En segundu planu
Ventanu
diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml
index 078379683..5fb13d968 100644
--- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml
+++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml
@@ -110,7 +110,7 @@
点击了解详情
请稍候…
复制至剪贴板
- reCAPTCHA验证码
+ reCAPTCHA验证码
悬浮窗播放
关于NewPipe
设置
@@ -207,7 +207,7 @@
请稍后在设置中设定下载目录
用悬浮窗模式
\n需要此权限
- reCAPTCHA验证
+ reCAPTCHA验证
请求的新的CAPTCHA验证
NewPipe 悬浮窗模式
在悬浮窗中播放
diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml
index 1cf3abd7e..b3a09cb8f 100644
--- a/app/src/main/res/values-be/strings.xml
+++ b/app/src/main/res/values-be/strings.xml
@@ -247,8 +247,8 @@
Гэтае разрозненне трэба для
\nпрайгравання ў акне
1 элемент выдалены.
- reCAPTCHA
- Запыт reCAPTCHA
+ reCAPTCHA
+ Запыт reCAPTCHA
Запытаны ўвод reCAPTCHA
Загрузкі
Дапушчальныя сімвалы назвы файлаў
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index 1eb9222ec..7c813d0a9 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -269,8 +269,8 @@
Това разрешение се изисква за
\nвъзпроизвеждане в отделен прозорец
1 елемент е изтрит.
- преКАПЧА
- reCAPTCHA заявка
+ преКАПЧА
+ reCAPTCHA заявка
Изисква се въвеждане на reCAPTCHA
Изтегляне
Повечето специални символи
diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml
index 3a623f2c3..37938334c 100644
--- a/app/src/main/res/values-bn-rBD/strings.xml
+++ b/app/src/main/res/values-bn-rBD/strings.xml
@@ -145,8 +145,8 @@
- রিক্যাপচা
- reCAPTCHA চ্যালেঞ্জ
+ রিক্যাপচা
+ reCAPTCHA চ্যালেঞ্জ
reCAPTCHA চ্যালেঞ্জ অনুরোধ করা হয়েছে
কি:\\nঅনুরোধ:\\nকন্টেন্ট ভাষা:\\nসার্ভিস:\\nসময়(GMT এ):\\nপ্যাকেজ:\\nসংস্করণ:\\nওএস সংস্করণ:\\nআইপি পরিসর:
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index bcc816577..20deb3160 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -67,7 +67,7 @@
D\'acord
Nom de fitxer
Error
- reCAPTCHA
+ reCAPTCHA
Baixades
Paràmetres
Quant a
@@ -307,7 +307,7 @@
Feu un toc aquí per a més detalls
Defineix una carpeta de baixades més endavant als paràmetres
Es necessita aquest permís per a obrir el mode emergent
- Camp reCAPTCHA
+ Camp reCAPTCHA
S\'ha sol·licitat l\'emplenament d\'un camp reCAPTCHA
Se substituiran els caràcters no vàlids amb aquest valor
Caràcter de substitució
diff --git a/app/src/main/res/values-cmn/strings.xml b/app/src/main/res/values-cmn/strings.xml
index 3ff479bfd..878efa9f2 100644
--- a/app/src/main/res/values-cmn/strings.xml
+++ b/app/src/main/res/values-cmn/strings.xml
@@ -266,8 +266,8 @@
在悬浮窗模式打开
\n需要此权限
已删除一个项目。
- reCAPTCHA 验证
- reCAPTCHA 验证
+ reCAPTCHA 验证
+ reCAPTCHA 验证
需完成 reCAPTCHA 验证
下载
文件名中允许的字符
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 66c952a26..044d908c4 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -102,8 +102,8 @@
Přehrát
Nová mise
OK
- reCAPTCHA
- Výzva reCAPTCHA
+ reCAPTCHA
+ Výzva reCAPTCHA
Požadována výzva reCAPTCHA
Černé
Kontrolní součet
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 5e44aab61..ff2fea8c9 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -249,8 +249,8 @@
Vælg venligst en tilgængelig downloadmappe
Denne tilladelse er nødvendig for at kunne åbne i pop op-tilstand
1 element slettet.
- reCAPTCHA
- reCAPTCHA-udfordring
+ reCAPTCHA
+ reCAPTCHA-udfordring
Der blev anmodet om en reCAPTCHA-udfordring
Download
Tilladte tegn i filnavne
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 53b9a52eb..fa5e798a4 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -110,9 +110,9 @@
NewPipe lädt herunter
Für Details antippen
Ungültige URL oder Internet nicht verfügbar
- reCAPTCHA
+ reCAPTCHA
Schwarz
- reCAPTCHA-Aufgabe
+ reCAPTCHA-Aufgabe
reCAPTCHA-Aufgabe angefordert
Später
Ja
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 3d2397a0c..915e1902d 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -251,8 +251,8 @@
Αυτή η άδεια είναι απαραίτητη για
\nτο άνοιγμα αναδυόμενων παραθύρων
1 αντικείμενο διαγράφηκε.
- Αυτόματο τεστ
- Πρόκληση reCAPTCHA
+ Αυτόματο τεστ
+ Πρόκληση reCAPTCHA
Ζητήθηκε πρόκληση reCAPTCHA
Επιτρεπόμενοι χαρακτήρες σε ονόματα αρχείων
Οι μη έγκυροι χαρακτήρες αντικαθίστανται με αυτήν την τιμή
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index 224e8837e..754df0784 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -109,8 +109,8 @@
Erarosignalo
Ne povis ŝarĝi bildon
Apo kraŝis
- reCAPTCHA
- reCAPTCHA defio
+ reCAPTCHA
+ reCAPTCHA defio
reCAPTCHA defio petita
Ĉiuj
Kanalo
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 9f25208bb..d7a9bc2e8 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -115,11 +115,11 @@
k
M
MM
- reCAPTCHA
+ reCAPTCHA
Abrir en modo emergente
Se necesita este permiso
\npara abrir en modo emergente
- Reto reCAPTCHA
+ Reto reCAPTCHA
Reto reCAPTCHA requerido
Modo emergente de NewPipe
Reproduciendo en modo emergente
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index 99dc6cc80..79442f421 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -238,7 +238,7 @@
Need õigused on vajalikud
\nhüpikakna avamiseks
Kustutati 1 element.
- "reCAPTCHA "
+ "reCAPTCHA "
Laadi alla
Lubatud tähemärgid failinimedes
Vigased tähemärgid asendatakse selle väärtusega
@@ -370,7 +370,7 @@
Lood
Kasutajad
Lülitu peamisele
- reCAPTCHA nõue
+ reCAPTCHA nõue
reCAPTCHA nõude taotlus
© %1$s %2$s %3$s alla
Vaba kergekaaluline Androidi voogesitus.
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index b376f1f6d..1ec970d5f 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -139,8 +139,8 @@
Ezarri deskargetarako karpeta bat ezarpenetan geroago
Baimen hau beharrezkoa da
\nlaster-leiho moduan irekitzeko
- reCAPTCHA
- reCAPTCHA erronka
+ reCAPTCHA
+ reCAPTCHA erronka
reCAPTCHA erronka eskatu da
NewPipe aplikazioari buruz
Ezarpenak
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index b2a04e14c..790c47669 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -296,7 +296,7 @@
زمان فعلی پخش کننده را به صورت تقریبی و سریع جلو ببر
این گزینه باعث می شود هنگام جلو/عقب کردن زمان تصویر، به جای زمان دقیق انتخاب شده، به زمان غیر دقیق و نزدیک به مکان انتخاب شده برود که این کار سریع تر انجام می شود
کاره یا رابط کاربری با خطا مواجه شد
- ریکپچا
+ ریکپچا
بارگیری
تغییر جهت
تغییر وضعیت به پسزمینه
@@ -361,7 +361,7 @@
بازگردانی
در صف پخش کننده پسزمینه قرار گرفت
چه:\\nدرخواست:\\nزبان درخواست:\\nخدمت:\\nزمان GMT:\\nنگارش:\\nنگارش س.ع:\\nبازه آیپی:
- چالش ریکپچا
+ چالش ریکپچا
نیاز به چالش ریکپچا است
این مجوز مورد نیاز است
\nتا بتوان به حالت تصویر در تصویر رفت
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 1e91fa55a..edf10c6f0 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -173,8 +173,8 @@
Kopioitu leikepöydälle
Valitse saatavilla oleva latauskansio
Tämä käyttöoikeus tarvitaan ponnahdusikkunan käytölle
- reCAPTCHA
- reCAPTCHA Haaste
+ reCAPTCHA
+ reCAPTCHA Haaste
reCAPTCHA Haaste pyydetty
Lataus
Sallitut merkit tiedostonimissä
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 444310aef..6b86cd2b4 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -105,11 +105,11 @@
Veuillez définir ultérieurement un dossier de téléchargement dans les paramètres
Impossible de charger l’image
L’application a planté
- reCAPTCHA
+ reCAPTCHA
Noir
Tout
Chaîne
- Défi reCAPTCHA
+ Défi reCAPTCHA
Défi reCAPTCHA demandé
Ouvrir en mode flottant
Mode flottant NewPipe
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 899a9be10..6427e1378 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -266,8 +266,8 @@
\npara abrir o vídeo no modo «popup»
1 elemento foi eliminado.
- reCAPTCHA
- Desafío reCAPTCHA
+ reCAPTCHA
+ Desafío reCAPTCHA
Desafío reCAPTCHA solicitado
Descarregar
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index 7a1338f60..35b86ec2d 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -192,8 +192,8 @@
נא לציין תיקיית הורדה בהגדרות בהמשך
הרשאה זו נדרשת לטובת
\nפתיחה בחלון צף
- reCAPTCHA
- אתגר reCAPTCHA
+ reCAPTCHA
+ אתגר reCAPTCHA
התקבלה בקשה לאתגר reCAPTCHA
הורדה
רשימת תווים אפשרית בשמות קבצים
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index 82b2db1b5..a7746330a 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -206,8 +206,8 @@
क्लिपबोर्ड पर कॉपी हो गया है
कृपया बाद में सेटिंग्स में डाउनलोड स्थान चुने
पॉपअप के तरीके में खोलने के लिए अनुमति की जरुरत है
- reCAPTCHA
- reCAPTCHA चुनौती
+ reCAPTCHA
+ reCAPTCHA चुनौती
reCAPTCHA चुनौती का अनुरोध किया
डाउनलोड
फाइल के नाम के लिए आवश्यक characters(जैसे - १२३, abc) की अनुमति है
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index a981dcf5e..beb2bdd02 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -153,8 +153,8 @@
Molimo odaberite dostupnu mapu za preuzimanje
Ova dozvola je potrebna za
\notvaranje skočnog prozora
- reCAPTCHA
- reCAPTCHA zadatak
+ reCAPTCHA
+ reCAPTCHA zadatak
Traži se reCAPTCHA zadatak
Preuzimanja
Dozvoljeni znakovi u nazivima datoteka
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 4d7ff986e..dc1021adb 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -233,8 +233,8 @@
Átnevezés
Ez az engedély szükséges a felugró ablakban történő megnyitáshoz
1 elem törölve.
- reCAPTCHA
- reCAPTCHA rejtvény
+ reCAPTCHA
+ reCAPTCHA rejtvény
reCAPTCHA rejtvény igényelve
Letöltés
Fájlnevekben engedélyezett karakterek
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
index 8677df678..ffcacdd6d 100644
--- a/app/src/main/res/values-id/strings.xml
+++ b/app/src/main/res/values-id/strings.xml
@@ -105,8 +105,8 @@
Apa:\\nPermintaan:\\nBahasa Konten:\\nLayanan:\\nWaktu GMT:\\nPaket:\\nVersi:\\nVersi OS:
Laporan pengguna
Thread
- reCAPTCHA
- Tantangan reCAPTCHA
+ reCAPTCHA
+ Tantangan reCAPTCHA
Meminta kode reCAPTCHA
Hitam
Semua
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 4942f4720..7ab68268f 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -106,8 +106,8 @@
Impossibile caricare l\'immagine
L\'app/UI si è interrotta
Cosa:\\nRichiesta:\\nLingua contenuto:\\nServizio:\\nOrario GMT:\\nPacchetto:\\nVersione:\\nVersione SO:
- reCAPTCHA
- Risoluzione reCAPTCHA
+ reCAPTCHA
+ Risoluzione reCAPTCHA
Nero
Tutto
Canale
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 553a54f1e..7980645e2 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -106,8 +106,8 @@
画像を読み込みできません
アプリ/UI がクラッシュしました
何:\\\\n提案:\\\\nコンテンツ言語:\\\\nサービス:\\\\nGMT 時間:\\\\nパッケージ:\\\\nバージョン:\\\\nOSバージョン:
- reCAPTCHA
- reCAPTCHA の要求
+ reCAPTCHA
+ reCAPTCHA の要求
reCAPTCHA を要求しました
ブラック
すべて
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index e8a2a9c51..630abcdaa 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -180,7 +180,7 @@
다운로드 할 폴더를 설정에서 지정하세요
이 권한은 팝업 모드에서
\n열기 위해 필요합니다
- reCAPTCHA
+ reCAPTCHA
reCAPTCHA 확인 요청됨
다운로드
파일명에 허용되는 문자
@@ -274,7 +274,7 @@
모두 삭제하기
취소
이름 바꾸기
- reCAPTCHA 확인
+ reCAPTCHA 확인
이 항목을 시청 기록에서 삭제하시겠습니까?
모든 항목을 시청 기록에서 삭제하시겠습니까?
마지막으로 재생
diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml
index 50350e1b3..2f39136e2 100644
--- a/app/src/main/res/values-ku/strings.xml
+++ b/app/src/main/res/values-ku/strings.xml
@@ -215,8 +215,8 @@
تکایە فۆڵدەرێک بۆ شوێنی داگرتن دیاریبکە لە ڕێکخستنەکان
ئەم دەسەڵاتە پێویستە بۆ
\nکردنەوەی پەنجەرەی بچووک
- reCAPTCHA
- reCAPTCHA داواکاری
+ reCAPTCHA
+ reCAPTCHA داواکاری
reCAPTCHA داواکراوە
داگرتن
پیت و ژمارەکان
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 43fe9d862..f84a3c23c 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -153,8 +153,8 @@
Prašome pasirinkti galimą atsisiuntimų aplankalą
Šis leidimas nereikalingas, kad atidarytiviššokančio lango rėžime
- reCAPTCHA
- reCAPTCHA iššūkis
+ reCAPTCHA
+ reCAPTCHA iššūkis
reCAPTCHA prašomas iššūkis
Prenumeruoti
diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml
index c9388a78a..96b4c8819 100644
--- a/app/src/main/res/values-mk/strings.xml
+++ b/app/src/main/res/values-mk/strings.xml
@@ -230,8 +230,8 @@
Одберете достапна локација за превземања
Оваа привилегија е потребна за
\nотворање во подпрозорче
- „reCAPTCHA“
- reCAPTCHA Предизвик
+ „reCAPTCHA“
+ reCAPTCHA Предизвик
Потребен е reCAPTCHA предизвик
Превземања
Дозволени знаци во имињата на датотеките
diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml
index 354e7b7de..f53450e13 100644
--- a/app/src/main/res/values-ms/strings.xml
+++ b/app/src/main/res/values-ms/strings.xml
@@ -258,8 +258,8 @@
Kebenaran ini diperlukan untuk
\nbuka dalam mod popup
1 item dipadamkan.
- reCAPTCHA
- Cabaran reCAPTCHA
+ reCAPTCHA
+ Cabaran reCAPTCHA
Meminta kod reCAPTCHA
Muat turun
Karakter yang dibenarkan dalam nama fail
diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml
index d01647f5d..c20161f7d 100644
--- a/app/src/main/res/values-nb-rNO/strings.xml
+++ b/app/src/main/res/values-nb-rNO/strings.xml
@@ -106,8 +106,8 @@
Nytt mål
Feilaktig nettadresse eller manglende internettilknytning
Definer en nedlastingsmappe senere i innstillingene
- reCAPTCHA
- reCAPTCHA-oppgave
+ reCAPTCHA
+ reCAPTCHA-oppgave
Åpne i oppsprettsmodus
NewPipe oppsprettsmodus
Forvalgt oppsprettsoppløsning
diff --git a/app/src/main/res/values-nl-rBE/strings.xml b/app/src/main/res/values-nl-rBE/strings.xml
index 198979def..de96152ec 100644
--- a/app/src/main/res/values-nl-rBE/strings.xml
+++ b/app/src/main/res/values-nl-rBE/strings.xml
@@ -230,8 +230,8 @@
Gekopieerd naar klembord
Kies een beschikbare downloadmap
Deze toestemming is vereist voor te openen in pop-upmodus
- reCAPTCHA
- reCAPTCHA-uitdaging
+ reCAPTCHA
+ reCAPTCHA-uitdaging
reCAPTCHA-uitdaging gevraagd
Download
Toegelaten tekens in bestandsnamen
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 9ecc936eb..1cd1391a0 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -107,8 +107,8 @@
Gekopieerd naar klembord
Kies een beschikbare downloadmap
Zwart
- reCAPTCHA
- reCAPTCHA-uitdaging
+ reCAPTCHA
+ reCAPTCHA-uitdaging
reCAPTCHA-uitdaging gevraagd
Openen in pop-upmodus
Alles
diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml
index 0e579720a..7e39321e0 100644
--- a/app/src/main/res/values-pa/strings.xml
+++ b/app/src/main/res/values-pa/strings.xml
@@ -237,8 +237,8 @@
ਬਾਅਦ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਵਿਚੋਂ ਇੱਕ ਡਾਉਨਲੋਡ ਫੋਲਡਰ ਨੂੰ ਚੁਣੋ
ਪੌਪ-ਅਪ ਮੋਡ ਵਿੱਚ ਖੋਲ੍ਹਣ ਵਾਸਤੇ ਇਸ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਹੈ
1 ਆਈਟਮ ਮਿਟਾਈ ਗਈ.
- ReCaptcha
- ReCaptcha ਚੁਣੌਤੀ
+ ReCaptcha
+ ReCaptcha ਚੁਣੌਤੀ
ReCaptcha ਚੁਣੌਤੀ ਲਈ ਬੇਨਤੀ
ਡਾਊਨਲੋਡ
ਫਾਈਲ ਨਾਮ ਵਿੱਚ ਪ੍ਰਵਾਨਿਤ ਅੱਖਰ
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 0da89ad48..0009fa8d1 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -106,8 +106,8 @@
Awaria aplikacji/interfejsu
(Eksperymentalne) Wymuś pobieranie przez Tora w celu zwiększenia prywatności (strumieniowe wideo nie jest jeszcze obsługiwane).
Start
- CAPTCHA
- Wyzwanie reCAPTCHA
+ CAPTCHA
+ Wyzwanie reCAPTCHA
Wymagane wyzwanie dotyczące reCAPTCHA
Usuwa dźwięk w niektórych rozdzielczościach
Tło
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 45fe51010..04c4e3960 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -50,8 +50,8 @@
Próximo
Abrir no navegador
Pausar
- reCAPTCHA
- Desafio reCAPTCHA
+ reCAPTCHA
+ Desafio reCAPTCHA
Desafio reCAPTCHA solicitado
Reportar um erro
Tentar novamente
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 98b85bcab..64de827bf 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -117,8 +117,8 @@
B
Esta permissão é necessária
\npara o modo de janela
- reCAPTCHA
- Desafio reCAPTCHA
+ reCAPTCHA
+ Desafio reCAPTCHA
Desafio reCAPTCHA solicitado
Modo de janela autónoma do NewPipe
Reproduzir no modo de janela autónoma
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 358de0ca8..e304e862d 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -106,8 +106,8 @@
Deschide in modul popup
Aceasta permisiune este necesara
pentru a deschide în mod pop-up
- ReCAPTCHA
- Provocare reCAPTCHA
+ ReCAPTCHA
+ Provocare reCAPTCHA
reCAPTCHA nouă cerută
NewPipe mod pop-up
"Rezoluție pop-up inițială "
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 1da98cc74..c2e8b4d4e 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -124,7 +124,7 @@
Что:\\nЗапрос:\\nЯзык контента:\\nСервис:\\nВремя по Гринвичу:\\nПакет:\\nВерсия:\\nВерсия ОС:
Это разрешение нужно для
\nвоспроизведения в окне
- reCAPTCHA
+ reCAPTCHA
Открыть во всплывающем окне
Предлагать варианты при поиске
Позже
@@ -138,7 +138,7 @@
Помнить последние размер и позицию всплывающего окна
Поисковые предложения
Лучшее разрешение
- Запрос reCAPTCHA
+ Запрос reCAPTCHA
Запрошен ввод reCAPTCHA
Высокие разрешения
NewPipe во всплывающем окне
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 6624f7a3b..1652aefa1 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -106,8 +106,8 @@
Nemožno načítať obrázok
Aplikácia/UP zlyhalo
Čo:\\nPožiadavka:\\nJazyk obsahu:\\nSlužba:\\nČas v GMT:\\nBalík:\\nVerzia:\\nVerzia OS:
- reCAPTCHA
- Výzva reCAPTCHA
+ reCAPTCHA
+ Výzva reCAPTCHA
Čierna
Všetko
Kanál
diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml
index a67b48a62..f318ca77e 100644
--- a/app/src/main/res/values-sl/strings.xml
+++ b/app/src/main/res/values-sl/strings.xml
@@ -124,8 +124,8 @@
Slike ni mogoče naložiti
Program se je sesul!
- reCAPTCHA
- Izziv reCAPTCHA
+ reCAPTCHA
+ Izziv reCAPTCHA
Zahteva izziva reCAPTCHA
Predmet:\\nZahteva:\\nJezik vsebine:\\nStoritev:\\nČas v GMT:\\nPaket:\\nRazličica:\\nRazličica OS:
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index d5f031ad8..a8abb98e9 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -107,8 +107,8 @@
Не могох да учитам слику
Апликација/УИ је краховала
Шта:\\nЗахтев:\\nЈезик садржаја:\\nУслуга:\\nГМТ време:\\nПакет:\\nИздање:\\nИздање ОС-а:\\nГлоб. ИП распон:
- Стопка
- reCAPTCHA стопка
+ Стопка
+ reCAPTCHA стопка
Решите reCAPTCHA стопку
Црна
Сви
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 89d51493e..e130ae1de 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -186,8 +186,8 @@
Ange en hämtningsmapp senare i inställningar
Denna tillåtelse behövs för att
\nöppna i popup-läge
- reCAPTCHA
- reCAPTCHA utmaning
+ reCAPTCHA
+ reCAPTCHA utmaning
reCAPTCHA utmaning begärd
Nedladdning
Tillåtna tecken i filnamn
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index c6603382d..ee070eb81 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -124,8 +124,8 @@
B
Bu izin, açılır pencere modunda
\naçmak için gereklidir
- reCAPTCHA
- reCAPTCHA formu
+ reCAPTCHA
+ reCAPTCHA formu
reCAPTCHA formu istendi
Arka plan
Açılır pencere
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 6aea1ad79..ef5dbee53 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -184,7 +184,7 @@
Помилковий URL або немає доступу в Інтернет
Цей дозвіл потрібен для перегляду
\nу віконному режимі
- reCAPTCHA
+ reCAPTCHA
Завантаження
Допустимі символи у іменах файлів
Недопустимі символи замінити на цей
@@ -256,7 +256,7 @@
- %s переглядів
Нове завдання
- Перевірка reCAPTCHA
+ Перевірка reCAPTCHA
Запит на перевірку reCAPTCHA
© %1$s, %2$s під %3$s
Учасники
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 724c9c3ed..ba8aa6b82 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -230,8 +230,8 @@
کلپ بورڈ میں کاپی کریں
براہ کرم بعد میں ترتیبات میں ڈاؤن لوڈ فولڈر کی وضاحت رکھیں
پوپ اپ موڈ میں کھولنے کیلئے اس اجازت کی ضرورت ہے
- reCAPTCHA
- reCAPTCHA چیلنج
+ reCAPTCHA
+ reCAPTCHA چیلنج
reCAPTCHA چیلینج کی درخواست کی گئی
ڈاؤن لوڈ
فائل ناموں میں حروف کی اجازت ہے
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index ab0983e7a..bfde056b0 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -135,8 +135,8 @@
Chọn một thư mục tải về có sẵn trong cài đặt
Cần quyền này để
\nmở trong chế độ popup
- ReCAPTCHA
- reCAPTCHA
+ ReCAPTCHA
+ reCAPTCHA
Yêu cầu reCAPTCHA
Giới thiệu về NewPipe
Cài đặt
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 9aa4b9245..0282e6c92 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -117,8 +117,8 @@
无法加载图像
应用/界面已崩溃
原因:\\n请求:\\n内容语言:\\n服务:\\nGMT时间:\\n包:\\n版本:\\n操作系统版本:
- reCAPTCHA
- reCAPTCHA 验证
+ reCAPTCHA
+ reCAPTCHA 验证
需要 reCAPTCHA 验证
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 3294094dc..20b14d7ea 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -120,8 +120,8 @@
事件:\\n請求:\\n內容語言:\\n服務:\\nGMT 時間:\\nPackage:\\n版本:\\n作業系統版本:
K
M
- reCAPTCHA
- reCAPTCHA 挑戰
+ reCAPTCHA
+ reCAPTCHA 挑戰
畫中畫模式需要此權限
需完成 reCAPTCHA 挑戰
啟用此選項將導致某些解像度的影片失去聲音
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 6cb16623f..388f4a8cd 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -136,8 +136,8 @@
已複製至剪貼簿
稍後請在設定中選擇下載資料夾
使用懸浮視窗模式需要此權限
- reCAPTCHA 驗證
- reCAPTCHA 驗證
+ reCAPTCHA 驗證
+ reCAPTCHA 驗證
已請求 reCAPTCHA 驗證
懸浮視窗
直播
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e1b2cc0a4..56ecc3356 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -326,10 +326,11 @@
MD5
SHA-1
- reCAPTCHA
- reCAPTCHA challenge
+
+ reCAPTCHA
+ reCAPTCHA challenge
+ Press \"Done\" when solved
reCAPTCHA challenge requested
-
Download
Allowed characters in filenames
From a3d8848825d52226479f7d14d5ddbb7c0d3bf605 Mon Sep 17 00:00:00 2001
From: Stypox
Date: Wed, 29 Jan 2020 18:44:46 +0100
Subject: [PATCH 093/199] Add "Done" drawable (only white since it is used on
toolbar)
---
app/src/main/res/drawable/ic_done_white_24dp.xml | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 app/src/main/res/drawable/ic_done_white_24dp.xml
diff --git a/app/src/main/res/drawable/ic_done_white_24dp.xml b/app/src/main/res/drawable/ic_done_white_24dp.xml
new file mode 100644
index 000000000..cab2aed1a
--- /dev/null
+++ b/app/src/main/res/drawable/ic_done_white_24dp.xml
@@ -0,0 +1,5 @@
+
+
+
From daa4fd510320f2ee8a898a38b3851d6408e50a93 Mon Sep 17 00:00:00 2001
From: Stypox
Date: Wed, 29 Jan 2020 19:36:57 +0100
Subject: [PATCH 094/199] Fix ReCaptchaActivity crash and save cookies
correctly
---
.../org/schabi/newpipe/ReCaptchaActivity.java | 155 ++++++++++--------
1 file changed, 86 insertions(+), 69 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
index 0a2d51b53..533379dbb 100644
--- a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
@@ -1,6 +1,5 @@
package org.schabi.newpipe;
-import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Build;
@@ -9,12 +8,18 @@ import androidx.core.app.NavUtils;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
+
+import android.util.Log;
+import android.view.Menu;
import android.view.MenuItem;
import android.webkit.CookieManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
/*
* Created by beneth on 06.12.16.
*
@@ -37,18 +42,17 @@ import android.webkit.WebViewClient;
public class ReCaptchaActivity extends AppCompatActivity {
public static final int RECAPTCHA_REQUEST = 10;
public static final String RECAPTCHA_URL_EXTRA = "recaptcha_url_extra";
-
public static final String TAG = ReCaptchaActivity.class.toString();
public static final String YT_URL = "https://www.youtube.com";
- private String url;
+ private String foundCookies = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recaptcha);
- url = getIntent().getStringExtra(RECAPTCHA_URL_EXTRA);
+ String url = getIntent().getStringExtra(RECAPTCHA_URL_EXTRA);
if (url == null || url.isEmpty()) {
url = YT_URL;
}
@@ -60,26 +64,24 @@ public class ReCaptchaActivity extends AppCompatActivity {
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
- ActionBar actionBar = getSupportActionBar();
- if (actionBar != null) {
- actionBar.setDisplayHomeAsUpEnabled(true);
- actionBar.setTitle(R.string.reCaptcha_title);
- actionBar.setDisplayShowTitleEnabled(true);
- }
-
WebView myWebView = findViewById(R.id.reCaptchaWebView);
// Enable Javascript
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
- ReCaptchaWebViewClient webClient = new ReCaptchaWebViewClient(this);
- myWebView.setWebViewClient(webClient);
+ myWebView.setWebViewClient(new WebViewClient() {
+ @Override
+ public void onPageFinished(WebView view, String url) {
+ super.onPageFinished(view, url);
+ handleCookies(CookieManager.getInstance().getCookie(url));
+ }
+ });
// Cleaning cache, history and cookies from webView
myWebView.clearCache(true);
myWebView.clearHistory();
- android.webkit.CookieManager cookieManager = CookieManager.getInstance();
+ android.webkit.CookieManager cookieManager = CookieManager .getInstance();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
cookieManager.removeAllCookies(aBoolean -> {});
} else {
@@ -89,74 +91,89 @@ public class ReCaptchaActivity extends AppCompatActivity {
myWebView.loadUrl(url);
}
- private class ReCaptchaWebViewClient extends WebViewClient {
- private final Activity context;
- private String mCookies;
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ boolean ret = super.onCreateOptionsMenu(menu);
- ReCaptchaWebViewClient(Activity ctx) {
- context = ctx;
+ ActionBar actionBar = getSupportActionBar();
+ if (actionBar != null) {
+ actionBar.setDisplayHomeAsUpEnabled(true);
+ actionBar.setHomeAsUpIndicator(getResources().getDrawable(R.drawable.ic_done_white_24dp));
+ actionBar.setTitle(R.string.title_activity_recaptcha);
+ actionBar.setSubtitle(R.string.subtitle_activity_recaptcha);
}
- @Override
- public void onPageStarted(WebView view, String url, Bitmap favicon) {
- // TODO: Start Loader
- super.onPageStarted(view, url, favicon);
- }
+ return ret;
+ }
- @Override
- public void onPageFinished(WebView view, String url) {
- String cookies = CookieManager.getInstance().getCookie(url);
-
- // TODO: Stop Loader
-
- // find cookies : s_gl & goojf and Add cookies to Downloader
- if (find_access_cookies(cookies)) {
- // Give cookies to Downloader class
- DownloaderImpl.getInstance().setCookies(mCookies);
-
- // Closing activity and return to parent
- setResult(RESULT_OK);
- finish();
- }
- }
-
- private boolean find_access_cookies(String cookies) {
- boolean ret = false;
- String c_s_gl = "";
- String c_goojf = "";
-
- String[] parts = cookies.split("; ");
- for (String part : parts) {
- if (part.trim().startsWith("s_gl")) {
- c_s_gl = part.trim();
- }
- if (part.trim().startsWith("goojf")) {
- c_goojf = part.trim();
- }
- }
- if (c_s_gl.length() > 0 && c_goojf.length() > 0) {
- ret = true;
- //mCookies = c_s_gl + "; " + c_goojf;
- // Youtube seems to also need the other cookies:
- mCookies = cookies;
- }
-
- return ret;
- }
+ @Override
+ public void onBackPressed() {
+ saveCookiesAndFinish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
- case android.R.id.home: {
- Intent intent = new Intent(this, org.schabi.newpipe.MainActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- NavUtils.navigateUpTo(this, intent);
+ case android.R.id.home:
+ saveCookiesAndFinish();
return true;
- }
default:
return false;
}
}
+
+ private void saveCookiesAndFinish() {
+ if (!foundCookies.isEmpty()) {
+ // Give cookies to Downloader class
+ DownloaderImpl.getInstance().setCookies(foundCookies);
+ setResult(RESULT_OK);
+ }
+
+ Intent intent = new Intent(this, org.schabi.newpipe.MainActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ NavUtils.navigateUpTo(this, intent);
+ }
+
+
+
+ private void handleCookies(@Nullable String cookies) {
+ if (MainActivity.DEBUG) Log.d(TAG, "handleCookies: cookies=" + (cookies == null ? "null" : cookies));
+ if (cookies == null) return;
+
+ addYoutubeCookies(cookies);
+ // add other methods to extract cookies here
+ }
+
+ private void addYoutubeCookies(@Nonnull String cookies) {
+ String c_s_gl = "";
+ String c_goojf = "";
+
+ String[] parts = cookies.split(";");
+ for (String part : parts) {
+ String trimmedPart = part.trim();
+ if (trimmedPart.startsWith("s_gl")) {
+ c_s_gl = trimmedPart;
+ }
+ if (trimmedPart.startsWith("goojf")) {
+ c_goojf = trimmedPart;
+ }
+ }
+ if (c_s_gl.length() > 0 && c_goojf.length() > 0) {
+ // addCookie(c_s_gl);
+ // addCookie(c_goojf);
+ // Youtube seems to also need the other cookies:
+ addCookie(cookies);
+ }
+ }
+
+ private void addCookie(String cookie) {
+ if (foundCookies.isEmpty() || foundCookies.endsWith("; ")) {
+ foundCookies += cookie;
+ } else if (foundCookies.endsWith(";")) {
+ foundCookies += " " + cookie;
+ } else {
+ foundCookies += "; " + cookie;
+ }
+ }
}
From 4e1638f86e75d546154b28714fd1bd2f9a426e9a Mon Sep 17 00:00:00 2001
From: Stypox
Date: Wed, 29 Jan 2020 19:37:43 +0100
Subject: [PATCH 095/199] Remove space between "Done" button and
ReCaptchaActivity title
---
app/src/main/res/layout/activity_recaptcha.xml | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/app/src/main/res/layout/activity_recaptcha.xml b/app/src/main/res/layout/activity_recaptcha.xml
index 411ada498..8e277d0c5 100644
--- a/app/src/main/res/layout/activity_recaptcha.xml
+++ b/app/src/main/res/layout/activity_recaptcha.xml
@@ -14,9 +14,8 @@
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.ActionBar"
- app:titleTextAppearance="@style/Toolbar.Title">
-
-
+ app:titleTextAppearance="@style/Toolbar.Title"
+ app:contentInsetStartWithNavigation="0dp" />
Date: Thu, 30 Jan 2020 21:05:57 +0100
Subject: [PATCH 096/199] Improve formatting
---
.../main/java/org/schabi/newpipe/ReCaptchaActivity.java | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
index 533379dbb..7bd632f39 100644
--- a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
@@ -51,18 +51,17 @@ public class ReCaptchaActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recaptcha);
+ Toolbar toolbar = findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
String url = getIntent().getStringExtra(RECAPTCHA_URL_EXTRA);
if (url == null || url.isEmpty()) {
url = YT_URL;
}
-
// Set return to Cancel by default
setResult(RESULT_CANCELED);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
WebView myWebView = findViewById(R.id.reCaptchaWebView);
@@ -81,7 +80,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
// Cleaning cache, history and cookies from webView
myWebView.clearCache(true);
myWebView.clearHistory();
- android.webkit.CookieManager cookieManager = CookieManager .getInstance();
+ android.webkit.CookieManager cookieManager = CookieManager.getInstance();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
cookieManager.removeAllCookies(aBoolean -> {});
} else {
From 0cc890a1d1384266916a9382309fcaa3cdbb0115 Mon Sep 17 00:00:00 2001
From: Stypox
Date: Sat, 1 Feb 2020 17:53:43 +0100
Subject: [PATCH 097/199] Move "Done" button and make it theme conpliant in
ReCaptcha
---
.../java/org/schabi/newpipe/ReCaptchaActivity.java | 12 +++++++-----
app/src/main/res/drawable/ic_done_black_24dp.xml | 9 +++++++++
app/src/main/res/layout/activity_recaptcha.xml | 3 +--
app/src/main/res/menu/menu_recaptcha.xml | 10 ++++++++++
app/src/main/res/values/attrs.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
app/src/main/res/values/styles.xml | 2 ++
7 files changed, 31 insertions(+), 7 deletions(-)
create mode 100644 app/src/main/res/drawable/ic_done_black_24dp.xml
create mode 100644 app/src/main/res/menu/menu_recaptcha.xml
diff --git a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
index 7bd632f39..f2970345f 100644
--- a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
@@ -17,6 +17,8 @@ import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
+import org.schabi.newpipe.util.ThemeHelper;
+
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -49,6 +51,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
+ ThemeHelper.setTheme(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recaptcha);
Toolbar toolbar = findViewById(R.id.toolbar);
@@ -92,17 +95,16 @@ public class ReCaptchaActivity extends AppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- boolean ret = super.onCreateOptionsMenu(menu);
+ getMenuInflater().inflate(R.menu.menu_recaptcha, menu);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
- actionBar.setDisplayHomeAsUpEnabled(true);
- actionBar.setHomeAsUpIndicator(getResources().getDrawable(R.drawable.ic_done_white_24dp));
+ actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setTitle(R.string.title_activity_recaptcha);
actionBar.setSubtitle(R.string.subtitle_activity_recaptcha);
}
- return ret;
+ return true;
}
@Override
@@ -114,7 +116,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
- case android.R.id.home:
+ case R.id.menu_item_done:
saveCookiesAndFinish();
return true;
default:
diff --git a/app/src/main/res/drawable/ic_done_black_24dp.xml b/app/src/main/res/drawable/ic_done_black_24dp.xml
new file mode 100644
index 000000000..7affe9ba9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_done_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/layout/activity_recaptcha.xml b/app/src/main/res/layout/activity_recaptcha.xml
index 8e277d0c5..759e1f296 100644
--- a/app/src/main/res/layout/activity_recaptcha.xml
+++ b/app/src/main/res/layout/activity_recaptcha.xml
@@ -14,8 +14,7 @@
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.ActionBar"
- app:titleTextAppearance="@style/Toolbar.Title"
- app:contentInsetStartWithNavigation="0dp" />
+ app:titleTextAppearance="@style/Toolbar.Title"/>
+
\ No newline at end of file
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index c64ed1256..88925a598 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -45,6 +45,7 @@
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 56ecc3356..b16713172 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -331,6 +331,7 @@
reCAPTCHA challenge
Press \"Done\" when solved
reCAPTCHA challenge requested
+ Done
Download
Allowed characters in filenames
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 679d4d1cd..8047ef7f4 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -60,6 +60,7 @@
- @drawable/ic_grid_black_24dp
- @drawable/ic_delete_black_24dp
- @drawable/ic_settings_update_black
+ - @drawable/ic_done_black_24dp
- @color/light_separator_color
- @color/light_contrast_background_color
@@ -129,6 +130,7 @@
- @drawable/ic_delete_white_24dp
- @drawable/ic_pause_white_24dp
- @drawable/ic_settings_update_white
+ - @drawable/ic_done_white_24dp
- @color/dark_separator_color
- @color/dark_contrast_background_color
From 9b09028440b2b12b9dfdac786d6489bdbbff131c Mon Sep 17 00:00:00 2001
From: Stypox
Date: Sat, 1 Feb 2020 17:59:16 +0100
Subject: [PATCH 098/199] Try to extract cookies just before closing recaptcha
activity
Even if the page didn't auto-close
---
.../org/schabi/newpipe/ReCaptchaActivity.java | 22 +++++++++++--------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
index f2970345f..06094cebd 100644
--- a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
@@ -47,6 +47,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
public static final String TAG = ReCaptchaActivity.class.toString();
public static final String YT_URL = "https://www.youtube.com";
+ private WebView webView;
private String foundCookies = "";
@Override
@@ -66,23 +67,23 @@ public class ReCaptchaActivity extends AppCompatActivity {
setResult(RESULT_CANCELED);
- WebView myWebView = findViewById(R.id.reCaptchaWebView);
+ webView = findViewById(R.id.reCaptchaWebView);
// Enable Javascript
- WebSettings webSettings = myWebView.getSettings();
+ WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
- myWebView.setWebViewClient(new WebViewClient() {
+ webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
- handleCookies(CookieManager.getInstance().getCookie(url));
+ handleCookies(url);
}
});
// Cleaning cache, history and cookies from webView
- myWebView.clearCache(true);
- myWebView.clearHistory();
+ webView.clearCache(true);
+ webView.clearHistory();
android.webkit.CookieManager cookieManager = CookieManager.getInstance();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
cookieManager.removeAllCookies(aBoolean -> {});
@@ -90,7 +91,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
cookieManager.removeAllCookie();
}
- myWebView.loadUrl(url);
+ webView.loadUrl(url);
}
@Override
@@ -125,6 +126,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
}
private void saveCookiesAndFinish() {
+ handleCookies(webView.getUrl()); // try to get cookies of unclosed page
if (!foundCookies.isEmpty()) {
// Give cookies to Downloader class
DownloaderImpl.getInstance().setCookies(foundCookies);
@@ -138,8 +140,10 @@ public class ReCaptchaActivity extends AppCompatActivity {
- private void handleCookies(@Nullable String cookies) {
- if (MainActivity.DEBUG) Log.d(TAG, "handleCookies: cookies=" + (cookies == null ? "null" : cookies));
+ private void handleCookies(String url) {
+ String cookies = CookieManager.getInstance().getCookie(url);
+ if (MainActivity.DEBUG) Log.d(TAG, "handleCookies: url=" + url + "; cookies=" + (cookies == null ? "null" : cookies));
+ Log.e(TAG, "handleCookies: url=" + url + "; cookies=" + (cookies == null ? "null" : cookies));
if (cookies == null) return;
addYoutubeCookies(cookies);
From 1bf55c21392090855f2c5e0363e221f92f2827ec Mon Sep 17 00:00:00 2001
From: Stypox
Date: Sat, 1 Feb 2020 18:23:57 +0100
Subject: [PATCH 099/199] Remove left-behind Log
---
app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
index 06094cebd..8abcd2435 100644
--- a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
@@ -143,7 +143,6 @@ public class ReCaptchaActivity extends AppCompatActivity {
private void handleCookies(String url) {
String cookies = CookieManager.getInstance().getCookie(url);
if (MainActivity.DEBUG) Log.d(TAG, "handleCookies: url=" + url + "; cookies=" + (cookies == null ? "null" : cookies));
- Log.e(TAG, "handleCookies: url=" + url + "; cookies=" + (cookies == null ? "null" : cookies));
if (cookies == null) return;
addYoutubeCookies(cookies);
From 38d193899c66a83bc50c4161ea2740048a830073 Mon Sep 17 00:00:00 2001
From: Igor Nedoboy
Date: Sat, 1 Feb 2020 18:58:03 +0000
Subject: [PATCH 100/199] Translated using Weblate (Russian)
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-ru/strings.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 63d0e7699..787c9842e 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -543,4 +543,7 @@
Очистить историю загрузок
Удаление загруженных файлов
Удалено загрузок: %1$s
+ Разрешите отображение поверх приложений
+ Язык интерфейса
+ Как в системе
\ No newline at end of file
From 7568af408a79b526a489696f767078a7dc3a9bf6 Mon Sep 17 00:00:00 2001
From: chr_56
Date: Sun, 2 Feb 2020 09:42:56 +0800
Subject: [PATCH 101/199] fix wrong strings in Simplified Chinese
---
app/src/main/res/values-zh-rCN/strings.xml | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 54f58a5bb..d0405b57d 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -38,8 +38,8 @@
稍后
网络错误
- - 视频
- - 视频
+ - %s 个视频
+ - %s 个视频
禁用
后台播放
@@ -90,8 +90,8 @@
重试
存储访问权限已被拒绝
- - %1$s 次观看
- - %1$s 次观看
+ - %s 次观看
+ - %s 次观看
千
百万
@@ -134,6 +134,7 @@
- %s 位订阅者
没有视频
+ 视频
拖动以重新排序
创建
仅删除一个
@@ -468,8 +469,8 @@
显示评论
禁用,以停止显示评论
- - 评论
- - 评论
+ - %s 条评论
+ - %s 条评论
无法加载评论
关闭
From a117e459b04ba5850993384d484a2574610c8170 Mon Sep 17 00:00:00 2001
From: Xiang Rong Lin <41164160+XiangRongLin@users.noreply.github.com>
Date: Sun, 2 Feb 2020 12:54:43 +0100
Subject: [PATCH 102/199] Use AlertDialog.Builder instead of BookmarkDialog
class for the same look.
Use "rename" string instead of "save" string.
---
.../local/bookmark/BookmarkFragment.java | 30 +++++++-----
.../newpipe/local/dialog/BookmarkDialog.kt | 47 -------------------
app/src/main/res/layout/dialog_bookmark.xml | 34 --------------
app/src/main/res/values/strings.xml | 1 -
4 files changed, 17 insertions(+), 95 deletions(-)
delete mode 100644 app/src/main/java/org/schabi/newpipe/local/dialog/BookmarkDialog.kt
diff --git a/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java b/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
index ea9655921..761fa4360 100644
--- a/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
@@ -1,9 +1,11 @@
package org.schabi.newpipe.local.bookmark;
import android.app.AlertDialog;
+import android.app.AlertDialog.Builder;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Log;
+import android.widget.EditText;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentManager;
@@ -22,7 +24,6 @@ import org.schabi.newpipe.database.playlist.PlaylistLocalItem;
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry;
import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity;
import org.schabi.newpipe.local.BaseLocalListFragment;
-import org.schabi.newpipe.local.dialog.BookmarkDialog;
import org.schabi.newpipe.local.playlist.LocalPlaylistManager;
import org.schabi.newpipe.local.playlist.RemotePlaylistManager;
import org.schabi.newpipe.report.UserAction;
@@ -254,20 +255,23 @@ public final class BookmarkFragment
}
private void showLocalDialog(PlaylistMetadataEntry selectedItem) {
- BookmarkDialog dialog = new BookmarkDialog(getContext(),
- selectedItem.name, new BookmarkDialog.OnClickListener() {
- @Override
- public void onDeleteClicked() {
+ View dialogView = View.inflate(getContext(), R.layout.dialog_bookmark, null);
+ EditText editText = dialogView.findViewById(R.id.playlist_name_edit_text);
+ editText.setText(selectedItem.name);
+
+ Builder builder = new AlertDialog.Builder(activity);
+ builder.setView(dialogView)
+ .setPositiveButton(R.string.rename_playlist, (dialog, which) -> {
+ changeLocalPlaylistName(selectedItem.uid, editText.getText().toString());
+ })
+ .setNegativeButton(R.string.cancel, null)
+ .setNeutralButton(R.string.delete, (dialog, which) -> {
showDeleteDialog(selectedItem.name,
localPlaylistManager.deletePlaylist(selectedItem.uid));
- }
-
- @Override
- public void onSaveClicked(@NonNull String name) {
- changeLocalPlaylistName(selectedItem.uid, name);
- }
- });
- dialog.show();
+ dialog.dismiss();
+ })
+ .create()
+ .show();
}
private void showDeleteDialog(final String name, final Single deleteReactor) {
diff --git a/app/src/main/java/org/schabi/newpipe/local/dialog/BookmarkDialog.kt b/app/src/main/java/org/schabi/newpipe/local/dialog/BookmarkDialog.kt
deleted file mode 100644
index dd20e88a0..000000000
--- a/app/src/main/java/org/schabi/newpipe/local/dialog/BookmarkDialog.kt
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.schabi.newpipe.local.dialog
-
-import android.app.Dialog
-import android.content.Context
-import android.os.Bundle
-import android.view.Window
-import android.widget.Button
-import android.widget.EditText
-import org.schabi.newpipe.R
-
-class BookmarkDialog(
- context: Context,
- private val playlistName: String,
- val listener: OnClickListener)
- : Dialog(context) {
-
- private lateinit var editText: EditText
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- requestWindowFeature(Window.FEATURE_NO_TITLE)
- setContentView(R.layout.dialog_bookmark)
- initListeners()
- }
-
- private fun initListeners() {
- editText = findViewById(R.id.playlist_name_edit_text);
- editText.setText(playlistName)
-
- findViewById(R.id.bookmark_delete).setOnClickListener {
- listener.onDeleteClicked()
- dismiss()
- }
- findViewById(R.id.bookmark_cancel).setOnClickListener {
- dismiss()
- }
- findViewById(R.id.bookmark_save).setOnClickListener {
- listener.onSaveClicked(editText.text.toString())
- dismiss()
- }
- }
-
- interface OnClickListener {
- fun onDeleteClicked()
- fun onSaveClicked(name: String)
- }
-}
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_bookmark.xml b/app/src/main/res/layout/dialog_bookmark.xml
index 798a8f4c8..08bf20610 100644
--- a/app/src/main/res/layout/dialog_bookmark.xml
+++ b/app/src/main/res/layout/dialog_bookmark.xml
@@ -14,38 +14,4 @@
android:layout_margin="10dp"
android:hint="@string/playlist_name_input"/>
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ef012f56d..763eb7426 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -590,7 +590,6 @@
Use SAF
The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible
Choose an instance
- save
App language
System default
From 07c7398a96269ba6aba1a255d55c6e4932b22548 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?O=C4=9Fuz=20Ersen?=
Date: Sun, 2 Feb 2020 12:18:24 +0000
Subject: [PATCH 103/199] Translated using Weblate (Turkish)
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-tr/strings.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index c6603382d..1e703bb55 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -538,4 +538,7 @@
İndirme geçmişini temizle
İndirilen dosyaları sil
%1$s indirme silindi
+ Diğer uygulamaların üzerinde görüntüleme izni ver
+ Uygulama dili
+ Sistem varsayılanı
\ No newline at end of file
From 9f0efdd5440a419d62d7d6b611ed36ae023d0642 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emin=20Tufan=20=C3=87etin?=
Date: Sun, 2 Feb 2020 12:37:45 +0000
Subject: [PATCH 104/199] Translated using Weblate (Turkish)
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-tr/strings.xml | 38 +++++++++++++-------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 1e703bb55..51683299d 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -23,14 +23,14 @@
Ses indirme dizini
İndirilen ses dosyaları burada depolanır
Ses dosyaları için indirme dizinini seçin
- Otomatik oynat
- NewPipe başka bir uygulamadan çağrıldığında bir video oynatır
- Varsayılan çözünürlük
+ Kendiliğinden oynat
+ NewPipe başka uygulamadan çağrıldığında video oynatır
+ Öntanımlı çözünürlük
Kodi ile oynat
Kore uygulaması bulunamadı. Yüklensin mi\?
\"Kodi ile oynat\" seçeneğini göster
Kodi ortam merkezi üzerinden video oynatmak için bir seçenek göster
- Varsayılan ses formatı
+ Öntanımlı ses biçimi
Tema
Koyu
Açık
@@ -38,7 +38,7 @@
Sonraki
\'Sonraki\' ve \'Benzer\' videoları göster
Desteklenmeyen URL
- Varsayılan içerik dili
+ Öntanımlı içerik dili
Ses
Video ve ses
Görünüm
@@ -103,14 +103,14 @@
Panoya kopyalandı
Lütfen daha sonra ayarlardan uygun bir indirme dizini belirleyin
İndirme menüsü ayarlanamadı
- Açılır pencere modunda aç
- NewPipe açılır pencere modu
- Varsayılan açılır pencere çözünürlüğü
+ Açılır pencere kipinde aç
+ NewPipe açılır pencere kipi
+ Öntanımlı açılır pencere çözünürlüğü
Yüksek çözünürlükleri göster
Sadece bazı cihazlar 2K/4K video oynatmayı desteklemektedir
- Varsayılan video formatı
+ Öntanımlı video biçimi
Siyah
- Açılır pencere modunda oynatılıyor
+ Açılır pencere kipinde oynatılıyor
Tümü
Kanal
Evet
@@ -122,7 +122,7 @@
b
M
B
- Bu izin, açılır pencere modunda
+ Bu izin, açılır pencere kipinde
\naçmak için gereklidir
reCAPTCHA
reCAPTCHA formu
@@ -245,7 +245,7 @@
Bağışta bulunun
Web sitesi
Daha çok bilgi ve haber için NewPipe web sitesini ziyaret edin.
- Varsayılan içerik ülkesi
+ Öntanımlı içerik ülkesi
Hizmet
Yönlendirmeyi Değiştir
Arka Plana Geç
@@ -340,7 +340,7 @@
\n3. İndirme başlamalı (bu, dışa aktarma dosyasıdır)
URL\'yi veya ID\'nizi yazarak SoundCloud profilini içe aktarın:
\n
-\n1. Web tarayıcısında \"masaüstü modu\" etkinleştirin (site, mobil aygıtlar için mevcut değildir)
+\n1. Web tarayıcısında \"masaüstü kipi\" etkinleştirin (site, mobil aygıtlar için uygun değildir)
\n2. Şu adrese gidin: %1$s
\n3. Sorulduğunda giriş yapın
\n4. Yönlendirildiğiniz profil URL\'sini kopyalayın.
@@ -361,7 +361,7 @@
Bağlantısız (bozulmaya neden olabilir)
İndirilebilecek akış yok
Tercih edilen \'aç\' eylemi
- İçerik açılırken varsayılan eylem — %s
+ İçerik açılırken öntanımlı eylem — %s
Altyazılar
Oynatıcı altyazı metin ölçeğini ve arka plan biçimini değiştirin. Etkili olması için uygulamayı yeniden başlatma gerektirir.
Bu dosyayı oynatmak için herhangi bir uygulama yüklü değil
@@ -411,15 +411,15 @@
Yeni NewPipe sürümü için bildirimler
Harici depolama kullanılamıyor
Harici SD karta indirmek mümkün değil. İndirme dizini konumu sıfırlansın mı\?
- Varsayılan sekmeleri kullanarak, kaydedilen sekmeleri okurken hata
- Varsayılanları geri yükle
- Varsayılanları geri yüklemek istiyor musunuz\?
+ Öntanımlı sekmeler kullanılıyor, kaydedilen sekmeler okunurken hata
+ Öntanımlıları geri yükle
+ Öntanımlıları geri yüklemek istiyor musunuz\?
Abone sayısı mevcut değil
Ana sayfada hangi sekmeler gösterilir
Seçim
Güncellemeler
Yeni bir sürüm mevcut olduğunda uygulama güncellemesi için bir bildirim göster
- Liste görünümü modu
+ Liste görünümü kipi
Liste
Izgara
Otomatik
@@ -505,7 +505,7 @@
- Videolar
- Videolar
- Varsayılan Kiosk
+ Öntanımlı Kiosk
Kimse izlemiyor
- %s izliyor
From 6da90961762b92a2d9cae90e4b5879fdf481ce5a Mon Sep 17 00:00:00 2001
From: Stypox
Date: Sun, 2 Feb 2020 21:33:07 +0100
Subject: [PATCH 105/199] Fix addYoutubeCookies functions (Yt changed things
lately)
---
.../org/schabi/newpipe/ReCaptchaActivity.java | 21 +++++--------------
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
index 8abcd2435..566e1fc76 100644
--- a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
@@ -150,28 +150,17 @@ public class ReCaptchaActivity extends AppCompatActivity {
}
private void addYoutubeCookies(@Nonnull String cookies) {
- String c_s_gl = "";
- String c_goojf = "";
-
- String[] parts = cookies.split(";");
- for (String part : parts) {
- String trimmedPart = part.trim();
- if (trimmedPart.startsWith("s_gl")) {
- c_s_gl = trimmedPart;
- }
- if (trimmedPart.startsWith("goojf")) {
- c_goojf = trimmedPart;
- }
- }
- if (c_s_gl.length() > 0 && c_goojf.length() > 0) {
- // addCookie(c_s_gl);
- // addCookie(c_goojf);
+ if (cookies.contains("s_gl=") || cookies.contains("goojf=") || cookies.contains("VISITOR_INFO1_LIVE=")) {
// Youtube seems to also need the other cookies:
addCookie(cookies);
}
}
private void addCookie(String cookie) {
+ if (foundCookies.contains(cookie)) {
+ return;
+ }
+
if (foundCookies.isEmpty() || foundCookies.endsWith("; ")) {
foundCookies += cookie;
} else if (foundCookies.endsWith(";")) {
From b6841158df60b066a0b53fe80f4a780d822c227a Mon Sep 17 00:00:00 2001
From: Stypox
Date: Sun, 2 Feb 2020 21:48:45 +0100
Subject: [PATCH 106/199] Remove unused imports and clean up comment style
---
.../java/org/schabi/newpipe/ReCaptchaActivity.java | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
index 566e1fc76..d72f729b5 100644
--- a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
@@ -1,7 +1,6 @@
package org.schabi.newpipe;
import android.content.Intent;
-import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
import androidx.core.app.NavUtils;
@@ -20,7 +19,6 @@ import android.webkit.WebViewClient;
import org.schabi.newpipe.util.ThemeHelper;
import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
/*
* Created by beneth on 06.12.16.
@@ -63,13 +61,13 @@ public class ReCaptchaActivity extends AppCompatActivity {
url = YT_URL;
}
- // Set return to Cancel by default
+ // set return to Cancel by default
setResult(RESULT_CANCELED);
webView = findViewById(R.id.reCaptchaWebView);
- // Enable Javascript
+ // enable Javascript
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
@@ -81,7 +79,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
}
});
- // Cleaning cache, history and cookies from webView
+ // cleaning cache, history and cookies from webView
webView.clearCache(true);
webView.clearHistory();
android.webkit.CookieManager cookieManager = CookieManager.getInstance();
@@ -128,7 +126,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
private void saveCookiesAndFinish() {
handleCookies(webView.getUrl()); // try to get cookies of unclosed page
if (!foundCookies.isEmpty()) {
- // Give cookies to Downloader class
+ // give cookies to Downloader class
DownloaderImpl.getInstance().setCookies(foundCookies);
setResult(RESULT_OK);
}
@@ -151,7 +149,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
private void addYoutubeCookies(@Nonnull String cookies) {
if (cookies.contains("s_gl=") || cookies.contains("goojf=") || cookies.contains("VISITOR_INFO1_LIVE=")) {
- // Youtube seems to also need the other cookies:
+ // youtube seems to also need the other cookies:
addCookie(cookies);
}
}
From 46c1155c6451e0c4797ca1cafa815765bcc94282 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emin=20Tufan=20=C3=87etin?=
Date: Sun, 2 Feb 2020 12:43:18 +0000
Subject: [PATCH 107/199] Translated using Weblate (Turkish)
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-tr/strings.xml | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 51683299d..35168b592 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -107,7 +107,7 @@
NewPipe açılır pencere kipi
Öntanımlı açılır pencere çözünürlüğü
Yüksek çözünürlükleri göster
- Sadece bazı cihazlar 2K/4K video oynatmayı desteklemektedir
+ Yalnızca bazı aygıtlar 2K/4K video oynatmayı desteklemektedir
Öntanımlı video biçimi
Siyah
Açılır pencere kipinde oynatılıyor
@@ -360,7 +360,7 @@
Ses yüksekliği
Bağlantısız (bozulmaya neden olabilir)
İndirilebilecek akış yok
- Tercih edilen \'aç\' eylemi
+ Yeğlenen \'aç\' eylemi
İçerik açılırken öntanımlı eylem — %s
Altyazılar
Oynatıcı altyazı metin ölçeğini ve arka plan biçimini değiştirin. Etkili olması için uygulamayı yeniden başlatma gerektirir.
@@ -454,7 +454,7 @@
Tamamlanan indirmeleri temizle
Durdur
Azami deneme sayısı
- İndirmeyi iptal etmeden önce maksimum deneme sayısı
+ İndirmeyi iptal etmeden önce azami deneme sayısı
Kotalı bağlantılarda durdur
Bazı indirmelerin bekletilememesine rağmen mobil veriye geçerken kullanışlıdır
Olaylar
@@ -490,12 +490,12 @@
İndirmeleri başlat
İndirmeleri duraklat
Nereye indirileceğini sor
- Her indirme için nereye kaydedileceği sorulacak
+ Her indirmede nereye kaydedileceği sorulacak
Her indirme için nereye kaydedileceği sorulacak.
-\nEğer bir harici SD karta indirmek istiyorsanız DEÇ\'i seçin
+\nEğer harici SD karta indirmek istiyorsanız DEÇ\'i seçin
DEÇ\'i kullan
Depolama Erişimi Çerçevesi harici SD karta indirmelere izin verir.
-\nNot: Bazı cihazlar uyumlu değildir
+\nNot: Bazı aygıtlar uyumlu değildir
Oynatım konumlarını sil
Tüm oynatım konumlarını siler
Tüm oynatım konumları silinsin mi\?
@@ -532,7 +532,7 @@
Otomatik oluşturulan (yükleyen bulunamadı)
kurtarılıyor
Bu indirme kurtarılamıyor
- Bir örnek seçin
+ Oluşum seçin
Kilit ekranı video küçük resmini etkinleştir
Arka plan oynatıcıyı kullanırken kilit ekranında bir video küçük resmi görüntülenecektir
İndirme geçmişini temizle
@@ -540,5 +540,5 @@
%1$s indirme silindi
Diğer uygulamaların üzerinde görüntüleme izni ver
Uygulama dili
- Sistem varsayılanı
+ Sistem öntanımlısı
\ No newline at end of file
From 2c27f784f70c51128daa02879c12fde2b5939d24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?O=C4=9Fuz=20Ersen?=
Date: Mon, 3 Feb 2020 16:16:03 +0000
Subject: [PATCH 108/199] Translated using Weblate (Turkish)
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-tr/strings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 35168b592..7f6a9a8e2 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -502,8 +502,8 @@
Etkili olması için indirme dizinlerini değiştirin
Hizmeti değiştir, şu anda seçili olan:
- - Videolar
- - Videolar
+ - %s video
+ - %s video
Öntanımlı Kiosk
Kimse izlemiyor
From b5684ee7df6125829163df7f33e1e1c5c6b14a16 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Sun, 2 Feb 2020 19:14:55 +0000
Subject: [PATCH 109/199] Translated using Weblate (Esperanto)
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-eo/strings.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index fe63caf1b..206f7bdd7 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -537,4 +537,7 @@
Forviŝi la historion de elŝutoj
Forviŝi elŝutitajn dosierojn
%1$s elŝutoj forviŝitaj
+ Doni la permeson por afiŝiĝi supre aliaj apoj
+ Lingvo de la apo
+ Sistema lingvo
\ No newline at end of file
From bb8bcf3c33ac35da176c0ec29a557af881d0adf3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vojt=C4=9Bch=20=C5=A0amla?=
Date: Sun, 2 Feb 2020 23:39:08 +0000
Subject: [PATCH 110/199] Translated using Weblate (Czech)
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-cs/strings.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 548358473..200d18dc2 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -547,4 +547,7 @@ otevření ve vyskakovacím okně
Smazat historii stahování
Smazat stažené soubory
Smazat %1$s stahování
+ Souhlasit se zobrazením přes jiné aplikace
+ Jazyk aplikace
+ Jazyk systému
\ No newline at end of file
From ed9c85b25a49802365451541ad61eb454037b5c3 Mon Sep 17 00:00:00 2001
From: Yaron Shahrabani
Date: Sat, 1 Feb 2020 20:09:10 +0000
Subject: [PATCH 111/199] Translated using Weblate (Hebrew)
Currently translated at 99.8% (529 of 530 strings)
---
app/src/main/res/values-he/strings.xml | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index 7a1338f60..b27e37fe4 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -167,10 +167,10 @@
אין סרטונים
- - סרטון %s
- - %s סרטונים
- - %s סרטונים
- - %s סרטונים
+ - סרטון
+ - סרטונים
+ - סרטונים
+ - סרטונים
התחלה
השהיה
@@ -550,4 +550,7 @@
מחיקת היסטוריית ההורדות
למחוק את הקבצים שהורדתי
נמחקו %1$s הורדות
+ יש להעניק הרשאה להציג על גבי יישומונים אחרים
+ שפת היישומון
+ בררת המחדל של המערכת
\ No newline at end of file
From 2cceb048e3672189cad616a6eaaa8b5e89162cf3 Mon Sep 17 00:00:00 2001
From: WaldiS
Date: Sat, 1 Feb 2020 17:18:57 +0000
Subject: [PATCH 112/199] Translated using Weblate (Polish)
Currently translated at 99.8% (529 of 530 strings)
---
app/src/main/res/values-pl/strings.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 4d2b38b5f..ed6ba75d7 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -544,4 +544,7 @@
Wyczyść historię pobierania
Usuń pobrane pliki
Usunięte %1$s pobrania
+ Zezwól na wyświetlanie w innych aplikacjach
+ Język aplikacji
+ Domyślny systemu
\ No newline at end of file
From 5d5c2ae2ed4d29048123689d8ae55083d095db26 Mon Sep 17 00:00:00 2001
From: JoC
Date: Mon, 3 Feb 2020 15:53:51 +0000
Subject: [PATCH 113/199] Translated using Weblate (Spanish)
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-es/strings.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 5b3265cd7..7de8cc5ca 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -537,4 +537,7 @@
Limpiar historial de descargas
Eliminar archivos descargados
Eliminadas %1$s descargas
+ Dar permisos para que se muestre por sobre otras apps
+ Idioma de la app
+ Predeterminado del sistema
\ No newline at end of file
From 0a2374892ce8f97ad1eea73ce72c66cd8d24fd4a Mon Sep 17 00:00:00 2001
From: B0pol
Date: Sun, 2 Feb 2020 19:16:50 +0000
Subject: [PATCH 114/199] Translated using Weblate (French)
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-fr/strings.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 5f9dc0b18..b0c83592f 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -538,4 +538,7 @@
Effacer l\'historique de téléchargement
Supprimer les fichiers téléchargés
%1$s téléchargements supprimés
+ Autoriser la superposition d\'applis
+ Langue de l\'application
+ Langue du système
\ No newline at end of file
From 9560cf59bed360738e4c988b839367dcf6fdc072 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Isak=20Holmstr=C3=B6m?=
Date: Mon, 3 Feb 2020 15:24:26 +0000
Subject: [PATCH 115/199] Translated using Weblate (Swedish)
Currently translated at 87.9% (466 of 530 strings)
---
app/src/main/res/values-sv/strings.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 90e976823..b2e7ac050 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -467,4 +467,5 @@
Töm data
Snabb spola -framåt/-bakåt
Aktivera video på låsskärmen
+ När bakgrundsspelaren används så visas videon på låsskärmen
\ No newline at end of file
From 6941917c7556b7e45bab0ab5c90da20cdce55021 Mon Sep 17 00:00:00 2001
From: Marian Hanzel
Date: Sun, 2 Feb 2020 17:14:37 +0000
Subject: [PATCH 116/199] Translated using Weblate (Slovak)
Currently translated at 98.5% (522 of 530 strings)
---
app/src/main/res/values-sk/strings.xml | 97 ++++++++++++++++++--------
1 file changed, 67 insertions(+), 30 deletions(-)
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 6624f7a3b..5a453370a 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -17,11 +17,11 @@
Použiť externý prehrávač videa
Použiť externý prehrávač zvuku
Prevzaté video ukladať do
- Cesta kam sa budú ukladať prevzaté videá
- Vložte cestu kam sa budú ukladať videá
- Prevzaté audio ukladať do
+ Tu sú uložené stiahnuté video súbory
+ Vyberte adresár pre ukladanie video súborov
+ Adresár pre stiahnuté audio
Vložte cestu kam sa budú ukladať zvukové súbory
- Cesta kam sa bude ukladať prevzaté audio
+ Tu sú uložené stiahnuté audio súbory
Štandardné rozlíšenie
Prehrať cez Kodi
Aplikácia Kore nie je nainštalovaná. Chcete ju nainštalovať?
@@ -49,7 +49,7 @@
Nemožno analyzovať webovú stránku
Obsah nie je dostupný
Náhľad videa
- Náhľad videa
+ Prehrať video, dĺžka:
Náhľad avataru uploadera
Lajky
Dislajky
@@ -66,7 +66,7 @@
NAŽIVO
Nemožno kompletne zanalyzovať web
Nemožno nastaviť menu preberania
- Toto je ŽIVÉ VYSIELANIE, ktoré ešte nie je podporované.
+ Živé vysielanie zatiaľ nie je podporované
Nemožno získať žiadny stream
Pardon, toto sa nemalo stať.
Nahlásiť chybu mejlom
@@ -99,7 +99,7 @@
Dotykom zobraziť detaily
Čakajte prosím…
Skopírované do schránky
- Vyberte si dostupný adresár na preberanie
+ Priečinok na sťahovanie zadefinujte prosím neskôr v nastaveniach
Prevzaté
Prevzaté
Hlásenie o chybe
@@ -111,7 +111,7 @@
Čierna
Všetko
Kanál
- K
+ k
M
B
Požiadavka reCAPTCHA
@@ -183,7 +183,7 @@
História
Vyhľadávané
Pozreté
- História je zakázaná
+ História je vypnutá
História
História je prázdna
História bola vyčistená
@@ -213,7 +213,7 @@
- %s videí
Položka bola odstránená
- Nebol nájdený žiadny prehrávač pre stream (môžete si nainštalovať napr. VLC)
+ Nebol nájdený žiadny prehrávač pre stream (môžete si nainštalovať napr. VLC).
Stiahnuť súbor stream
Zobraziť info
Uložené zoznamy
@@ -266,7 +266,7 @@
Novinky
Kanál
Vyberte si kanál
- Žiadny kanál nie je odoberaný
+ Zatiaľ nemáte žiadne odbery kanálov
Vyberte si kiosk
Export je dokončený
Import je dokončený
@@ -285,9 +285,9 @@
Podržaním pridať do zoznamu
Zaradiť na pozadie
Zaradiť do mini okna
- Video odtiaľto
- Zvuk odtiaľto
- Mini okno odtiaľto
+ Prehrať odtiaľto
+ Prehrať (zvuk) odtiaľto na pozadí
+ Prehrať odtiaľto v mini-okne
Otvoriť zásuvku
Zavrieť zásuvku
Prehrávač videa
@@ -296,7 +296,7 @@
Vždy sa opýtať
Získavajú sa informácie…
Načítanie požadované obsahu
- Vytvoriť nový zoznam skladieb
+ Nový zoznam skladieb
Vymazať
Premenovať
Názov
@@ -304,11 +304,11 @@
Nastaviť ako miniatúru zoznamu skladieb
Záložka zoznamu skladieb
Odstrániť Záložku
- Chcete odstrániť tento zoznam skladieb?
+ Odstrániť tento zoznam skladieb\?
Zoznam skladieb vytvorený
- Pridané do zoznamu skladieb
- Miniatúra zoznamu skladieb bola zmenená
- Nemožno odstrániť zoznam skladieb
+ V playliste
+ Miniatúra zoznamu skladieb bola zmenená.
+ Zoznam skladieb nemožno zmazať.
Bez titulkov
Prispôsobiť
Vyplniť
@@ -316,7 +316,7 @@
Používať rýchly posun
Rýchly posun umožňuje prejsť na novú pozíciu rýchlejšie, ale s menšou presnosťou
Načítanie miniatúr
- Vypnutím tejto funkcie sa nebudú vytvárať miniatúry a tým sa ušetrí miesto a pamäť. Zmena nastavení spôsobuje vyčistenie vyrovnávacej pamäte
+ Vypnutím tejto funkcie sa nebudú vytvárať miniatúry a tým sa ušetrí miesto a pamäť. Zmena nastavení spôsobuje vyčistenie vyrovnávacej pamäte.
Vyrovnávacia pamäť obrázkov vymazaná
Vymazať metadáta uložené vo vyrovnávacej pamäti
Odstrániť všetky údaje webových stránok vo vyrovnávacej pamäti
@@ -337,12 +337,12 @@
Predvolená akcia pri otváraní obsahu — %s
Automaticky vygenerované
Titulky
- Upravte mierku textu titulkov a štýly pozadia. Vyžaduje reštart prehrávača
+ Upravte mierku textu titulkov prehrávača a štýly pozadia. Vyžaduje sa reštart aplikácie.
Povoliť službu LeakCanary
Monitorovanie pretečenia pamäte môže spôsobiť, že aplikácia nebude reagovať
Nahlásiť mimo-cyklické chyby
Vynútiť hlásenie výnimiek nedoručiteľných Rx mimo časového cyklu fragmentov alebo aktivity po zneškodnení
- Import/Export
+ Import/export
Import
\n
Importovať z
@@ -376,12 +376,12 @@
"Spomalenie (môže spôsobovať skreslenie)"
Predvolené
Vymazať históriu pozretí
- Odstráni históriu prehrávaných streamov
- Vymazať celú históriu pozretí.
+ Odstráni históriu a pozície prehrávaných streamov
+ Vymazať celú históriu pozretí\?
História pozretí bola vymazaná.
Vymazať históriu vyhľadávania
Vymaže históriu vyhľadávania kľúčových slov
- Vymazať celú históriu vyhľadávania.
+ Vymazať celú históriu vyhľadávania\?
História vyhľadávaní bola vymazaná.
1 položka bola vymazaná.
"NewPipe je slobodný softvér pod licenciou copyleft. Môžete ho používať, študovať a vylepšovať ako len chcete. Konkrétne ho môžete šíriť a/alebo upravovať pod podmienkami Všeobecnej verejnej licencie GNU, ako ju publikuje Free Software Foundation, buď verzia 3 licencie, alebo (podľa vašej voľby) ktorákoľvek neskoršia verzia."
@@ -420,7 +420,7 @@
Oznámenie o aktualizácii aplikácie
Upozornenia na novú verziu NewPipe
Externé úložisko je nedostupné
- Sťahovanie na externú SD kartu ešte nie je možné. Obnoviť umiestnenie priečinka na prevzatie\?
+ Sťahovanie na externú SD kartu nie je možné. Obnoviť umiestnenie priečinka na sťahovanie\?
Chyba pri načítavaní uložených kariet, použijú sa predvolené
Obnoviť predvolené nastavenia
Chcete obnoviť predvolené hodnoty\?
@@ -454,8 +454,8 @@
Sťahovanie s týmto názvom už prebieha
Zobraziť chybu
Kód
- Súbor sa nedá vytvoriť
- Cieľový priečinok nie je možné vytvoriť
+ Adresár nemožno vytvoriť
+ Nemožno vytvoriť súbor
Povolenie odmietnuté systémom
Bezpečnostné pripojenie zlyhalo
Server sa nepodarilo nájsť
@@ -469,7 +469,7 @@
Maximum opakovaní
Maximálny počet pokusov pred zrušením stiahnutia
Pozastaviť pri prechode na mobilné dáta
- Preberania, ktoré nie je možné pozastaviť, budú reštartované
+ Je to užitočné pri prechode na mobilné dáta, niektoré sťahovania však nemožno pozastaviť
Zobraziť komentáre
Vypnutím tejto funkcie sa nebudú zobrazovať komentáre
Automatické prehrávanie
@@ -494,7 +494,7 @@
Máš plnú pamäť
Nemožno pokračovať, súbor bol vymazaný
Spojenie vypršalo
- Ste si istý\?
+ Chcete vymazať históriu sťahovania alebo odstrániť všetky stiahnuté súbory\?
Limitovať počet položiek pri sťahovaní
Súbory sa budú sťahovať jeden po druhom
Spustite sťahovanie
@@ -512,4 +512,41 @@
Zmeniť miesto pre stiahnuté súbory
Prepnúť službu, práve vybraté:
Predvolený kiosk
+ Toto nikto nesleduje
+
+ - %s sleduje
+ - %s sledujú
+ - %s sleduje
+
+ Toto nikto nepočúva
+
+ - %s poslucháč
+ - %s poslucháči
+ - %s poslucháčov
+
+ Zmena jazyka sa prejaví po reštarte aplikácie.
+ Dĺžka rýchleho pretáčania
+ Inštancie PeerTube
+ Vyberte si svoje obľúbené inštancie PeerTube
+ Nájdite najvyhovujúcejšie inštancie na %s
+ Pridať inštanciu
+ Vložiť URL inštancie
+ Nepodarilo sa overiť inštanciu
+ Podporované sú iba adresy URL s HTTPS
+ Inštancia už existuje
+ Miestne
+ Nedávno pridané
+ Najobľúbenejšie
+ Automaticky generované (používateľ sa nenašiel)
+ obnovovanie
+ Sťahovanie nemožno obnoviť
+ Vyberte inštanciu
+ Náhľad videa na uzamknutej obrazovke
+ Pri videu na pozadí sa na zamknutej obrazovke zobrazí náhľad
+ Vymazať históriu sťahovania
+ Vymazať stiahnuté súbory
+ %1$s odstránených
+ Súhlas pre zobrazenie cez ďalšie aplikácie
+ Jazyk aplikácie
+ Predvolený
\ No newline at end of file
From 7009dc574f71010656b65f92640e89ebfd961b86 Mon Sep 17 00:00:00 2001
From: MohammedSR Vevo
Date: Sat, 1 Feb 2020 20:16:45 +0000
Subject: [PATCH 117/199] Translated using Weblate (Kurdish)
Currently translated at 99.8% (529 of 530 strings)
---
app/src/main/res/values-ku/strings.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml
index 9a061bab7..91561066d 100644
--- a/app/src/main/res/values-ku/strings.xml
+++ b/app/src/main/res/values-ku/strings.xml
@@ -541,4 +541,7 @@
سڕینەوەی مێژووی داگرتن
سڕینەوەی فایلە داگیراوەکان
%1$ لە داگرتنەکان سڕانەوە
+ دەسەڵاتی پێبدە بۆ پیشاندان لەسەرووی ئەپەکانیترەوە
+ زمانی ئەپ
+ بنەڕەتی سیستەم
\ No newline at end of file
From 0f0a367174e0efba36ddf28ae9b7c6fdc2e4d413 Mon Sep 17 00:00:00 2001
From: Jeff Huang
Date: Sun, 2 Feb 2020 03:39:50 +0000
Subject: [PATCH 118/199] Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (530 of 530 strings)
---
app/src/main/res/values-zh-rTW/strings.xml | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index b82736f90..438d4cc45 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -498,8 +498,8 @@
變更下載資料夾以使其生效
切換服務,目前已選取:
- - 影片
-
+ - %s 影片
+
預設 Kiosk
沒有人在看
@@ -534,4 +534,7 @@
清除下載歷史紀錄
刪除已下載的檔案
已刪除 %1$s 個下載
+ 給予顯示在其他應用程式上層的權限
+ 應用程式語言
+ 系統預設值
\ No newline at end of file
From af411a61ae62b37565117957fdecdfdbc855b07d Mon Sep 17 00:00:00 2001
From: Harshal Lele
Date: Tue, 4 Feb 2020 16:40:57 +0530
Subject: [PATCH 119/199] added ability to copy comments on long press
---
.../holder/CommentsMiniInfoItemHolder.java | 29 ++++++++++++++++++-
app/src/main/res/values/settings_keys.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
app/src/main/res/xml/content_settings.xml | 6 ++++
4 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java
index 4d94ec392..4b1d1bdae 100644
--- a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java
+++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java
@@ -1,9 +1,16 @@
package org.schabi.newpipe.info_list.holder;
-import androidx.appcompat.app.AppCompatActivity;
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.Context;
+import android.preference.PreferenceManager;
import android.text.util.Linkify;
+import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import android.widget.Toast;
+
+import androidx.appcompat.app.AppCompatActivity;
import org.jsoup.helper.StringUtil;
import org.schabi.newpipe.R;
@@ -120,6 +127,26 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder {
itemBuilder.getOnCommentsSelectedListener().selected(item);
}
});
+
+ boolean copyCommentOnLongPress = PreferenceManager.getDefaultSharedPreferences(
+ itemBuilder.getContext()).getBoolean(itemBuilder.getContext().getString(R.string.copy_comment_long_press),
+ false);
+
+ if(copyCommentOnLongPress){
+
+ itemView.setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View view) {
+
+ ClipboardManager clipboardManager = (ClipboardManager) itemBuilder.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
+ clipboardManager.setPrimaryClip(ClipData.newPlainText(null,itemContentView.getText()));
+ Toast.makeText(itemBuilder.getContext(), R.string.msg_copied, Toast.LENGTH_SHORT).show();
+ return true;
+
+ }
+ });
+
+ }
}
private void ellipsize() {
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 1a7d61dae..90edd0ef8 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -159,6 +159,7 @@
show_play_with_kodi
show_next_video
show_comments
+ copy_comment_long_press
stream_info_selected_tab
show_hold_to_append
en
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index dab9bde10..ca5a7527f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -76,6 +76,7 @@
Load thumbnails
Show comments
Disable to stop showing comments
+ Copy comment on long press
Turn off to prevent loading thumbnails, saving data and memory usage. Changes clear both in-memory and on-disk image cache.
Image cache wiped
Wipe cached metadata
diff --git a/app/src/main/res/xml/content_settings.xml b/app/src/main/res/xml/content_settings.xml
index 197c14487..d1080bb4d 100644
--- a/app/src/main/res/xml/content_settings.xml
+++ b/app/src/main/res/xml/content_settings.xml
@@ -65,6 +65,12 @@
android:title="@string/show_comments_title"
android:summary="@string/show_comments_summary"/>
+
+
Date: Tue, 4 Feb 2020 18:01:39 +0530
Subject: [PATCH 120/199] removed settings entry
---
.../holder/CommentsMiniInfoItemHolder.java | 26 +++++++------------
app/src/main/res/values/settings_keys.xml | 1 -
app/src/main/res/values/strings.xml | 1 -
app/src/main/res/xml/content_settings.xml | 5 ----
4 files changed, 10 insertions(+), 23 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java
index 4b1d1bdae..592378dc0 100644
--- a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java
+++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java
@@ -3,7 +3,6 @@ package org.schabi.newpipe.info_list.holder;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
-import android.preference.PreferenceManager;
import android.text.util.Linkify;
import android.view.View;
import android.view.ViewGroup;
@@ -128,25 +127,20 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder {
}
});
- boolean copyCommentOnLongPress = PreferenceManager.getDefaultSharedPreferences(
- itemBuilder.getContext()).getBoolean(itemBuilder.getContext().getString(R.string.copy_comment_long_press),
- false);
- if(copyCommentOnLongPress){
+ itemView.setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View view) {
- itemView.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View view) {
+ ClipboardManager clipboardManager = (ClipboardManager) itemBuilder.getContext()
+ .getSystemService(Context.CLIPBOARD_SERVICE);
+ clipboardManager.setPrimaryClip(ClipData.newPlainText(null,itemContentView.getText()));
+ Toast.makeText(itemBuilder.getContext(), R.string.msg_copied, Toast.LENGTH_SHORT).show();
+ return true;
- ClipboardManager clipboardManager = (ClipboardManager) itemBuilder.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
- clipboardManager.setPrimaryClip(ClipData.newPlainText(null,itemContentView.getText()));
- Toast.makeText(itemBuilder.getContext(), R.string.msg_copied, Toast.LENGTH_SHORT).show();
- return true;
+ }
+ });
- }
- });
-
- }
}
private void ellipsize() {
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 90edd0ef8..1a7d61dae 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -159,7 +159,6 @@
show_play_with_kodi
show_next_video
show_comments
- copy_comment_long_press
stream_info_selected_tab
show_hold_to_append
en
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ca5a7527f..dab9bde10 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -76,7 +76,6 @@
Load thumbnails
Show comments
Disable to stop showing comments
- Copy comment on long press
Turn off to prevent loading thumbnails, saving data and memory usage. Changes clear both in-memory and on-disk image cache.
Image cache wiped
Wipe cached metadata
diff --git a/app/src/main/res/xml/content_settings.xml b/app/src/main/res/xml/content_settings.xml
index d1080bb4d..2187b4a3c 100644
--- a/app/src/main/res/xml/content_settings.xml
+++ b/app/src/main/res/xml/content_settings.xml
@@ -65,11 +65,6 @@
android:title="@string/show_comments_title"
android:summary="@string/show_comments_summary"/>
-
Date: Tue, 4 Feb 2020 18:16:33 +0000
Subject: [PATCH 121/199] Translated using Weblate (Russian)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-ru/strings.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 6455a42c2..f21e0e074 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -546,4 +546,6 @@
Разрешите отображение поверх приложений
Язык интерфейса
Как в системе
+ По завершении нажмите Готово
+ Готово
\ No newline at end of file
From 2bac66b5feb69bd4bed18eae9ac5f303ea7974cd Mon Sep 17 00:00:00 2001
From: nautilusx
Date: Tue, 4 Feb 2020 07:48:42 +0000
Subject: [PATCH 122/199] Translated using Weblate (German)
Currently translated at 99.8% (531 of 532 strings)
---
app/src/main/res/values-de/strings.xml | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 306fcf9de..69e0b273b 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -203,8 +203,8 @@
Keine Videos
- - %s Video
- - %s Videos
+ - Video
+ - Videos
Die meisten Sonderzeichen
Element gelöscht
@@ -495,9 +495,9 @@
Downloads starten
Downloads anhalten
Frage, wohin heruntergeladen werden soll
- Du wirst gefragt, wohin Du jeden Download speichern willst
- Du wirst gefragt, wohin Du jeden Download speichern willst.
-\nAktiviere diese Option, wenn Du auf die externe SD-Karte herunterladen möchtest
+ Du wirst gefragt, wohin du jeden Download speichern willst
+ Du wirst gefragt, wohin du jeden Download speichern willst.
+\nAktiviere diese Option, wenn du auf die externe SD-Karte herunterladen möchtest
SAF verwenden
Das Storage Access Framework erlaubt Downloads auf eine externe SD-Karte.
\nHinweis: Manche Geräte sind nicht kompatibel
@@ -539,4 +539,9 @@
Downloadverlauf löschen
Heruntergeladene Dateien löschen
%1$s Downloads gelöscht
+ Berechtigung zur Anzeige über andere Apps erteilen
+ Sprache der App
+ Systemstandard
+ \"Fertig\" drücken, wenn es gelöst wurde
+ Fertig
\ No newline at end of file
From 21184f875522a17dc59f89bfcf44cbc103b69514 Mon Sep 17 00:00:00 2001
From: harshlele <45959248+harshlele@users.noreply.github.com>
Date: Wed, 5 Feb 2020 14:48:39 +0530
Subject: [PATCH 123/199] Update CommentsMiniInfoItemHolder.java
Co-Authored-By: yausername <5203007+yausername@users.noreply.github.com>
---
.../newpipe/info_list/holder/CommentsMiniInfoItemHolder.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java
index 592378dc0..58f1ab90d 100644
--- a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java
+++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java
@@ -134,7 +134,7 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder {
ClipboardManager clipboardManager = (ClipboardManager) itemBuilder.getContext()
.getSystemService(Context.CLIPBOARD_SERVICE);
- clipboardManager.setPrimaryClip(ClipData.newPlainText(null,itemContentView.getText()));
+ clipboardManager.setPrimaryClip(ClipData.newPlainText(null,commentText));
Toast.makeText(itemBuilder.getContext(), R.string.msg_copied, Toast.LENGTH_SHORT).show();
return true;
From 34e31807fc864ae99511ded080323aa723dcad56 Mon Sep 17 00:00:00 2001
From: harshlele <45959248+harshlele@users.noreply.github.com>
Date: Thu, 6 Feb 2020 18:33:06 +0530
Subject: [PATCH 124/199] removed empty line
---
app/src/main/res/xml/content_settings.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/app/src/main/res/xml/content_settings.xml b/app/src/main/res/xml/content_settings.xml
index 2187b4a3c..197c14487 100644
--- a/app/src/main/res/xml/content_settings.xml
+++ b/app/src/main/res/xml/content_settings.xml
@@ -65,7 +65,6 @@
android:title="@string/show_comments_title"
android:summary="@string/show_comments_summary"/>
-
Date: Thu, 6 Feb 2020 17:00:32 -0300
Subject: [PATCH 125/199] Update DataReader.java
make rewind() method fully rewind the stream
---
app/src/main/java/org/schabi/newpipe/streams/DataReader.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/java/org/schabi/newpipe/streams/DataReader.java b/app/src/main/java/org/schabi/newpipe/streams/DataReader.java
index 0e62810c5..75b55cd73 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/DataReader.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/DataReader.java
@@ -137,6 +137,7 @@ public class DataReader {
position = 0;
readOffset = readBuffer.length;
+ readCount = 0;
}
public boolean canRewind() {
From 7045f9711c04a4a0610553f605c8c69a7fd4f21f Mon Sep 17 00:00:00 2001
From: bopol
Date: Sun, 2 Feb 2020 16:54:09 +0100
Subject: [PATCH 126/199] fix thumbnail for PeerTube, and description changes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
description:
- PeerTube: it's now full description (it cut at 250 characters before), and it displays ok (newlines are ok, but markdown isn't)
- MediaCCC: descriptions are now displayed well (newlines added)
- YouTube: timestamps in descriptions are clickable and work
more PeerTube fixes:
thumbnail is now high quality
age limit is now handled
upload date in «recently added» feed is good now (it was one hour delayed)
all fixes come from https://github.com/TeamNewPipe/NewPipeExtractor/pull/239, so it need to be merged before this PR
---
app/build.gradle | 2 +-
.../fragments/detail/VideoDetailFragment.java | 75 +++++++++++++------
2 files changed, 53 insertions(+), 24 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index f8fc1565f..0f7ad5f92 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -62,7 +62,7 @@ dependencies {
exclude module: 'support-annotations'
})
- implementation 'com.github.TeamNewPipe:NewPipeExtractor:ff61e284'
+ implementation 'com.github.B0pol:NewPipeExtractor:5756df8dc7e89b7383d1d1e07a91c30bdab6f868'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.23.0'
diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
index f59cfaef0..a297cddf3 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
@@ -2,7 +2,6 @@ package org.schabi.newpipe.fragments.detail;
import android.app.Activity;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
@@ -18,7 +17,6 @@ import androidx.fragment.app.Fragment;
import androidx.core.content.ContextCompat;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.ActionBar;
-import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.text.Html;
import android.text.Spanned;
@@ -193,6 +191,14 @@ public class VideoDetailFragment
private TabLayout tabLayout;
private FrameLayout relatedStreamsLayout;
+ private static final int DESCRIPTION_HTML = 1;
+ private static final int DESCRIPTION_MARKDOWN = 2;
+ private static final int DESCRIPTION_PLAIN_TEXT = 3;
+
+ private static final int YOUTUBE_SERVICE_ID = ServiceList.YouTube.getServiceId();
+ private static final int MEDIACCC_SERVICE_ID = ServiceList.MediaCCC.getServiceId();
+ private static final int PEERTUBE_SERVICE_ID = ServiceList.PeerTube.getServiceId();
+
/*////////////////////////////////////////////////////////////////////////*/
@@ -483,7 +489,6 @@ public class VideoDetailFragment
videoUploadDateView = rootView.findViewById(R.id.detail_upload_date_view);
videoDescriptionView = rootView.findViewById(R.id.detail_description_view);
videoDescriptionView.setMovementMethod(LinkMovementMethod.getInstance());
- videoDescriptionView.setAutoLinkMask(Linkify.WEB_URLS);
thumbsUpTextView = rootView.findViewById(R.id.detail_thumbs_up_count_view);
thumbsUpImageView = rootView.findViewById(R.id.detail_thumbs_up_img_view);
@@ -919,28 +924,39 @@ public class VideoDetailFragment
return sortedVideoStreams != null ? sortedVideoStreams.get(selectedVideoStreamIndex) : null;
}
- private void prepareDescription(final String descriptionHtml) {
- if (TextUtils.isEmpty(descriptionHtml)) {
+ private void prepareDescription(final String descriptionText, int descriptionTypeId) {
+ if (TextUtils.isEmpty(descriptionText)) {
return;
}
- disposables.add(Single.just(descriptionHtml)
- .map((@io.reactivex.annotations.NonNull String description) -> {
- Spanned parsedDescription;
- if (Build.VERSION.SDK_INT >= 24) {
- parsedDescription = Html.fromHtml(description, 0);
- } else {
- //noinspection deprecation
- parsedDescription = Html.fromHtml(description);
- }
- return parsedDescription;
- })
- .subscribeOn(Schedulers.computation())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe((@io.reactivex.annotations.NonNull Spanned spanned) -> {
- videoDescriptionView.setText(spanned);
- videoDescriptionView.setVisibility(View.VISIBLE);
- }));
+ if (descriptionTypeId == DESCRIPTION_PLAIN_TEXT) {
+ videoDescriptionView.setText(descriptionText, TextView.BufferType.SPANNABLE);
+ videoDescriptionView.setVisibility(View.VISIBLE);
+ } else if (descriptionTypeId == DESCRIPTION_MARKDOWN) {
+ //in the future we would use a library or a good method to show markdown.
+ //rn, we just remove **bold**, and let plain_text otherwise
+ videoDescriptionView.setText(descriptionText.replace("**", ""), TextView.BufferType.SPANNABLE);
+ videoDescriptionView.setVisibility(View.VISIBLE);
+ } else {
+ //== DESCRIPTION_HTML
+ disposables.add(Single.just(descriptionText)
+ .map((@io.reactivex.annotations.NonNull String description) -> {
+ Spanned parsedDescription;
+ if (Build.VERSION.SDK_INT >= 24) {
+ parsedDescription = Html.fromHtml(description, 0);
+ } else {
+ //noinspection deprecation
+ parsedDescription = Html.fromHtml(description);
+ }
+ return parsedDescription;
+ })
+ .subscribeOn(Schedulers.computation())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe((@io.reactivex.annotations.NonNull Spanned spanned) -> {
+ videoDescriptionView.setText(spanned);
+ videoDescriptionView.setVisibility(View.VISIBLE);
+ }));
+ }
}
private void setHeightThumbnail() {
@@ -1126,7 +1142,20 @@ public class VideoDetailFragment
videoUploadDateView.setVisibility(View.GONE);
}
- prepareDescription(info.getDescription());
+ int serviceId = info.getServiceId();
+
+ if (serviceId != YOUTUBE_SERVICE_ID) {
+ videoDescriptionView.setAutoLinkMask(Linkify.WEB_URLS);
+ }
+
+ if (serviceId == PEERTUBE_SERVICE_ID) {
+ prepareDescription(info.getDescription(), DESCRIPTION_MARKDOWN);
+ } else if (serviceId == MEDIACCC_SERVICE_ID) {
+ prepareDescription(info.getDescription(), DESCRIPTION_PLAIN_TEXT);
+ } else {
+ prepareDescription(info.getDescription(), DESCRIPTION_HTML);
+ }
+
updateProgressInfo(info);
animateView(spinnerToolbar, true, 500);
From badaff8ebcd6f446a6a4b575adba43d627b4c7c2 Mon Sep 17 00:00:00 2001
From: bopol
Date: Thu, 6 Feb 2020 23:54:36 +0100
Subject: [PATCH 127/199] refactor Description
---
app/build.gradle | 2 +-
.../fragments/detail/VideoDetailFragment.java | 60 +++++++------------
2 files changed, 23 insertions(+), 39 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 0f7ad5f92..728d380c4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -62,7 +62,7 @@ dependencies {
exclude module: 'support-annotations'
})
- implementation 'com.github.B0pol:NewPipeExtractor:5756df8dc7e89b7383d1d1e07a91c30bdab6f868'
+ implementation 'com.github.B0pol:NewPipeExtractor:11bcc78d9c8eb39e8d61a6f4bc4112025937f087'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.23.0'
diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
index a297cddf3..c6c8ca04c 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
@@ -56,6 +56,7 @@ import org.schabi.newpipe.extractor.exceptions.ExtractionException;
import org.schabi.newpipe.extractor.exceptions.ParsingException;
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor;
import org.schabi.newpipe.extractor.stream.AudioStream;
+import org.schabi.newpipe.extractor.stream.Description;
import org.schabi.newpipe.extractor.stream.Stream;
import org.schabi.newpipe.extractor.stream.StreamInfo;
import org.schabi.newpipe.extractor.stream.StreamType;
@@ -191,14 +192,6 @@ public class VideoDetailFragment
private TabLayout tabLayout;
private FrameLayout relatedStreamsLayout;
- private static final int DESCRIPTION_HTML = 1;
- private static final int DESCRIPTION_MARKDOWN = 2;
- private static final int DESCRIPTION_PLAIN_TEXT = 3;
-
- private static final int YOUTUBE_SERVICE_ID = ServiceList.YouTube.getServiceId();
- private static final int MEDIACCC_SERVICE_ID = ServiceList.MediaCCC.getServiceId();
- private static final int PEERTUBE_SERVICE_ID = ServiceList.PeerTube.getServiceId();
-
/*////////////////////////////////////////////////////////////////////////*/
@@ -924,29 +917,24 @@ public class VideoDetailFragment
return sortedVideoStreams != null ? sortedVideoStreams.get(selectedVideoStreamIndex) : null;
}
- private void prepareDescription(final String descriptionText, int descriptionTypeId) {
- if (TextUtils.isEmpty(descriptionText)) {
+ private void prepareDescription(Description description) {
+ if (TextUtils.isEmpty(description.getContent()) || description == Description.emptyDescription) {
return;
}
- if (descriptionTypeId == DESCRIPTION_PLAIN_TEXT) {
- videoDescriptionView.setText(descriptionText, TextView.BufferType.SPANNABLE);
- videoDescriptionView.setVisibility(View.VISIBLE);
- } else if (descriptionTypeId == DESCRIPTION_MARKDOWN) {
- //in the future we would use a library or a good method to show markdown.
- //rn, we just remove **bold**, and let plain_text otherwise
- videoDescriptionView.setText(descriptionText.replace("**", ""), TextView.BufferType.SPANNABLE);
- videoDescriptionView.setVisibility(View.VISIBLE);
- } else {
- //== DESCRIPTION_HTML
- disposables.add(Single.just(descriptionText)
- .map((@io.reactivex.annotations.NonNull String description) -> {
+ if (description.getType() != Description.HTML) {
+ videoDescriptionView.setAutoLinkMask(Linkify.WEB_URLS);
+ }
+
+ if (description.getType() == Description.HTML) {
+ disposables.add(Single.just(description.getContent())
+ .map((@io.reactivex.annotations.NonNull String descriptionText) -> {
Spanned parsedDescription;
if (Build.VERSION.SDK_INT >= 24) {
- parsedDescription = Html.fromHtml(description, 0);
+ parsedDescription = Html.fromHtml(descriptionText, 0);
} else {
//noinspection deprecation
- parsedDescription = Html.fromHtml(description);
+ parsedDescription = Html.fromHtml(descriptionText);
}
return parsedDescription;
})
@@ -956,6 +944,15 @@ public class VideoDetailFragment
videoDescriptionView.setText(spanned);
videoDescriptionView.setVisibility(View.VISIBLE);
}));
+ } else if (description.getType() == Description.MARKDOWN) {
+ //in the future we would use a library or a good method to show markdown.
+ //rn, we just remove **bold**, and let PLAIN_TEXT otherwise
+ videoDescriptionView.setText(description.getContent().replace("**", ""), TextView.BufferType.SPANNABLE);
+ videoDescriptionView.setVisibility(View.VISIBLE);
+ } else {
+ //== Description.PLAIN_TEXT
+ videoDescriptionView.setText(description.getContent(), TextView.BufferType.SPANNABLE);
+ videoDescriptionView.setVisibility(View.VISIBLE);
}
}
@@ -1142,20 +1139,7 @@ public class VideoDetailFragment
videoUploadDateView.setVisibility(View.GONE);
}
- int serviceId = info.getServiceId();
-
- if (serviceId != YOUTUBE_SERVICE_ID) {
- videoDescriptionView.setAutoLinkMask(Linkify.WEB_URLS);
- }
-
- if (serviceId == PEERTUBE_SERVICE_ID) {
- prepareDescription(info.getDescription(), DESCRIPTION_MARKDOWN);
- } else if (serviceId == MEDIACCC_SERVICE_ID) {
- prepareDescription(info.getDescription(), DESCRIPTION_PLAIN_TEXT);
- } else {
- prepareDescription(info.getDescription(), DESCRIPTION_HTML);
- }
-
+ prepareDescription(info.getDescription());
updateProgressInfo(info);
animateView(spinnerToolbar, true, 500);
From 294c35b2fb2f15e4393eb38cb6985ecbb52b6272 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Fri, 7 Feb 2020 17:51:14 +0100
Subject: [PATCH 128/199] Spelling: the settings
Co-Authored-By: Tobias Groza
---
app/src/main/res/values/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 940008aae..cf44da7c0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -138,7 +138,7 @@
Play
Content
Age restricted content
- Show age restricted video. Future changes are possible from \"Settings\".
+ Show age restricted video. Future changes are possible from the settings.
Live
Live
Downloads
From 4c13dda1f953fcf38ddf579e52fd4acdc62aac84 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Fri, 7 Feb 2020 17:55:37 +0100
Subject: [PATCH 129/199] Spelling: Could not establish secure connection
---
app/src/main/res/values/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cf44da7c0..9d450634c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -557,7 +557,7 @@
The file can not be created
The destination folder can not be created
Permission denied by the system
- Could not connect securely
+ Could not establish secure connection
Could not find the server
Can not connect to the server
The server does not send data
From 3abc660eb30a103cbd6ec355d96f52348b3d0fe7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Fri, 7 Feb 2020 17:57:38 +0100
Subject: [PATCH 130/199] Spelling: Install the fresh NewPipe version.
---
app/src/main/res/values/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9d450634c..bdc3b30e0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -529,7 +529,7 @@
Auto
Switch View
- There is a fresh NewPipe version available!
+ Install the fresh NewPipe version.
Tap to download
Finished
Pending
From f319e3e75a886c3523708f8b7a562be8cabd17b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Fri, 7 Feb 2020 18:01:45 +0100
Subject: [PATCH 131/199] Spelling: Treat the NewPipe makers to something you
like
---
app/src/main/res/values/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index bdc3b30e0..4ae59aa33 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -355,7 +355,7 @@
https://github.com/TeamNewPipe/NewPipe
View on GitHub
Donate
- NewPipe is developed by volunteers spending time bringing you the best experience. Give back to help make NewPipe even better.
+ Treat the newPipe makers to something you like, by way of funding its development.
https://newpipe.schabi.org/donate
Give back
Website
From 85acc53d408630ae63bd045dfe69604841046d24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Fri, 7 Feb 2020 18:06:09 +0100
Subject: [PATCH 132/199] Spelling: Video thumbnail shown
---
app/src/main/res/values/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4ae59aa33..c3ffc9c14 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -60,7 +60,7 @@
Show \"Play with Kodi\" option
Lock screen video thumbnail
Displayed option to play a video via Kodi media center
- Using the background player displays a video thumbnail on the lock screen
+ A video thumbnail is shown on the lock screen when using the background player
Audio
Default audio format
Default video format
From 6d49148c32e8f3c83a07429eebebae3b392794d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?O=C4=9Fuz=20Ersen?=
Date: Tue, 4 Feb 2020 09:23:10 +0000
Subject: [PATCH 133/199] Translated using Weblate (Turkish)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-tr/strings.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 318b30098..bab98a791 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -541,4 +541,6 @@
Diğer uygulamaların üzerinde görüntüleme izni ver
Uygulama dili
Sistem öntanımlısı
+ Çözüldüğünde \"Bitti\" butonuna basın
+ Bitti
\ No newline at end of file
From a476f332f71b0e6f1be710e50b21c7b83ba5b901 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Wed, 5 Feb 2020 00:03:15 +0000
Subject: [PATCH 134/199] Translated using Weblate (German)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-de/strings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 69e0b273b..fbd3f676f 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -203,8 +203,8 @@
Keine Videos
- - Video
- - Videos
+ - %s Video
+ - %s Videos
Die meisten Sonderzeichen
Element gelöscht
From 06eff256f3665075cead89d3ebf0b28265cfe4eb Mon Sep 17 00:00:00 2001
From: B0pol
Date: Tue, 4 Feb 2020 23:43:42 +0000
Subject: [PATCH 135/199] Translated using Weblate (Esperanto)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-eo/strings.xml | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index d4c5d4c80..ddbda086a 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -123,7 +123,7 @@
Tiu permeso estas necesa por
\nmalfermi en ŝprucfenestra modo
Ludante en ŝprucfenestra modo
- Malaktiva
+ Malŝatitaj
Filtri
Aktualigi
Forviŝi
@@ -138,7 +138,7 @@
Elŝuti
Leteroj kaj ciferoj
Plej specialaj karakteroj
- Rekomencu en fokusa gajno
+ Rekomenci en fokusa gajno
Daŭrigi la ludon post la interrompaĵoj (ekzemple telefonadoj)
Serĉa historio
Konservi la historio de serĉo lokale
@@ -172,7 +172,7 @@
[Nekonata]
Viciĝi en la fona ludilo
Viciĝi en nova ŝprucfenestro
- Komencu ludi en nova ŝprucfenestro
+ Komenci ludi en nova ŝprucfenestro
Defaŭlta enhava lando
Ŝangi Orientiĝon
Ŝanĝi al Fono
@@ -540,4 +540,6 @@
Doni la permeson por afiŝiĝi supre aliaj apoj
Lingvo de la apo
Sistema lingvo
+ Premu « Finita » kiam solvita
+ Finita
\ No newline at end of file
From 75248d7a12f5e7afd2bff65f3143e22526b251ff Mon Sep 17 00:00:00 2001
From: Osoitz
Date: Thu, 6 Feb 2020 19:03:14 +0000
Subject: [PATCH 136/199] Translated using Weblate (Basque)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-eu/strings.xml | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index 96745ee23..8e74ed126 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -199,8 +199,8 @@
Bideorik ez
- - Bideoa
- - Bideoak
+ - Bideo %
+ - % bideo
Historiala
Bilatuta
@@ -538,4 +538,9 @@
Garbitu deskargen historiala
Ezabatu deskargatutako fitxategiak
%1$s deskarga ezabatuta
+ Eman beste aplikazioen gainean erakusteko baimena
+ Aplikazioaren hizkuntza
+ Sisteman lehenetsia
+ Sakatu \"Egina\" konponduta dagoenean
+ Egina
\ No newline at end of file
From ce003d2683ed1afa79548c4601adc67da7e4dba3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vojt=C4=9Bch=20=C5=A0amla?=
Date: Tue, 4 Feb 2020 20:58:55 +0000
Subject: [PATCH 137/199] Translated using Weblate (Czech)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-cs/strings.xml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 44001ce9f..4c66d4f66 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -319,7 +319,7 @@ otevření ve vyskakovacím okně
Povolit službu LeakCanary
Monitoring úniku paměti může způsobit nereagování aplikace při heap dumpingu
Nahlásit mimo-cyklické chyby
- Vynutit hlášení nedoručitelných výjimek Rx mimo fragment nebo trvání činnosti po odstranění
+ Vynutit hlášení nedoručitelných výjimek Rx mimo životnost fragmentu nebo aktivity po odstranění
Použít rychlé nepřesné hledání
Nepřesné hledání umožní přehrávači posouvat se rychleji, ale se sníženou přesností
Načítat náhledy
@@ -550,4 +550,6 @@ otevření ve vyskakovacím okně
Souhlasit se zobrazením přes jiné aplikace
Jazyk aplikace
Jazyk systému
+ Po vyřešení stiskni \"Hotovo\"
+ Hotovo
\ No newline at end of file
From 5ed5a81708956bd17acb37f08151ad9608fa2ac6 Mon Sep 17 00:00:00 2001
From: Yaron Shahrabani
Date: Tue, 4 Feb 2020 05:48:21 +0000
Subject: [PATCH 138/199] Translated using Weblate (Hebrew)
Currently translated at 99.8% (531 of 532 strings)
---
app/src/main/res/values-he/strings.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index dacde43bc..72b6a92ab 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -553,4 +553,6 @@
יש להעניק הרשאה להציג על גבי יישומונים אחרים
שפת היישומון
בררת המחדל של המערכת
+ יש ללחוץ על „סיום” לאחר הפתירה
+ סיום
\ No newline at end of file
From 83d43f845fc7fc15e78a492a2e0d7aa8dbdc70f7 Mon Sep 17 00:00:00 2001
From: WaldiS
Date: Tue, 4 Feb 2020 14:54:43 +0000
Subject: [PATCH 139/199] Translated using Weblate (Polish)
Currently translated at 99.8% (531 of 532 strings)
---
app/src/main/res/values-pl/strings.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index cfb2c00d2..53de33521 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -547,4 +547,6 @@
Zezwól na wyświetlanie w innych aplikacjach
Język aplikacji
Domyślny systemu
+ Po rozwiązaniu naciśnij „Gotowe”
+ Gotowe
\ No newline at end of file
From 72e90b4d576849d247a58bf4e955c1d6b559ca4e Mon Sep 17 00:00:00 2001
From: thami simo
Date: Thu, 6 Feb 2020 10:55:18 +0000
Subject: [PATCH 140/199] Translated using Weblate (Arabic)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-ar/strings.xml | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 4d91b40da..79fe2a6fe 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -246,12 +246,12 @@
- %s مشاهدة
- - فيديوهات
- - فيديوهات
- - فيديوهات
- - فيديوهات
- - فيديوهات
- - فيديوهات
+ - %s فيديو
+ - %s أشرطة فيديو
+ - %s أشرطة فيديو
+ - %s أشرطة فيديو
+ - %s أشرطة فيديو
+ - %s أشرطة فيديو
طلب اختبار الكابتشا مطلوب
© %1$sبواسطة%2$sتحت%3$s
@@ -556,9 +556,14 @@
لا يمكن استرداد هذا التنزيل
اختيار مثيل
ابحث عن الحالات التي تناسبك على %s
- تمكين صور مصغرة قفل شاشة فيديو
+ تمكين قفل شاشة الصور المصغرة الفيديو
عند استخدام مشغل الخلفية ، سيتم عرض صورة مصغرة للفيديو على شاشة القفل
تنظيف تاريخ التحميل
حذف الملفات التي تم تنزيلها
التنزيلات %1$s المحذوفة
+ إعطاء إذن لعرضه على التطبيقات الأخرى
+ لغة التطبيق
+ النظام الافتراضي
+ اضغط على \"تم\" عند حلها
+ منجز
\ No newline at end of file
From 06e536eb459ec824cdfff0b3fd02170e867525d9 Mon Sep 17 00:00:00 2001
From: zmni
Date: Wed, 5 Feb 2020 13:00:11 +0000
Subject: [PATCH 141/199] Translated using Weblate (Indonesian)
Currently translated at 99.6% (530 of 532 strings)
---
app/src/main/res/values-in/strings.xml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 36929856e..7c3cce473 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -498,7 +498,7 @@
Hapus semua posisi pemutaran\?
Ubah folder unduhan
- - Video
+ - %s video
Aktif/Nonaktifkan layanan, saat ini aktif:
Tidak ada yang menonton
@@ -531,4 +531,8 @@
Hapus riwayat unduhan
Hapus berkas yang diunduh
%1$s unduhan dihapus
+ Izinkan untuk ditampilkan di atas aplikasi lain
+ Bahasa apl
+ Default sistem
+ Selesai
\ No newline at end of file
From e9dc96944b4902e5fe776530a045e54d6ad35d4f Mon Sep 17 00:00:00 2001
From: JoC
Date: Tue, 4 Feb 2020 05:47:51 +0000
Subject: [PATCH 142/199] Translated using Weblate (Spanish)
Currently translated at 99.8% (531 of 532 strings)
---
app/src/main/res/values-es/strings.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index aadb818f9..1216c02c5 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -540,4 +540,6 @@
Dar permisos para que se muestre por sobre otras apps
Idioma de la app
Predeterminado del sistema
+ Presiona \"Hecho\" cuando esté resuelto
+ Hecho
\ No newline at end of file
From c93be13dfe5c4acd963076545fdc21de7e5e1245 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Tue, 4 Feb 2020 23:51:01 +0000
Subject: [PATCH 143/199] Translated using Weblate (French)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-fr/strings.xml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index ad416aabc..8a8c00c60 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -116,7 +116,7 @@
Lecture en mode flottant
Oui
Plus tard
- Désactivé
+ Désactivés
Quoi :\\nRequête :\\nLangue du contenu :\\nService :\\nHeure UTC :\\nPaquet :\\nVersion :\\nVersion du système d’exploitation :
k
M
@@ -541,4 +541,6 @@
Autoriser la superposition d\'applis
Langue de l\'application
Langue du système
+ Appuyez sur « Terminé » une fois résolu
+ Terminé
\ No newline at end of file
From 7568616f8ea221bd757337dae6b7bc452b2f4233 Mon Sep 17 00:00:00 2001
From: MohammedSR Vevo
Date: Tue, 4 Feb 2020 16:53:02 +0000
Subject: [PATCH 144/199] Translated using Weblate (Kurdish)
Currently translated at 99.8% (531 of 532 strings)
---
app/src/main/res/values-ku/strings.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml
index 6a1ac3b9b..20ce04100 100644
--- a/app/src/main/res/values-ku/strings.xml
+++ b/app/src/main/res/values-ku/strings.xml
@@ -544,4 +544,6 @@
دەسەڵاتی پێبدە بۆ پیشاندان لەسەرووی ئەپەکانیترەوە
زمانی ئەپ
بنەڕەتی سیستەم
+ گرتە بکە لەسەر ”تەواو” کاتێ کە چارەسەرکرا
+ تەواو
\ No newline at end of file
From 6adbfade2b0736c606f3815a38a7b1e685316cc7 Mon Sep 17 00:00:00 2001
From: Jeff Huang
Date: Tue, 4 Feb 2020 02:51:37 +0000
Subject: [PATCH 145/199] Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-zh-rTW/strings.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 51d21f167..395a555e7 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -537,4 +537,6 @@
給予顯示在其他應用程式上層的權限
應用程式語言
系統預設值
+ 解決後請按「完成」
+ 完成
\ No newline at end of file
From 9eb55e1be5fa98b06a1836a7ce2c09f3b4078e45 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Mon, 3 Feb 2020 20:50:00 +0000
Subject: [PATCH 146/199] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?=
=?UTF-8?q?an=20Bokm=C3=A5l)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Currently translated at 98.1% (522 of 532 strings)
---
app/src/main/res/values-nb-rNO/strings.xml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml
index fa39ae466..9757df2ad 100644
--- a/app/src/main/res/values-nb-rNO/strings.xml
+++ b/app/src/main/res/values-nb-rNO/strings.xml
@@ -537,4 +537,9 @@
gjenoppretter
Kan ikke gjenopprette denne nedlastingen
Hurtigframoverspoling/-tilbakeblafringsvarighet
+ Gi tilgang til visning over andre programmer
+ Programspråk
+ Systemforvalg
+ Trykk \"Ferdig\" når den er løst
+ Ferdig
\ No newline at end of file
From 3ff85c2ab71d89ff54cf67507b0a81ad12999ce6 Mon Sep 17 00:00:00 2001
From: TobiGr
Date: Fri, 7 Feb 2020 22:22:27 +0100
Subject: [PATCH 147/199] Make report error title in snackbar uppercase again
---
app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
index e7a6319e3..0bb93c63f 100644
--- a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
@@ -91,7 +91,7 @@ public class ErrorActivity extends AppCompatActivity {
if (rootView != null) {
Snackbar.make(rootView, R.string.error_snackbar_message, 3 * 1000)
.setActionTextColor(Color.YELLOW)
- .setAction(R.string.error_snackbar_action, v ->
+ .setAction(context.getString(R.string.error_snackbar_action).toUpperCase(), v ->
startErrorActivity(returnActivity, context, errorInfo, el)).show();
} else {
startErrorActivity(returnActivity, context, errorInfo, el);
From 2d62fa401d63551785859b0d909f8414e94ba191 Mon Sep 17 00:00:00 2001
From: bopol
Date: Sat, 8 Feb 2020 09:56:37 +0100
Subject: [PATCH 148/199] real markdown support for descriptions
and update third-party licences in about page
---
app/build.gradle | 4 ++++
.../org/schabi/newpipe/about/AboutActivity.java | 16 +++++++++-------
.../fragments/detail/VideoDetailFragment.java | 14 +++++++-------
3 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 728d380c4..65ab78ffa 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -53,6 +53,7 @@ ext {
okHttpLibVersion = '3.12.6'
icepickLibVersion = '3.2.0'
stethoLibVersion = '1.5.0'
+ markwonVersion = '4.2.1'
}
dependencies {
@@ -108,4 +109,7 @@ dependencies {
implementation "com.squareup.okhttp3:okhttp:${okHttpLibVersion}"
debugImplementation "com.facebook.stetho:stetho-okhttp3:${stethoLibVersion}"
+
+ implementation "io.noties.markwon:core:${markwonVersion}"
+ implementation "io.noties.markwon:linkify:${markwonVersion}"
}
diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
index 9e23d9d3d..edfc54375 100644
--- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.java
@@ -32,18 +32,20 @@ public class AboutActivity extends AppCompatActivity {
* List of all software components
*/
private static final SoftwareComponent[] SOFTWARE_COMPONENTS = new SoftwareComponent[]{
- new SoftwareComponent("Giga Get", "2014", "Peter Cai", "https://github.com/PaperAirplane-Dev-Team/GigaGet", StandardLicenses.GPL2),
- new SoftwareComponent("NewPipe Extractor", "2017", "Christian Schabesberger", "https://github.com/TeamNewPipe/NewPipeExtractor", StandardLicenses.GPL3),
+ new SoftwareComponent("Giga Get", "2014 - 2015", "Peter Cai", "https://github.com/PaperAirplane-Dev-Team/GigaGet", StandardLicenses.GPL2),
+ new SoftwareComponent("NewPipe Extractor", "2017 - 2020", "Christian Schabesberger", "https://github.com/TeamNewPipe/NewPipeExtractor", StandardLicenses.GPL3),
new SoftwareComponent("Jsoup", "2017", "Jonathan Hedley", "https://github.com/jhy/jsoup", StandardLicenses.MIT),
new SoftwareComponent("Rhino", "2015", "Mozilla", "https://www.mozilla.org/rhino/", StandardLicenses.MPL2),
new SoftwareComponent("ACRA", "2013", "Kevin Gaudin", "http://www.acra.ch", StandardLicenses.APACHE2),
new SoftwareComponent("Universal Image Loader", "2011 - 2015", "Sergey Tarasevich", "https://github.com/nostra13/Android-Universal-Image-Loader", StandardLicenses.APACHE2),
- new SoftwareComponent("CircleImageView", "2014 - 2017", "Henning Dodenhof", "https://github.com/hdodenhof/CircleImageView", StandardLicenses.APACHE2),
+ new SoftwareComponent("CircleImageView", "2014 - 2020", "Henning Dodenhof", "https://github.com/hdodenhof/CircleImageView", StandardLicenses.APACHE2),
new SoftwareComponent("NoNonsense-FilePicker", "2016", "Jonas Kalderstam", "https://github.com/spacecowboy/NoNonsense-FilePicker", StandardLicenses.MPL2),
- new SoftwareComponent("ExoPlayer", "2014-2017", "Google Inc", "https://github.com/google/ExoPlayer", StandardLicenses.APACHE2),
- new SoftwareComponent("RxAndroid", "2015", "The RxAndroid authors", "https://github.com/ReactiveX/RxAndroid", StandardLicenses.APACHE2),
- new SoftwareComponent("RxJava", "2016-present", "RxJava Contributors", "https://github.com/ReactiveX/RxJava", StandardLicenses.APACHE2),
- new SoftwareComponent("RxBinding", "2015", "Jake Wharton", "https://github.com/JakeWharton/RxBinding", StandardLicenses.APACHE2)
+ new SoftwareComponent("ExoPlayer", "2014 - 2020", "Google Inc", "https://github.com/google/ExoPlayer", StandardLicenses.APACHE2),
+ new SoftwareComponent("RxAndroid", "2015 - 2018", "The RxAndroid authors", "https://github.com/ReactiveX/RxAndroid", StandardLicenses.APACHE2),
+ new SoftwareComponent("RxJava", "2016 - 2020", "RxJava Contributors", "https://github.com/ReactiveX/RxJava", StandardLicenses.APACHE2),
+ new SoftwareComponent("RxBinding", "2015 - 2018", "Jake Wharton", "https://github.com/JakeWharton/RxBinding", StandardLicenses.APACHE2),
+ new SoftwareComponent("PrettyTime", "2012 - 2020", "Lincoln Baxter, III", "https://github.com/ocpsoft/prettytime", StandardLicenses.APACHE2),
+ new SoftwareComponent("Markwon", "2017 - 2020", "Noties", "https://github.com/noties/Markwon", StandardLicenses.APACHE2)
};
/**
diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
index c6c8ca04c..3c594bdfa 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
@@ -95,6 +95,8 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
import icepick.State;
+import io.noties.markwon.Markwon;
+import io.noties.markwon.linkify.LinkifyPlugin;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
@@ -922,10 +924,6 @@ public class VideoDetailFragment
return;
}
- if (description.getType() != Description.HTML) {
- videoDescriptionView.setAutoLinkMask(Linkify.WEB_URLS);
- }
-
if (description.getType() == Description.HTML) {
disposables.add(Single.just(description.getContent())
.map((@io.reactivex.annotations.NonNull String descriptionText) -> {
@@ -945,12 +943,14 @@ public class VideoDetailFragment
videoDescriptionView.setVisibility(View.VISIBLE);
}));
} else if (description.getType() == Description.MARKDOWN) {
- //in the future we would use a library or a good method to show markdown.
- //rn, we just remove **bold**, and let PLAIN_TEXT otherwise
- videoDescriptionView.setText(description.getContent().replace("**", ""), TextView.BufferType.SPANNABLE);
+ final Markwon markwon = Markwon.builder(getContext())
+ .usePlugin(LinkifyPlugin.create())
+ .build();
+ markwon.setMarkdown(videoDescriptionView, description.getContent());
videoDescriptionView.setVisibility(View.VISIBLE);
} else {
//== Description.PLAIN_TEXT
+ videoDescriptionView.setAutoLinkMask(Linkify.WEB_URLS);
videoDescriptionView.setText(description.getContent(), TextView.BufferType.SPANNABLE);
videoDescriptionView.setVisibility(View.VISIBLE);
}
From 3f3d1bfccf9be4182bd2872358263d3c904e447a Mon Sep 17 00:00:00 2001
From: bopol
Date: Sun, 9 Feb 2020 00:00:14 +0100
Subject: [PATCH 149/199] update extractor version
---
app/build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/build.gradle b/app/build.gradle
index 65ab78ffa..5da8c9ff0 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -63,7 +63,7 @@ dependencies {
exclude module: 'support-annotations'
})
- implementation 'com.github.B0pol:NewPipeExtractor:11bcc78d9c8eb39e8d61a6f4bc4112025937f087'
+ implementation 'com.github.TeamNewPipe:NewPipeExtractor:9112a10'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.23.0'
From eb7d9f76e56731407f850f2fd278f5d052b5ab08 Mon Sep 17 00:00:00 2001
From: AioiLight
Date: Sat, 8 Feb 2020 17:47:01 +0000
Subject: [PATCH 150/199] Translated using Weblate (Japanese)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-ja/strings.xml | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index cf63e33e1..adaaa3828 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -498,7 +498,7 @@
ダウンロードフォルダーを変更して有効にします
サービスの切り替え、現在の選択:
- - 動画
+ - %s つの動画
デフォルトのキオスク
誰も見ていません
@@ -530,4 +530,10 @@
ダウンロード履歴を消去
ダウンロードしたファイルを消去
%1$s 個削除しました
+ 自動生成 (アップローダーが見つかりません)
+ 他のアプリの上に表示する権限を与えてください
+ アプリの言語
+ システムの既定
+ 解けたら \"完了\" を押してください
+ 完了
\ No newline at end of file
From c1d9a253b0f72b504414f832ff4972fbe657cee4 Mon Sep 17 00:00:00 2001
From: pjammo
Date: Sat, 8 Feb 2020 19:20:17 +0000
Subject: [PATCH 151/199] Translated using Weblate (Italian)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-it/strings.xml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 5acc513e7..eef99d93f 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -538,4 +538,9 @@
Svuota Cronologia Download
Elimina File Scaricati
%1$s download eliminati
+ Consentire la visualizzazione sopra altre applicazioni
+ Lingua Applicazione
+ Predefinita di Sistema
+ Premere \"Fatto\" quando risolto
+ Fatto
\ No newline at end of file
From a75deb6ba2b7a6758caa44cb3d3dff62a730ad11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Allan=20Nordh=C3=B8y?=
Date: Sun, 9 Feb 2020 16:29:51 +0100
Subject: [PATCH 152/199] Reverted changes
---
app/src/main/res/values/strings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c3ffc9c14..ccd58f003 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -355,7 +355,7 @@
https://github.com/TeamNewPipe/NewPipe
View on GitHub
Donate
- Treat the newPipe makers to something you like, by way of funding its development.
+ NewPipe is developed by volunteers spending their free time bringing you the best user experience. Give back to help developers make NewPipe even better while they enjoy a cup of coffee.
https://newpipe.schabi.org/donate
Give back
Website
@@ -529,7 +529,7 @@
Auto
Switch View
- Install the fresh NewPipe version.
+ NewPipe Update Available!
Tap to download
Finished
Pending
From 0882d9d66b94994d5c85e312cf28cbb95da9f2a7 Mon Sep 17 00:00:00 2001
From: Ali Demirtas
Date: Sun, 9 Feb 2020 08:55:08 +0000
Subject: [PATCH 153/199] Translated using Weblate (Turkish)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-tr/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index bab98a791..1dd9deff6 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -430,7 +430,7 @@
durduruldu
sırada
son işlemler uygulanıyor
- Kuyruk
+ Sıra
İşlem sistem tarafından reddedildi
İndirme başarısız
İndirme bitti
From 17d00837bdc105cfbed1f47010be889e666aba4a Mon Sep 17 00:00:00 2001
From: vkhomenk
Date: Mon, 10 Feb 2020 10:59:09 +0000
Subject: [PATCH 154/199] Translated using Weblate (Ukrainian)
Currently translated at 99.2% (528 of 532 strings)
---
app/src/main/res/values-uk/strings.xml | 30 ++++++++++++++++++++------
1 file changed, 23 insertions(+), 7 deletions(-)
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index ef5dbee53..a041a5496 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -233,9 +233,9 @@
- %s підписників
- - Відео
- - Відео
- - Відео
+ - %s відео
+ - %s відео
+ - %s відео
Створити
Видалити одне
@@ -491,7 +491,7 @@
На пристрої не залишилося вільного місця
Прогрес втрачено через видалення файлу
Час очікування з\'єднання вичерпано
- Ви впевнені\?
+ Очистити історію завантажень, чи завантажені файли\?
Обмежити чергу завантажень
В кожен момент часу виконуватиметься одне завантаження
Почати завантаження
@@ -524,8 +524,24 @@
Мова зміниться після перезапуску програми.
Швидке перемотування
Не вдалося перевірити екземпляр
- Оберіть ваш улюблений екземпляр peertube.
- Знайдіть екземпляри, які найбільше підходять вам на https://joinpeertube.org/instance#instance-list
+ Оберіть сервер PeerTube
+ Знайти найбільш підходящий сервер можна на %s
Додати екземпляр
- Введіть посилання на екземпляр
+ Введіть посилання на сервер
+ Підтримуються лише HTTP посилання
+ Сервер уже додано
+ Недавно додані
+ Найбільш вподобані
+ відновлюється
+ Неможливо відновити це завантаження
+ Оберіть сервер
+ Прев\'ю на екрані блокування
+ При використанні фонового плеєра, прев\'ю відео буде показано на екрані блокування
+ Очистити історію завантажень
+ Видалити завантажені файли
+ Потрібен дозвіл показувати поверх інших додатків
+ Мова
+ Мова телефону
+ Натисніть \"Готово\" по закінченню
+ Готово
\ No newline at end of file
From 99400fa570721fe76cca082221d76230901c0b45 Mon Sep 17 00:00:00 2001
From: zeritti
Date: Mon, 10 Feb 2020 20:02:14 +0000
Subject: [PATCH 155/199] Translated using Weblate (Czech)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-cs/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 4c66d4f66..ff89170ac 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -64,7 +64,7 @@
Zobrazit video s věkovým omezením. Povolit tento obsah lze v \"Nastavení\".
ŽIVĚ
Nebylo možné kompletně analyzovat stránku
- Začni stiskem hledat
+ Začni klepnutím na hledat
Zkopírováno do schránky
Počkejte prosím…
NewPipe stahuje
From 9f9c6eff0042cb114b71794a91c10be266d3cc4a Mon Sep 17 00:00:00 2001
From: Shafiq Jamzuri <1994_shafiq_1414@outlook.my>
Date: Sun, 9 Feb 2020 14:09:27 +0000
Subject: [PATCH 156/199] Translated using Weblate (Malay)
Currently translated at 84.2% (448 of 532 strings)
---
app/src/main/res/values-ms/strings.xml | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml
index f53450e13..d8d291759 100644
--- a/app/src/main/res/values-ms/strings.xml
+++ b/app/src/main/res/values-ms/strings.xml
@@ -1,5 +1,6 @@
-Tekan carian untuk bermula
+
+ Tekan carian untuk bermula
%1$s tontonan
Diterbitkan pada %1$s
Tiada pemain strim ditemui. Adakah anda mahu memasang VLC\?
@@ -27,7 +28,6 @@
Tidak dapat menukar langganan
Tidak dapat mengemaskini langganan
Papar maklumat
-
Utama
Langganan
Penanda halaman Senarai main
@@ -38,12 +38,12 @@
Latar Belakang
Popup
Tambahkan Ke
- Lokasi muat turun video
- Lokasi untuk menyimpan video yang dimuat turun
- Memasukkan lokasi muat turun video
+ Folder muat turun video
+ Fail video yang dimuat turun disimpan di sini
+ Pilih folder muat turun untuk fail video
Lokasi muat turun audio
- Audio yang dimuat turun disimpan sini
- Memasukkan lokasi muat turun fail audio
+ Fail audio yang dimuat turun disimpan di sini
+ Pilih folder muat turun untuk fail audio
Main secara automatik
Memain video apabila NewPipe dipanggil dari app lain
Resolusi utama
@@ -224,13 +224,13 @@
B
Tiada pelanggan
- - %s pelanggan
-
+ - %s pelanggan
+
Kira pelanggan tidak tersedia
Tiada tontonan
- - %s tontonan
-
+ - %s tontonan
+
Tiada video
Mula
Jeda
@@ -459,4 +459,6 @@
Jeda semasa beralih ke data mudah alih
Muat turun yang tidak dapat dihentikan akan dimulakan semula
Menunggu
+ Ubah folder muat turun untuk melihat kesan
+ Dayakan lakaran kecil video skrin kunci
\ No newline at end of file
From aecc9081527fb54cdf4176871a451f12f8e3d590 Mon Sep 17 00:00:00 2001
From: Adolfo Jayme Barrientos
Date: Sun, 9 Feb 2020 17:29:43 +0000
Subject: [PATCH 157/199] Translated using Weblate (Spanish)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-es/strings.xml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 1216c02c5..17ef8b5b7 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -221,7 +221,7 @@
Seleccione un canal
No hay suscripciones a canales todavía
Seleccione un kiosco
- Kiosco
+ Quiosco
Tendencias
50 mejores
Mostrar sugerencia cuando se presiona el botón de 2.º plano o emergente en la página de detalles del vídeo
@@ -517,7 +517,7 @@
- %s escucha
- %s escuchas
- El idioma cambiará luego de que la app sea reiniciada.
+ El idioma cambiará luego de que se reinicie la aplicación.
Duración de búsqueda al avanzar y/o retroceder
Instancias de PeerTube
Selecciona tus instancias favoritas de PeerTube
@@ -525,7 +525,7 @@
Agregar instancia
Ingresar URL de la instancia
No se pudo validar la instancia
- Sólo URLs con HTTPS son soportados
+ Solo se admiten URL HTTPS
La instancia ya existe
Local
Agregados recientemente
@@ -538,8 +538,8 @@
Eliminar archivos descargados
Eliminadas %1$s descargas
Dar permisos para que se muestre por sobre otras apps
- Idioma de la app
+ Idioma de aplicación
Predeterminado del sistema
- Presiona \"Hecho\" cuando esté resuelto
+ Pulse en «Hecho» cuando esté resuelto
Hecho
\ No newline at end of file
From 3624f1b9a2c1113a2bd09618590e265f84bdad48 Mon Sep 17 00:00:00 2001
From: burstw0w
Date: Tue, 11 Feb 2020 01:05:34 +0000
Subject: [PATCH 158/199] Translated using Weblate (Serbian)
Currently translated at 46.6% (248 of 532 strings)
---
app/src/main/res/values-sr/strings.xml | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index a8abb98e9..ee999d779 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -14,9 +14,9 @@
Подели помоћу
Отвори помоћу
ротација
- Одредиште преузимања за видео
- Путања за упис преузетих видеа
- Унесите путању за преузимање видеа
+ Одредиште преузимања снимака
+ Преузети снимци се чувају овде
+ Изаберите фолдер за преузимање видео снимака
Подразумевана резолуција
Пусти помоћу Кодија
Апликација Кор (Kore) није нађена. Инсталирати је?
@@ -57,7 +57,6 @@
Не могу да дешифрујем потпис видео урл-а
Не могу да рашчланим веб-сајт
Садржај није доступан
-
Садржај
Прикажи старосно-ограничени садржај
Старосно-ограничени видео. Премошћавање је доступно у поставкама.
@@ -82,7 +81,7 @@
уживо
Тапните на претрагу за почетак
Аутопуштање
- Аутоматско пуштање видеа по позиву друге апликације
+ Пушта видео по позиву друге апликације
Почни
Паузирај
Пусти
@@ -179,7 +178,7 @@
Не могу да учитам лиценцу
Одјављен са канала
Не могу да изменим претплату
- Не могу да ажурирам претплату
+ Није могуће ажурирати претплату
Плејер
Понашање
Историјат
From c7a9847e662c01e8aa7b6536008dc254ffb7fcf1 Mon Sep 17 00:00:00 2001
From: Daniele Lira Mereb
Date: Thu, 13 Feb 2020 19:36:39 +0000
Subject: [PATCH 159/199] Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-pt-rBR/strings.xml | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 04c4e3960..04f73b7e4 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -496,7 +496,7 @@ abrir em modo popup
Não há espaço disponível no dispositivo
Progresso perdido devido ao arquivo ter sido apagado
Tempo limite de conexão
- Tem certeza\?
+ Apagar todo o histórico de downloads ou excluir todos os arquivos baixados\?
Limitar tamanho da fila de download
Um download será executado ao mesmo tempo
Iniciar downloads
@@ -543,4 +543,12 @@ abrir em modo popup
Escolha uma instância
Ativar capa do vídeo na tela de bloqueio
Mostra capa do vídeo na tela de bloqueio ao usar player em segundo plano
+ Limpar histórico de downloads
+ Excluir arquivos baixados
+ %1$s arquivos excluídos
+ Permita sobreposição a outros aplicativos
+ Idioma do aplicativo
+ Padrão do sistema
+ Toque em \"Feito\" ao resolver
+ Feito
\ No newline at end of file
From 3b5cf0e37c012935d0f4df5a94012d6f8c9c7aaf Mon Sep 17 00:00:00 2001
From: Nogooduser
Date: Thu, 13 Feb 2020 16:14:56 +0000
Subject: [PATCH 160/199] Translated using Weblate (Portuguese)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-pt/strings.xml | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 3c4977a06..c06a1909d 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -23,7 +23,7 @@
Reproduzir no Kodi
Aplicação Kore não encontrada. Instalar?
Mostrar opção \"Reproduzir no Kodi\"
- Exibe uma opção para reproduzir o vídeo no Kodi
+ Exibir uma opção para reproduzir o vídeo via Kodi media center
Áudio
Formato de áudio predefinido
Transferir
@@ -109,7 +109,7 @@
Abrir no modo de janela autónoma
Preto
Tudo
- Canais
+ Canal
Sim
Depois
k
@@ -152,7 +152,7 @@
Sobre
Colaboradores
Licenças
- Aplicação de reprodução de emissões livre para Android.
+ Aplicação livre de reprodução de emissões para Android.
Ver no GitHub
Licença do NewPipe
Se tem ideias para: tradução, alterações de desenho, limpeza de código, ou alterações significativas no código fonte - todas as ajudas são bem-vindas. Quanto mais se faz, melhor ficará!
@@ -217,7 +217,7 @@
A recuperar de um erro do reprodutor
Conteúdo da página principal
Página vazia
- Página de subscrições
+ Subscrições
Página do canal
Selecione um canal
Não existem canais subscritos
@@ -225,7 +225,7 @@
Kiosk
Tendências
Top 50
- Novo e popular
+ Tendências
Reprodutor em segundo plano
Reprodutor \'popup\'
Remover
@@ -266,7 +266,7 @@
Carregar miniaturas
Desative para parar o carregamento das miniaturas, poupar dados e utilização da memória. As alterações limpam a cache de imagem do disco e da memória.
Cache de imagens limpa
- País do conteúdo predefinido
+ País predefinido dos conteúdos
Depuração
Não foram encontradas emissões de vídeo
Não foram encontradas emissões de áudio
@@ -279,7 +279,7 @@
Rejeitar
Site
Visite ao site NewPipe para obter mais informação e novidades.
- Página \"kiosk\"
+ Página de Quiosque
Página de \"Feed\"
Exportados
Importados
@@ -372,8 +372,8 @@
Colocar em fila em segundo plano
Colocar em fila num nova janela
Ação de \'abrir\' preferida
- Ação predefinida para abrir o conteúdo — %s
- Definir como miniatura da lista de reprodução
+ Ação predefinida ao abrir o conteúdo — %s
+ Definir como Miniatura da Lista de Reprodução
Não foi possível eliminar a lista de reprodução.
Ajustar
Preencher
@@ -537,4 +537,9 @@
Limpar histórico de descarregamentos
Apagar ficheiros descarregados
%1$s descarregamentos apagados
+ Permitir sobreposição da janela sobre outras aplicações
+ Idioma da aplicação
+ Predefinição do sistema
+ Pressionar \"Aceitar\" quando terminar
+ Aceitar
\ No newline at end of file
From c995c6fda5d4c29494c9084c19c2640ab49082b0 Mon Sep 17 00:00:00 2001
From: Milo Ivir
Date: Wed, 12 Feb 2020 22:32:21 +0000
Subject: [PATCH 161/199] Translated using Weblate (Croatian)
Currently translated at 88.2% (469 of 532 strings)
---
app/src/main/res/values-hr/strings.xml | 34 +++++++++++++-------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index beb2bdd02..d5e751262 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -30,12 +30,12 @@
Što je novo
Pozadina
Skočni prozor
- Put za preuzimanje videozapisa
- Put za spremanje videozapisa u
- Unesi put za preuzimanje videozapisa
+ Mapa za preuzimanje videozapisa
+ Preuzete video datoteke se spremaju ovdje
+ Odaberi mapu za preuzimanje video datoteka
Mapa za preuzimanje zvuka
- Preuzeti zvuk je spremljen ovdje
- Unesi put za preuzimanje zvučne datoteke
+ Preuzete audio datoteke se spremaju ovdje
+ Odaberi mapu za preuzimanje audio datoteka
Automatska reprodukcija
Reproducira videozapis kad je NewPipe pozvan iz druge aplikacije
Zadana razlučivost
@@ -61,7 +61,7 @@
Prikaži prijedloge pri traženju
Povijest pretraživanja
Svaku pretragu spremi lokalno
- Povijest & Predmemorija
+ Prati povijest
Pratite pogledane videozapise
Nastavi nakon dobivanja fokusa
Nastavi reproducirati nakon prekidanja (npr. telefonski pozivi)
@@ -116,7 +116,7 @@
Vaš komentar (na engleskom):
Detalji:
Sličica pregleda videozapisa
- Sličica pregleda videozapisa
+ Pokreni video, trajanje:
Profilna slika prenositelja
Goreglasovi
Doljeglasovi
@@ -130,9 +130,9 @@
Zvuk
Ponovno pokušaj
Dozvola za pisanje po pohrani je odbijena
- tis
+ tis.
mil
- mlrd
+ mlrd.
Počni
Pauziraj
Reproduciraj
@@ -150,7 +150,7 @@
Dodirni za detalje
Molimo pričekajte…
Kopirano u međuspremnik
- Molimo odaberite dostupnu mapu za preuzimanje
+ Kasnije odredite mapu za preuzimanje u postavkama
Ova dozvola je potrebna za
\notvaranje skočnog prozora
reCAPTCHA
@@ -209,8 +209,8 @@
Nema videozapisa
- %s video
- - %s videozapisa
- - %s videozapisi
+ - %s videa
+ - %s videa
Stavka je izbrisana
U redu čekanja za reprod. u pozadini
@@ -397,7 +397,7 @@
Otkrivanje grešaka
Obavijest o ažuriranju aplikacije
Uključite ili isključite orijentaciju
- Preuzimanje na vanjsku SD karticu još nije moguće. Poništite lokaciju mape za preuzimanje\?
+ Preuzimanje na vanjsku SD karticu nije moguće. Ponovo postaviti lokaciju mape za preuzimanje\?
Vanjski playeri ne podržavaju ove vrste veza
Nije pronađen nijedan videozapis
Nije pronađen nijedan zvuk
@@ -433,7 +433,7 @@
Način prikaza popisa
Automatski
Gotovo
- U redu za čekanje
+ Na čekanju
pauzirano
Na redu za čekanje
naknadna obrada
@@ -446,8 +446,8 @@
Preuzeta datoteka s tim nazivom već postoji
U tijeku je preuzimanje s ovim nazivom
Kod
- Datoteku nije moguće izraditi
- Odredišnu mapu nije moguće izraditi
+ Odredišnu mapu nije moguće stvoriti
+ Datoteku nije moguće stvoriti
Sustav je odbio dozvolu
Sigurna veza nije uspjela
Nije moguće pronaći server
@@ -460,7 +460,7 @@
Stop
Maksimalnih ponovnih pokušaja
Maksimalni broj pokušaja prije poništavanja preuzimanja
- Pauziraj prilikom prebacivanja na mobilne podatke
+ Prekini na mrežama s ograničenim prometom
Preuzimanja koja se ne mogu zaustaviti ponovno će se pokrenuti
Prikaži komentare
Onemogućite da biste prestali prikazivati komentare
From 67af05e5048dc6124a741ad1dd1544845f815976 Mon Sep 17 00:00:00 2001
From: Tobias Groza
Date: Fri, 14 Feb 2020 19:12:59 +0100
Subject: [PATCH 162/199] Use "Report error" instead of "Report Error"
Co-Authored-By: Stypox
---
app/src/main/res/values/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ccd58f003..eb17fcd50 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -246,7 +246,7 @@
Dislikes
Use Tor
(Experimental) Force download traffic through Tor for increased privacy (streaming videos not yet supported).
- Report Error
+ Report error
User report
No results
@string/no_videos
From dbb6848a9b0282b2d0ff62abe53d56e7f43885b1 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Fri, 14 Feb 2020 20:35:48 +0000
Subject: [PATCH 163/199] Translated using Weblate (Esperanto)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-eo/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index ddbda086a..33f24695f 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -539,7 +539,7 @@
%1$s elŝutoj forviŝitaj
Doni la permeson por afiŝiĝi supre aliaj apoj
Lingvo de la apo
- Sistema lingvo
+ Sistemnormo
Premu « Finita » kiam solvita
Finita
\ No newline at end of file
From 0d896674286d3317d04fa2695507dddb5339dcbe Mon Sep 17 00:00:00 2001
From: B0pol
Date: Fri, 14 Feb 2020 20:32:32 +0000
Subject: [PATCH 164/199] Translated using Weblate (French)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-fr/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 8a8c00c60..c200b1b8b 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -540,7 +540,7 @@
%1$s téléchargements supprimés
Autoriser la superposition d\'applis
Langue de l\'application
- Langue du système
+ Prédéfini par le système
Appuyez sur « Terminé » une fois résolu
Terminé
\ No newline at end of file
From 6a91a3a9478fcd5d6520c5549cc87802b92487bd Mon Sep 17 00:00:00 2001
From: chr56
Date: Sat, 15 Feb 2020 12:52:19 +0800
Subject: [PATCH 165/199] reapply changes after merging
---
app/src/main/res/values-cmn/strings.xml | 504 ------------
app/src/main/res/values-zh-rCN/strings.xml | 867 +++++++++++----------
2 files changed, 475 insertions(+), 896 deletions(-)
delete mode 100644 app/src/main/res/values-cmn/strings.xml
diff --git a/app/src/main/res/values-cmn/strings.xml b/app/src/main/res/values-cmn/strings.xml
deleted file mode 100644
index 878efa9f2..000000000
--- a/app/src/main/res/values-cmn/strings.xml
+++ /dev/null
@@ -1,504 +0,0 @@
-
-
- 点击搜索按钮即可开始使用
- %1$s 次观看
- 发布于 %1$s
- 找不到媒体播放器。您要安装 VLC 吗?
- 找不到媒体播放器(您可以安装 VLC 来播放)。
- 安装
- 取消
- 在浏览器中打开
- 在悬浮窗模式下打开
- 分享
- 下载
- 下载媒体文件
- 搜索
- 设置
- 您是不是要找:%1$s?
- 分享至
- 选择浏览器
- 旋转
- 使用外部视频播放器
- 删除某些分辨率下的音频
- 使用外部音频播放器
- NewPipe 悬浮窗模式
- 订阅
- 已订阅
- 退订成功
- 无法更改订阅
- 无法更新订阅
- 显示信息
- 主页
- 订阅
- 已添加书签到播放列表
- 新功能
- 转到后台
- 悬浮窗
- 添加到
- 视频下载文件夹
- 已下载的视频储存在此处
- 选择视频文件的下载文件夹
- 音频下载文件夹
- 已下载的音频存储在此处
- 选择音频文件的下载文件夹
- 自动播放
- NewPipes被其它程序调用时播放视频
- 默认分辨率
- 默认悬浮窗分辨率
- 显示更高的分辨率
- 只有部分设备支持播放 2K/4K 视频
- 用 Kodi 播放
- 没找到 Kore 应用,需要安装它吗?
- 显示“用 Kodi 播放”选项
- 显示以 Kodi 媒体中心播放视频的选项
- 音频
- 默认音频格式
- 默认视频格式
- 主题
- 亮色
- 酷黑
- 黑色
- 记住悬浮窗的尺寸与位置
- 记住上一次悬浮窗的位置以及大小
- 已清除图像缓存
- 最小化悬浮窗播放器
- 清除观看历史
- 搜索记录已删除。
- 错误
- 网络错误
- 举报错误
- 没有结果
- 开始
- 暂停
- 播放
- 创建
- 删除
- 删除所有
- 新任务
- 好
-\n
- 错误
-\n
- 不支持的服务器
- 文件已存在
- NewPipe 下载中
- 请稍等…
- 字母与数字
- 最特别的字符
- 这个文件里没有已下载应用程式
- 关于NewPipe
- 设置
- 关于
- 第三方执照
- 打开网页
- 删除书签
- 确定删除该播放列表吗?
- 已创建播放列表
- 播放列表
- 步骤
- 重置
- 为了遵守欧洲通用数据保护法规(GDPR,我们请你注意NewPipe的隐私政策.请仔细阅读.
-\n你必须接受它才能将错误报告发送给我们.
- 接受
- 拒绝
- 没有限制
- 使用移动数据时的解析度限制
- 最小化应用程序切换
- 从主视频播放器切换到其他应用时的操作 - %s
- 没有
- 最小化后台播放
- 使用快速粗略定位
- 粗略定位功能允许播放器以略低的精确度为代价换取更快的定位速度
- 下载缩略图
- 清除缓存的元数据
- 移除所有缓存的网页数据
- 已清除缓存的元数据
- 不加载缩略图时,可以节省数据和存储空间。更改后将清除存储空间和扩展空间的缓存。
- 自动排列下一个媒体
- 在非重复排列中播放最后一个媒体时自动推荐相关媒体
- 玩家手势控制
- 使用手势控制播放器的亮度和音量
- 搜索建议
- 搜索时显示建议
- 搜索历史记录
- 在本地存储搜索
- 观看历史
- 记录观看过的视频
- 取得视窗焦点时继续播放
- 在被打断后继续播放(例如有来电)
- 下载
- 下一部
- 显示「下一部」及「相关」的视频
- 显示「长按以新增」的提示
- 在视频详细信息页按下后台播放或悬浮窗按钮时提示
- 不支持该网址
- 默认内容的国家
- 服务
- 播放器
- 行为
- 视频与音频
- 历史记录和缓存数据
- 悬浮窗
- 外观
- 其他
- 调试
- 在后台播放
- 在悬浮窗下播放
- 已添加到后台播放队列
- 已添加到悬浮窗播放队列
- 播放
- 内容
- 年龄限制内容
- 显示有年龄限制的视频。可以从设置中允许该内容。
- 直播
- 下载
- 下载
- 错误报告
- 所有
- 频道
- 频道
- 播放列表
- 播放列表
- 曲目
- 用户
- 是的
- 稍等
- 不适用
- 过滤
- 刷新
- 清除
- 调整
- 最佳分辨率
- 复原
- 全部播放
- 总是
- 仅一次
- 文件
- NewPipe 通知
- NewPipe 后台播放和悬浮窗播放的通知
- [未知]
- 切换方向
- 切换到后台
- 切换到悬浮窗
- 切换到首页
- 导入数据库
- 导出数据库
- 覆盖您当前的历史记录和订阅
- 导出历史记录、订阅和播放列表
- 删除播放过的媒体的历史记录及回放位置
- 确定要清除所有观看历史记录吗?
- 观看历史记录已清除。
- 清除搜索历史记录
- 清除搜索关键词的历史记录
- 确定要清除所有搜索历史记录吗?
- 无法加载所有缩略图
- 无法解析视频网址签名
- 无法解析网站
- 无法完全解析网站
- 内容不可用
- 无法设置下载菜单
- 目前还不支持观看直播
- 无法获得任何媒体
- 无法加载图片
- 应用程序或界面出现崩溃了
- 无法播放此媒体
- 发生了无法恢复的播放器错误
- 正在从播放器错误中恢复
- 外部播放器不支持此类型的链接
- 无效的网址
- 找不到视频串流
- 找不到音频串流
- 无效的文件夹
- 无效的文件/内容来源
- 该文件不存在或缺少读写权限
- 文件名不能为空
- 发生错误:%1$s
- 没有可供下载的串流
- 抱歉,这不应该发生的。
- 通过电子邮件报告错误
- 抱歉,发生了一些错误。
- 报告
- 信息:
- 发生了什么:
- 事件:\\n请求:\\n内容语言:\\n服务:\\nGMT 时间:\\n组件:\\n版本:\\n系统版本:
- 您的评论(请用英语):
- 详细:
- 视频预览缩略图
- 视频预览缩略图
- 上传者的头像缩略图
- 喜欢
- 不喜欢
- 使用 Tor
- (实验性)通过 Tor 强制下载流量以增加隐私(暂不支持视频媒体)。
- 用户报告
- 这里什么都没有
- 拖动以重新排序
- 无法创建下载目录「%1$s」
- 已成功创建下载目录「%1$s」
- 视频
- 音频
- 重试
- 手机存储访问权限被拒绝
- 千
- 万
- 十亿
- 没有订阅者
-
- - %s 位订阅者
-
-
- 无观看次数
-
- - %s 次观看
-
-
- 没有视频
- 删除
- 校验
- 退出
- 重命名
- 文件名
- 线程
- 错误的网址或网络不可用
- 点按以查看详细信息
- 复制到剪贴板
- 请稍后在设置中定义一个下载文件夹
- 在悬浮窗模式打开
-\n需要此权限
- 已删除一个项目。
- reCAPTCHA 验证
- reCAPTCHA 验证
- 需完成 reCAPTCHA 验证
- 下载
- 文件名中允许的字符
- 无效字符将替换为该值
- 替换字符
- © %1$s 由 %2$s 使用 %3$s 版权所有
- 无法加载许可证
- 关于
- 贡献者
- 许可证
- 安卓上开源且轻便的媒体播放器。
- 贡献
- 您是否有想法帮助我们:翻译、界面设计、代码优化以及真正繁重的功能扩展 - 我们随时欢迎您提供帮助。让 NewPipe 越变越好!
- 在 GitHub 上查看
- 捐赠
- NewPipe 由社区人员维护和开发额,他们耗费时间务求为您带来最佳体验。现在是时候回过头来,让我们的开发人员能够在使 NewPipe 更加完美的同时,享受一杯咖啡。
- 回馈
- 网站
- 访问 NewPipe 网站了解更多信息和新闻。
- NewPipe 的隐私政策
- NewPipe 项目是非常重视您的隐私。因此,未经您的同意,该应用程序不会收集任何数据。
-\nNewPipe 的隐私政策详细说明了当您发送崩溃报告时,什么资料会被传送及储存。
- 阅读隐私政策
- NewPipe 的许可证
- NewPipe 是一个 Copyleft 的自由软件:您可以随意使用、研究、分享或改进它。在遵守由自由软件基金会所发布的 GNU 通用公共授权条款的状况下,您可以自由地再发布或修改它;授权条款预设使用第三版,但您也可以选择更新的版本。
- 阅读许可证
- 历史记录
- 搜索
- 观看
- 历史记录被关闭了
- 历史记录
- 没有历史记录
- 清除历史记录
- 项目已删除
- 确定要从搜索历史记录中删除该项吗?
- 确定要从观看历史记录中删除该项吗?
- 您确定要删除历史记录中的所有项吗?
- 上一次播放
- 最受欢迎
- 首页内容
- 空白页面
- 互动页面
- 订阅页面
- Feed 页面
- 频道页面
- 选择一个频道
- 尚未订阅任何频道
- 选择一个互动
- 输出
- 接入
- 无效的压缩文件
- 警告:无法导入所有文件。
- 这将覆盖您当前的设定。
- 您是否要导入设定?
- 互动
- 趋势
- 前 50
- 最新和热门
- 转到后台播放
- 悬浮窗播放
- 移除
- 详细
- 音频设置
- 长按加入队列
- 加入后台播放列表
- 加入悬浮窗播放列表
- 从这里开始播放
- 开始在后台播放
- 开始在新悬浮窗播放
- 打开抽屉
- 关闭抽屉
- 很快就会出现在这里 ;D
- 偏好的「开启」动作
- 开启内容时的默认动作 - %s
- 视频播放器
- 后台播放器
- 悬浮窗播放器
- 总是询问
- 正在获取信息…
- 正在载入请求的内容
- 新的播放列表
- 删除
- 重命名
- 名称
- 添加到播放列表
- 设为播放列表缩略图
- 将播放列表加入书签
- 播放列表缩略图已更改。
- 无法删除播放列表。
- 没有字幕
- 合适
- 填满
- 缩放
- 自动生成
- 字幕
- 修改播放器字幕文本比列和背景样式。需要重启才能生效。
- 启用 LeakCanary
- 内存泄漏监视可能导致应用程序在存储时无响应
- 报告活动周期外错误
- 强制报告在处理完片段或活动周期外发生的无法传递的 Rx 异常
- 导入/导出
- 导入
- 导入至
- 导出到
- 正在导入…
- 正在导出…
- 导入文件
- 之前的导出
- 无法导入订阅
- 无法导出订阅
- 通过下载导出文件来导入 YouTube 订阅:
-\n
-\n1.移至该网址:%1$s
-\n2.当被询问时登入帐号
-\n3.应该开始下载(这是导出文件)
- 通过输入 URL 或 ID 来导入 SoundCloud的配置文件:
-\n
-\n1.在浏览器中启用「桌面模式」(该网站不适用于移动设备)
-\n2.移至该网址:%1$s
-\n3.当被询问时登入帐号
-\n4.复制您重定向的配置文件到网址。
- 您的 ID,soundcloud.com/yourid
- 请记住,此操作可能造成昂贵的网络花费。
-\n
-\n您是否要继续?
- 播放速度控制
- 速度
- 音量
- 取消链接(可能会导致扭曲)
- 静音时快进
- 退订
- 新标签
- 选择标签
- 音量手势控制
- 用手势控制播放器的音量
- 手势控制亮度
- 用手势控制播放器的亮度
- 默认的内容语言
- 升级
- 文件已删除
- 应用升级通知
- 新 NewPipe 版本通知
- 外储存不可行
- 无法下载到外部SD卡。重置下载文件夹位置?
- 恢复默认
- 您真的要恢复至默认吗?
- 选择
- 升级
- 列表
- 自动
- 轻按以下载
- 已完成
- 有待
- 已暂停
- 已加入队列
- 后处理
- 队列
- 系统拒绝该行动
- 下载失败
- 下载完成
- %s已下载完毕
- 生成独特的名字
- 覆写
- 同名的已下载文件已经存在
- 同名下载进行中
- 显示错误
- 代码
- 无法创建该文件
- 系统拒绝此批准
- 安全连接失败
- 找不到服务器
- 连不上服务器
- 伺服器没回送数据
- 找不到
- 后处理失败
- 清除已完毕的下载
- 停
- 重试上限
- 取消下载前可以尝试的最多次数
- 换成手机数据时中断
- 事件
- 使用默认选项卡, 读取保存的选项卡时出错
- 订阅者计数不可用
- 主页上显示的选项卡
- 会议
- 显示通知, 以便在新版本可用时提示应用更新
- 列表视图模式
- 网格
- 切换视图
- NewPipe 更新可用!
- 无法创建目标文件夹
- 服务器不接受多线程下载, 请使用 @string/msg_threads = 1重试
- 切换至移动数据时有用,尽管一些下载无法被暂停
- 显示评论
- 禁用停止显示评论
- 自动播放
-
- - 评论
-
-
- 没有评论
- 无法加载评论
- 关闭
- 继续播放
- 恢复上次播放位置
- 列表中的位置
- 在列表中显示播放位置指示符
- 清除数据
- 播放位置已删除。
- 文件被移动或删除
- 已存在具有此名称的文件
- 无法覆盖该文件
- 同名文件正在等待下载
- 处理此文件时 NewPipe 已关闭
- 设备上没有剩余空间
- 进度丢失,因为文件已被删除
- 连接超时
- 你确定吗?
- 限制下载队列
- 同时只有一个下载进行
- 开始全部下载
- 暂停全部下载
- 询问下载位置
- 每次下载将询问保存的位置
- 每次下载将询问保存的位置.
-\n如果要下载到外部SD卡,请选择外部存储访问框架
- 使用存储访问框架
- 存储访问框架(SAF)允许下载文件到外部SD卡。
-\n注:一些设备不兼容SAF
- 删除回放位置
- 删除所有回放位置
- 删除所有的回放位置吗?
- 更改要生效的下载文件夹
-
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 0282e6c92..d0405b57d 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -1,457 +1,540 @@
-
+
- 点播%1$s次
- %1$s发布
- 找不到播放器。您是否要安装 VLC?
+ 点击搜索按钮即可开始使用
+ %1$s 次观看
+ 发布于 %1$s
+ 在浏览器中打开
+ 在悬浮窗模式下打开
+ 您是不是要找:%1$s?
+ 找不到串流播放器 (您可以安装 VLC 进行播放)。
+ 下载串流文件
安装
取消
- 用浏览器打开
分享
下载
搜索
设置
- 您是不是要找: %1$s ?
- 分享视频
+ 分享给...
选择浏览器
- 旋转
- 使用外置视频播放器
- 使用外置音频播放器
视频下载路径
- 下载视频的存储路径
- 输入视频存储路径
- 默认分辨率
- 用Kodi播放
- 找不到Kore,您要安装Kore吗?
- 显示“用Kodi播放”的选项
- 显示 Kodi 媒体中心播放视频的选项
- 音频
- 默认音频格式
+ 已下载的视频存储在这里
+ 请选择下载视频的保存位置
+ 已下载的音频存储在这里
+ 选择下载音频的储存位置
+ 自动播放
+ 使用Kodi播放
主题
- 灰暗
- 明亮
-
+ 浅色
+ 暗黑
+ 黑色
下载
- 即将播放
- 显示下一部和相似的视频
- 不支援此网址
- 默认内容语言
- 视频和音频
+ 下一个
+ 不支持的 URL
外观
其他
- 后台播放
- 播放
+ 全部
+ 频道
+ 是
+ 稍后
网络错误
-
- 视频预览缩略图
- 视频预览缩略图
- 上传者的头像缩图
+
+ - %s 个视频
+ - %s 个视频
+
+ 禁用
+ 后台播放
+ 过滤器
+ 刷新
+ 搜索建议
+ 订阅
+ 已订阅
+ 观看历史
+ 播放器
+ 历史记录与缓存
+ 播放列表
+ 撤销
+ 全部播放
+ 总是
+ 仅一次
+ 添加至
+ 文件
+ 加载缩略图
+ 清除观看记录
+ 无
+ 最小化后台播放器
+ 最小化悬浮窗播放器
+ 频道
+ 播放列表
+ 取消订阅
+ 新标签
+ 更新
+ 文件已删除
+ 无法得知订阅人数
+ 每推出新版本时,弹出应用升级通知
+ 网格
+ 新版 NewPipe 已可升级!
+ 服务器不接受 接收 multi-threaded 下载, 以 @string/msg_threads = 1 重试
+ 自动播放
+ 清除数据
+ 观看记录已删除
喜欢
不喜欢
- 使用 Tor
- (实验性)强制下载流量使用 Tor 加强隐私(暂不支援流媒体视频)。
- 音频存储路径
- 下载音频的存储路径
- 输入音频文件存储路径
-
- 未能建立下载路径 “%1$s”
- 已创建下载目录 “%1$s”
- 内容
- 显示年龄限制内容
- 视频有年龄限制。请先在设置中启用\"显示年龄限制内容\"。
- 错误
- 无法加载所有缩略图
- 无法解密视频网址签名
- 无法解析网站
- 无法完全解析网站
- 内容不可用
- 无法设置下载菜单
- 这是一个在线流媒体,尚不支持。
- 无法获取任何流媒体
- 抱歉,这本不应该发生。
- 使用邮件报告错误
- 抱歉,发生了一些错误。
- 报告
- 信息:
- 发生什么:
- 您的注释(英文):
- 详细信息:
-
-
+ 使用Tor
+ (实验性)通过 Tor 强制下载流量以增强隐私(暂不支持串流视频)。
报告错误
用户报告
-
+ 无法创建下载目录\"%1$s\"
+ 已成功创建下载目录「%1$s」
视频
音频
重试
- 无权访问存储空间
- 自动播放
- 当NewPipe被其他应用调用时,自动播放视频
- 直播
-
- 点击搜索开始NewPipe
+ 存储访问权限已被拒绝
+
+ - %s 次观看
+ - %s 次观看
+
+ 千
+ 百万
开始
暂停
播放
删除
- 校验和
-
- 确定
-
- 文件名
- 线程
- 错误
- 服务器不支持
- 文件已经存在
- 网址不正确或网络不可用
- NewPipe 正在下载
- 点击了解细节
- 请稍候…
- 已复制到剪贴板
- 请选择一个可用的下载目录
-
+ 校验
新任务
- 下载
- 下载
- 错误报告
-
- 无法加载图像
- 应用/界面已崩溃
- 原因:\\n请求:\\n内容语言:\\n服务:\\nGMT时间:\\n包:\\n版本:\\n操作系统版本:
- reCAPTCHA
- reCAPTCHA 验证
-
- 需要 reCAPTCHA 验证
-
-以悬浮窗打开
- 选项启用时,某分辨率的视频将没有声音
- NewPipe悬浮窗模式
- 订阅
- 已订阅
- 已取消订阅频道
- 无法更改订阅
- 无法更新订阅
-
- 首页
- 订阅
-
- 新鲜事
-
- 后台播放
- 悬浮窗
-
- 窗口模式默认分辨率
- 显示更高的分辨率
- 只有部分设备支持 2K/4K 视频
- 首选视频格式
- 纯黑
- 记住悬浮窗大小和位置
- 记住上次悬浮窗的大小和位置
- 播放手势控制
- 使用手势操作控制播放器的亮度和音量
- 搜索建议
- 在搜索时显示搜索建议
- 搜索记录
- 在本地存储搜索请求
- 历史和缓存
- 记住观看的视频
- 焦点恢复
- 在打扰(例如来电)过后恢复视频播放
-
-
- 窗口模式
- 以窗口模式播放
- 所有
- 频道
- 是的
- 稍后
- 已禁用
- 筛选器
- 刷新
- 清除
- 重新调整大小
- 最佳分辨率
-
- NewPipe 通知
- NewPipe 后台播放和窗口播放器的通知
-
- K
- M
- B
-
- 该项权限用于
-\n以窗口模式打开
-
- 下载
- 在文件名中允许的字符
- 无效的字符将以该值取代
- 替换字符
-
- 字母和数字
- 特殊字符
-
- 关于 NewPipe
+ OK
+ 文件名
+ 线程数
+ 错误
+ 不支持的服务器
+ 文件已存在
+ 点击了解详情
+ 请稍候…
+ 复制至剪贴板
+ reCAPTCHA验证码
+ 悬浮窗播放
+ 关于NewPipe
设置
关于
第三方许可
- © %1$s by %2$s under %3$s
- 无法加载许可
+ © %1$s :作者 %2$s (使用 %3$s )
+ 无法加载许可证
打开网站
关于
贡献者
- 许可
- 开源的轻量级流媒体Android客户端。
- 在 GitHub 上查看
- NewPipe 许可
- 无论你有什么想法:翻译程序,改进设计,优化代码或是想做出大量修改——我们都随时欢迎。做得越多它将变得越好!
- 阅读许可
- 贡献
-
- 历史记录
- 搜索记录
- 观看记录
- 历史记录已禁用
- 历史记录
- 没有历史记录
- 历史记录已清除
-
-播放器
- 行为
- 历史记录 & 缓存
- 在后台播放器上排队
- 在弹出播放器上排队
- 播放列表
- 撤销
- 全部播放
-
- [未知]
-
- 无法播放此流媒体
- 发生无法解决的播放器错误
+ 许可证
+ 下载
+ 文件名中允许的字符
+ 无效字符将会被替换为此
+ 字母和数字
+ 最特殊字符
没有结果
- 空空如也
-
- 无订阅者
+ 没有订阅者
- - %s 位订阅者
-
-
- 无观看次数
-
- - %s 次观看
-
-
+ - %s 位订阅者
+ - %s 位订阅者
+
没有视频
-
- - %s 部视频
-
-
- 项目已删除
- 找不到播放器(你可以安装 VLC 来播放)
- 下载串流文件。
- 显示详情
-
- 书签
-
- 添入
-
- 使用粗略但快速的寻找
- 粗略寻找让播放器更快找到视频的进度位置
- 加载缩略图
- 停用后,NewPipe將不再加载缩略图,减少数据使用和腾空存储空间,亦会清除内存和内存卡上的缩略图缓存
- 已清除图像缓存
- 清除缓存元数据
- 移除所有网页的缓存数据
- 已清除元数据缓存
- 自动播放队列中下一个视频
- 当播放完非循环列表中的最后一个视频时,自动加入一个相关视频到播放列表
- 显示\"长按添加\"提示
- 当视频详情页中的背景或悬浮按钮被按下的时候显示提示
- 默认内容国家
- 服务
- 调试
- 总是
- 仅一次
- 文件
-
- 切换方向
- 切换到后台
- 切换到悬浮窗
- 切换到主页
-
- 导入数据库
- 导出数据库
- 将覆盖你现有历史记录和订阅
- 导出历史记录,订阅和播放列表
- 从播放器错误中恢复
- 外部播放器不支持这些链接类型
- 无效的链接
- 未找到视频
- 未找到音频
- 无效的目录
- 无效的文件/内容来源
- 文件不存在或无读写权限
- 文件名不能为空
- 发生了一个错误:%1$s
- 无视频媒体可以下载
-
- 拖拽以重新排列
-
+ 视频
+ 拖动以重新排序
创建
- 删除一个
- 删除全部
+ 仅删除一个
+ 全部删除
解除
- 重命名
-
- 捐赠
- NewPipe 是一群志愿者花费业余时间开发的,目的是为您带来最佳体验。你的一点心意,可以让开发者们在享受一杯 Java 的咖啡的同时让 NewPipe 变得更好用。
- 捐赠
- 网页
- 访问 NewPipe 网站以获取更多的信息和新闻。
- 你想从搜索历史中删除此项吗?
- 你想从观看历史中删除此项吗?
- 确实要删除历史记录的所有项目吗?
- 上一次播放
- 最多播放
-
- 主页内容
+ 重 命名
+ 未安装用于播放此文件的应用程序
+ 已删除1个项目。
+ 哪些标签需要在主页上展示
+ 列表视图模式
+ 已完成
+ 等待中…
+ 已暂停
+ 排队中
+ 加入队列
+ 操作已被系统拒绝
+ 下载失败
+ 下载完成
+ %s 次下载已完成
+ 没有评论
+ 切换服务,当前选择:
+ 找不到串流播放器。您想安装 VLC 吗?
+ 旋转
+ 使用外部视频播放器
+ 使用外部音频播放器
+ 音频下载文件夹
+ 从其他应用调用 NewPipe 时播放视频
+ 默认分辨率
+ 找不到Kore。是否安装?
+ 显示“用Kodi播放”选项
+ 显示“通过Kodi media center播放视频的选项”
+ 音频
+ 默认音频格式
+ 显示“下一个”和“类似的”视频
+ 视频和音频
+ 在后台播放
+ 播放
+ 内容
+ 受年龄限制的内容
+ 显示受年龄限制的视频。可从设置允许此类内容。
+ 直播
+ 下载
+ 下载
+ 错误报告
+ 错误
+ 无法加载所有缩略图
+ 无法解密视频的 URL 签名
+ 无法解析网址
+ 无法完全解析网址
+ 内容不可用
+ 无法设置下载菜单
+ 暂时不支持观看直播
+ 无法获得任何信息流
+ 无法加载图像
+ App UI 崩溃
+ 抱歉,这不应该发生的。
+ 通过电子邮件报告错误
+ 抱歉,发生了一些错误。
+ 报告
+ 信息:
+ 发生了什么:
+ 详情:\\n请求:\\n内容语言:\\n服务:\\nGMT时间:\\n包:\\n版本:\\n操作系统版本:
+ 您的注释(请用英文):
+ 详细信息:
+ 视频预览缩略图
+ 播放视频,时长:
+ 视频上传者的头像缩略图
+ 字节
+ 错误的 URL 或未联网
+ NewPipe下载中
+ 请稍后在设置中设定下载目录
+ 用悬浮窗模式
+\n需要此权限
+ reCAPTCHA验证
+ 请求的新的CAPTCHA验证
+ NewPipe 悬浮窗模式
+ 在悬浮窗中播放
+ 默认悬浮窗分辨率
+ 使用更高的分辨率
+ 仅某些设备支持播放2K / 4K视频
+ 清除
+ 记住悬浮窗的尺寸与位置
+ 记住最后一次使用悬浮窗的大小和位置
+ 悬浮窗
+ 调整大小
+ 隐藏部分没有音频的分辨率
+ 播放器手势控制
+ 使用手势控制播放器的亮度和音量
+ 显示搜索建议
+ 最佳分辨率
+ 开源小巧的Android媒体播放器。
+ 在GitHub上查看
+ NewPipe开源许可证
+ 你是否有想:翻译、设计、清理或重型代码更改 ——我们始终欢迎你来贡献!
+ 阅读许可证
+ 贡献
+ 替换字符
+ 取消订阅频道
+ 无法修改订阅
+ 无法更新订阅
+ 主页
+ 订阅
+ 最新
+ 恢复前台焦点
+ 中断后继续播放(例如突然来电后)
+ 搜索历史记录
+ 在本地存储搜索查询记录
+ 记录已观看视频
+ 历史
+ 已搜索
+ 已观看
+ 历史记录功能已关闭
+ 历史
+ 历史记录为空
+ 清除历史记录
+ NewPipe 通知
+ NewPipe 后台播放和悬浮窗播放的通知
+ 默认视频格式
+ 行为
+ 空空如也...
+ 0次观看
+ 项目已删除
+ 是否要从搜索历史记录中删除此项目?
+ 显示在主页面内容
空白页
- Kiosk 页
+ 『时下流行』页-自定义
订阅页
- Feed 页
+ Feed 页面
频道页
- 选择频道
- 还没有订阅的频道
- 选择 kiosk
- 导出完成
- 导入完成
- 无有效的 ZIP 文件
- 警告:无法导入所有文件。
- 将覆盖你现有设置。
-
- Kiosk
- 流行的
+ 选择一个频道
+ 尚未订阅频道
+ 选择一个时下流行页
+ 『时下流行』
+ 趋势
前50
- 最新 & 最热
- 后台播放器
+ 最新与热门
+ 显示 \"长按添加\" 说明
+ 在视频详情页中,按下背景播放或悬浮窗播放按钮时显示提示
+ 已加入后台播放播放列表
+ 已加入悬浮窗播放列表
+ 无法播放此串流
+ 发生无法恢复播放器错误
+ 恢复播放器错误
+ 后台播放
悬浮窗播放器
移除
详情
音频设置
- 按住以队列
- 在后台队列
- 在悬浮窗队列
- 从这里播放
- 从这里在后台播放
- 从这里在悬浮窗播放
-
- 打开侧栏菜单
- 关闭侧栏菜单
- 精彩内容即将呈现 ;D
-
-
- 偏好\"打开\"动作
- 打开内容的默认动作 — %s
-
+ 长按队列
+ [未知]
+ 添加到后台部分队列
+ 添加至新悬浮窗列表
+ 开始在此处开始播放
+ 开始后台播放
+ 开始在新悬浮窗中播放
+ 捐赠
+ NewPipe 是由志愿者花费时间为您带来最佳体验开发的。回馈帮助开发人员在享用一杯咖啡的同时,让 NewPipe 变得更好。
+ 回馈
+ 网站
+ 请访问 NewPipe 网站了解更多信息和讯息。
+ 默认国家/地区
+ 切换方向
+ 切换到背景播放
+ 切换到悬浮窗播放
+ 切换到主页面
+ 服务
+ 打开抽屉
+ 关闭抽屉
+ 第三方播放器不支持此类型链接
+ 无效 URL
+ 未找到视频串流
+ 找不到音频串流
视频播放器
后台播放器
悬浮窗播放器
- 总是询问
-
- 获取信息中…
- 正在加载请求内容
-
- 创建新播放列表
- 删除播放列表
- 重命名播放列表
+ 正在获取信息…
+ 正在加载请求的内容
+ 导入数据库
+ 导出数据库
+ 覆盖当前历史记录和订阅
+ 导出历史记录、订阅和播放列表
+ 导出成功
+ 导入成功
+ 没有有效的ZIP文件
+ 警告:无法导入所有文件。
+ 这将覆盖当前设置。
+ 显示信息
+ 书签
+ 确定要从观看历史记录中删除该项吗?
+ 是否确实要从历史记录中删除所有项目?
+ 最后播放
+ 播放最多
+ 总是寻问
+ 新建播放列表
+ 删除
+ 重 命名
名称
- 加入播放列表
- 设置为播放列表缩略图
-
- 书签播放列表
- 移除书签
-
- 你想删除此播放列表吗?
- 播放列表已创建
- 加入播放列表
- 播放列表缩略图已更改
+ 添加到播放列表
+ 设为播放列表缩略图
+ 收藏播放列表
+ 删除收藏
+ 删除此播放列表?
+ 新建播放列表成功
+ 加入播放列表成功
+ 播放列表缩略图更改成功。
无法删除播放列表
-
无字幕
-
适应屏幕
填充屏幕
- 放大填充
-
+ 缩放
+ 敬请等待
+ 调试
自动生成
-
- 启用 LeakCanary
- 内存泄露监测可能会在heap dumping时导致应用失去响应
-
- 报告生命周期外的错误
- 处理完无法送达的、发生在Fragment或activity生命周期之外的Rx异常后强制报告
-
+ 启用LeakCanary
+ 『内存泄漏监视』可能导致应用在『核心转储』时无响应
+ 报告『提前结束Android生命周期』错误
+ 强制报告处理后的未送达的Activity或Fragment生命周期之外的Rx异常
+ 使用快速不精确搜索
+ 粗略定位播放:允许播放器以略低的精确度为代价换取更快的定位速度
+ 自动播放下一个
+ 当播放完非循环列表中的最后一个视频时,自动加入一个相关视频到播放列表
+ 没有此文件夹
+ 无相似文件/内容源
+ 该文件不存在 或 缺少读写该文件的权限
+ 文件名不能为空
+ 发生错误: %1$s
导入/导出
导入
- 从导入
- 导出至
-
- 导入中…
- 导出中…
-
+ 从...导入
+ 导出到...
+ 正在导入…
+ 正在导出…
导入文件
- 之前的导出
-
+ 以前的导出
无法导入订阅
无法导出订阅
-
- 通过下载导出文件导入 YouTube 订阅:
-\n1. 在浏览器打开URL:%1$s
-\n2. 登录账户
-\n3. 下载应该会马上开始(这个就是导出文件)
- 通过输入URL或您的ID导入SoundCloud配置:
-\n1. 在浏览器中开启\"桌面模式\"(该网站不适用于移动设备)
-\n2. 打开URL:%1$s
-\n3. 登录账号
-\n3. 复制重定向后的URL。
- 你的ID 或 soundcloud.com/你的ID
-
- 请注意该操作可能消耗大量网络流量。
-\n您希望继续吗?
-
+ 通过下载导出文件来导入 YouTube 订阅:
+\n
+\n1. 转到此网站: %1$s
+\n2. 登录(如果需要)
+\n3. 应该立即开始下载(即导出文件)
+ 通过键入网址或你的 ID 导入 SoundCloud 配置文件:
+\n
+\n1. 在浏览器中启用\"电脑模式\"(该网站不适用于移动设备)
+\n2. 转到此 URL: %1$s
+\n3. 登录(如果需要)
+\n4. 复制重定向的配置文件下载地址。
+ 你的 ID:soundcloud.com/[你的ID]
+ 该操作消耗大量流量,
+\n你想继续吗?
+ 关闭可防止加载缩略图,节已省数据和内存使用。(若现在更改会清除内存和储存中缓存)
+ 清空图像缓存成功
+ 清空已缓存元数据
+ 清空已缓存的网页数据
+ 清空元数据缓存成功
播放速度控制
- 速度
+ 节奏
音调
- Unhook(可能导致失真)
- 默认
-未安装能播放此文件的应用
-
+ 解除关联(可能导致失真)
+ 首选“打开”操作
+ 打开内容时默认操作: = %s
+ 无可下载的串流内容
字幕
- 修改播放器的字幕文本大小和背景样式。需要重启应用程序以生效
-
- 清除观看记录
- 删除视频观看记录
- 删除全部观看记录。
- 观看记录已删除。
- 清除搜索记录
- 删除搜索关键词记录
- 删除全部搜索记录。
- 搜索记录已删除。
- 已删除1项。
-
- NewPipe的隐私策略
- NewPipe 项目非常重视您的隐私。因此, 未经您的同意,应用程序不会收集任何您的数据。 NewPipe 的隐私策略详细解释了您在发送崩溃报告时会发送和存储的哪些数据。
- 阅读隐私策略
- NewPipe 是 copyleft 的自由软件: 你可以按照自己的意愿使用、学习、分享和改进它。具体地说, 您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款(第3版或者任何更高版本), 重新发布和/或修改本软件。
- 您是否希望同时导入设置?
-
- 为了遵守欧洲通用数据保护条例(GDPR),我们提醒您注意NewPipe的隐私政策。 请仔细阅读。
-\n您必须接受它才能向我们发送错误报告。
+ 修改播放器字幕比例和背景样式。需要重新启动应用程序才能生效。
+ 删除串流的播放历史和播放位置
+ 删除全部观看记录?
+ 清除搜索历史记录
+ 清除搜索关键词的历史记录
+ 是否删除全部搜索历史记录?
+ 搜索历史记录已删除。
+ NewPipe 是版权自由软件:您可以随时使用、研究共享和改进它。您可以根据自由软件基金会发布的 GNU 通用公共许可证GPLv3或(由您选择的)任何更高版本的许可证重新分发或修改该许可证。
+ 是否要同时导入设置?
+ NewPipe的隐私政策
+ NewPipe 项目非常重视您的隐私。因此,未经您的同意,应用程序不会收集任何数据。
+\nNewPipe 的隐私政策详细解释了在发送崩溃报告时发送和存储的数据。
+ 阅读隐私政策
+ 为了遵守欧盟的《通用数据保护条例》(GDPR),我们特此提醒您注意 NewPipe 的隐私政策。请您仔细阅读。
+\n您必须在同意以后才能向我们发送错误报告。
接受
拒绝
-
- 不限制
+ 无限制
使用移动数据时限制分辨率
- 更多频道
- 更多频道
- 用户们
-
+ 退出应用时最小化
+ 从主播放器切换到其他应用时的操作 - %s
+ 静音时快进
+ 滑块[比例尺]
+ 重 置
+ 曲目
+ 用户
+ 选择标签
+ 音量手势控制
+ 使用手势控制播放器的音量
+ 亮度手势控制
+ 使用手势控制播放器的亮度
+ 视频默认语言
+ 应用更新通知
+ NewPipe有新版本的通知
+ 外置存储不可用
+ 无法下载到外部 SD 卡。重置下载文件夹位置?
+ 读取已保存标签时发生错误,因此使用者默认标签
+ 恢复默认
+ 是否恢复默认值?
+ 选择
+ 更新
+ 列表
+ 自动
+ 切换视图
+ 点击下载
+ 后期处理
+ 生成唯一名称
+ 覆盖
+ 正在使用此名称进行下载
+ 显示错误
+ 代码
+ 无法创建目标文件夹
+ 无法创建文件
+ 权限被系统拒绝
+ 安全连接失败
+ 找不到服务器
+ 无法连接到服务器
+ 服务器未发送数据
+ 找不到 NOT FOUND
+ 后期处理失败
+ 清除已完成的下载
+ 停止
+ 最大重试次数
+ 取消下载前的最多尝试次数
+ 在切换到移动流量网络时中断播放
+ 切换至移动数据时可能有用,尽管一些下载无法被暂停
+ 事件
+ 近期大会
+ 显示评论
+ 禁用,以停止显示评论
+
+ - %s 条评论
+ - %s 条评论
+
+ 无法加载评论
+ 关闭
+ 恢复播放
+ 恢复上次播放位置
+ 列表中的位置
+ 在列表中,显示视频最后一次播放时的播放位置
+ 已删除播放位置记录。
+ 文件被已移动或删除
+ 该名称的文件已经存在
+ 命名冲突,已存在具有此名称文件
+ 无法覆盖文件
+ 有此名称的已暂停下载
+ NewPipe 在处理文件时被关闭
+ 设备上没有剩余储存空间
+ 进度丢失,文件已被删除
+ 连接超时
+ 是否要清除下载历史记录或删除所有下载的文件?
+ 最大下载队列
+ 同时只允许一个下载进行
+ 开始下载
+ 暂停下载
+ 询问下载位置
+ 系统将询问您将每次下载的保存位置
+ 系统将询问您将每次下载的保存位置。
+\n(如果要下载到外部 SD 卡,请选择 SAF)
+ 使用 SAF
+ 存储访问框架(SAF)允许下载文件到外部SD卡。
+\n注:一些设备不兼容SAF
+ 删除播放位置记录
+ 删除所有播放位置记录
+ 删除所有播放位置记录?
+ 更改下载目录让内容生效
+ 『时下流行』页-默认
+ 没有人在观看
+
+ - %s 人在观看
+ - %s 人在观看
+
+ 没有人在听
+
+ - %s 人在听
+ - %s 人在听
+
+ 重新启动应用后,语言将更改。
+ PeerTube 服务器
+ 设置自己喜欢的PeerTube服务器
+ 查找最适合你的服务器%s
+ 添加服务器
+ 输入服务器网址(URL)
+ 无法验证服务器
+ 仅支持 HTTPS和URL
+ 该服务器已存在
+ 本地
+ 最近添加
+ 最喜欢的
+ 自动生成的(未找到上传者)
+ 正在恢复
+ 无法恢复此下载
+ 选择一个服务器
+ 快进 / 快退的单位时间
+ 在锁屏上显示视频缩略图
+ 在后台播放时,锁屏上将会显示视频的缩略图
+ 清除下载历史记录
+ 删除下载了的文件
+ 已删除 %1$s 下载
+
\ No newline at end of file
From 9407ac8c247cc57d1701dc68f3dbb7214150c2b4 Mon Sep 17 00:00:00 2001
From: chr56
Date: Sat, 15 Feb 2020 13:07:34 +0800
Subject: [PATCH 166/199] fix reCaptcha strings in zh-rCN
---
app/src/main/res/values-zh-rCN/strings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index d0405b57d..8be5dd967 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -110,7 +110,7 @@
点击了解详情
请稍候…
复制至剪贴板
- reCAPTCHA验证码
+ reCAPTCHA验证码
悬浮窗播放
关于NewPipe
设置
@@ -208,7 +208,7 @@
请稍后在设置中设定下载目录
用悬浮窗模式
\n需要此权限
- reCAPTCHA验证
+ reCAPTCHA验证
请求的新的CAPTCHA验证
NewPipe 悬浮窗模式
在悬浮窗中播放
From 5151c6cb54d853366dd5aaf1cc527bd1877f45b4 Mon Sep 17 00:00:00 2001
From: chr56
Date: Sat, 15 Feb 2020 18:39:41 +0800
Subject: [PATCH 167/199] fix wrong langcode of Chinesein settings_keys.xml
---
app/src/main/res/values/settings_keys.xml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 1a7d61dae..cdb29ca86 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -988,8 +988,8 @@
- uk
- ur
- vi
- - zh
- - zh-hans
+ - zh-cn
+ - zh-hk
- zh-tw
@@ -1053,9 +1053,9 @@
- українська мова
- اردو
- Tiếng Việt
- - 官话
- - 简化字
- - 臺灣華語
+ - 简体中文
+ - 繁體中文(廣東話)
+ - 正體中文
From f089cd027ebe1dc6088e3d7427e9d1c78352a815 Mon Sep 17 00:00:00 2001
From: bopol
Date: Fri, 14 Feb 2020 18:19:35 +0100
Subject: [PATCH 168/199] Multiple localization fixes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
With the extractor PR, fixes title & description shown in the wrong language.
Fixed views / spectators counts possibly in the wrong language
Fixed live spectators not showing full count on detail page
Fixed LIVE shown on players, it shows translated instead
Fixed Videos string in search / three dots not available in Weblate
(because it was videos, but there already was a plural string named videos, in Weblate)
Subscriber count is always giving the short count.
We can't get exact number since this YouTube update: https://support.google.com/youtube/thread/6543166
But only short count (B, M, k), so showing full number, eg for 1.9M: 1,900,000, is wrong because the number could be 1,923,490 or 1,897,789…
Added a « sytem default » option to content language and country language selector.
It's the one selected by default (not en-GB anymore then), and correspond to the
language of the system / country of the system
By system I mean phone, tablet, TV…
Fixed russian showing - before time ago (eg 19hrs ago)
This is a workaround fix, I opened an issue on prettytime library repo.
Fixed russian plurals:
other was used instead of many for videos and subscribers
Fixed seek_duration english only
---
app/build.gradle | 2 +-
.../fragments/detail/VideoDetailFragment.java | 2 +-
.../list/channel/ChannelFragment.java | 2 +-
.../holder/StreamInfoItemHolder.java | 2 +-
.../settings/VideoAudioSettingsFragment.java | 12 +++++++-
.../org/schabi/newpipe/util/Localization.java | 29 ++++++++++++-------
.../schabi/newpipe/util/ServiceHelper.java | 2 +-
.../activity_player_queue_control.xml | 3 +-
.../activity_main_player.xml | 3 +-
.../main/res/layout/activity_main_player.xml | 3 +-
.../layout/activity_player_queue_control.xml | 3 +-
app/src/main/res/layout/player_popup.xml | 3 +-
app/src/main/res/values-eo/strings.xml | 2 ++
app/src/main/res/values-ru/strings.xml | 4 +--
app/src/main/res/values/settings_keys.xml | 22 ++++++++------
app/src/main/res/values/strings.xml | 7 ++---
16 files changed, 59 insertions(+), 42 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 5da8c9ff0..10afbef31 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -63,7 +63,7 @@ dependencies {
exclude module: 'support-annotations'
})
- implementation 'com.github.TeamNewPipe:NewPipeExtractor:9112a10'
+ implementation 'com.github.B0pol:NewPipeExtractor:a9c6beec1434f4edd4197fb655e5327bae94cc92'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.23.0'
diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
index 3c594bdfa..7dd98003a 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
@@ -1074,7 +1074,7 @@ public class VideoDetailFragment
if (info.getStreamType().equals(StreamType.AUDIO_LIVE_STREAM)) {
videoCountView.setText(Localization.listeningCount(activity, info.getViewCount()));
} else if (info.getStreamType().equals(StreamType.LIVE_STREAM)) {
- videoCountView.setText(Localization.watchingCount(activity, info.getViewCount()));
+ videoCountView.setText(Localization.localizeWatchingCount(activity, info.getViewCount()));
} else {
videoCountView.setText(Localization.localizeViewCount(activity, info.getViewCount()));
}
diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java
index c20ff0fc2..7b7a08a48 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java
@@ -370,7 +370,7 @@ public class ChannelFragment extends BaseListInfoFragment {
headerSubscribersTextView.setVisibility(View.VISIBLE);
if (result.getSubscriberCount() >= 0) {
- headerSubscribersTextView.setText(Localization.localizeSubscribersCount(activity, result.getSubscriberCount()));
+ headerSubscribersTextView.setText(Localization.shortSubscriberCount(activity, result.getSubscriberCount()));
} else {
headerSubscribersTextView.setText(R.string.subscribers_count_not_available);
}
diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamInfoItemHolder.java
index c48934d10..1dfbbca3f 100644
--- a/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamInfoItemHolder.java
+++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamInfoItemHolder.java
@@ -60,7 +60,7 @@ public class StreamInfoItemHolder extends StreamMiniInfoItemHolder {
if (infoItem.getStreamType().equals(StreamType.AUDIO_LIVE_STREAM)) {
viewsAndDate = Localization.listeningCount(itemBuilder.getContext(), infoItem.getViewCount());
} else if (infoItem.getStreamType().equals(StreamType.LIVE_STREAM)) {
- viewsAndDate = Localization.watchingCount(itemBuilder.getContext(), infoItem.getViewCount());
+ viewsAndDate = Localization.shortWatchingCount(itemBuilder.getContext(), infoItem.getViewCount());
} else {
viewsAndDate = Localization.shortViewCount(itemBuilder.getContext(), infoItem.getViewCount());
}
diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
index 7bb931309..21560ee55 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
@@ -4,9 +4,9 @@ import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
-import android.view.View;
import androidx.annotation.Nullable;
+import androidx.preference.ListPreference;
import com.google.android.material.snackbar.Snackbar;
@@ -21,6 +21,16 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment {
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ String[] durationsDescriptions = getResources().getStringArray(R.array.seek_duration_description);
+ String[] durationsValues = getResources().getStringArray(R.array.seek_duration_value);
+ int currentDurationValue;
+ for (int i = 0; i < durationsDescriptions.length; i++) {
+ currentDurationValue = Integer.parseInt(durationsValues[i]) / 1000;
+ durationsDescriptions[i] = String.format(durationsDescriptions[i], currentDurationValue);
+ }
+ ListPreference durations = (ListPreference) findPreference(getString(R.string.seek_duration_key));
+ durations.setEntries(durationsDescriptions);
+
listener = (sharedPreferences, s) -> {
// on M and above, if user chooses to minimise to popup player on exit and the app doesn't have
diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java
index 6149118cc..b24298f4e 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Localization.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java
@@ -48,8 +48,8 @@ import java.util.Locale;
public class Localization {
- private static PrettyTime prettyTime;
private static final String DOT_SEPARATOR = " • ";
+ private static PrettyTime prettyTime;
private Localization() {
}
@@ -84,6 +84,9 @@ public class Localization {
final String contentLanguage = PreferenceManager
.getDefaultSharedPreferences(context)
.getString(context.getString(R.string.content_language_key), context.getString(R.string.default_language_value));
+ if (contentLanguage.equals("system")) {
+ return org.schabi.newpipe.extractor.localization.Localization.fromLocale(Locale.getDefault());
+ }
return org.schabi.newpipe.extractor.localization.Localization.fromLocalizationCode(contentLanguage);
}
@@ -91,6 +94,9 @@ public class Localization {
final String contentCountry = PreferenceManager
.getDefaultSharedPreferences(context)
.getString(context.getString(R.string.content_country_key), context.getString(R.string.default_country_value));
+ if (contentCountry.equals("system")) {
+ return new ContentCountry(Locale.getDefault().getCountry());
+ }
return new ContentCountry(contentCountry);
}
@@ -114,8 +120,7 @@ public class Localization {
}
public static String localizeNumber(Context context, long number) {
- Locale locale = getPreferredLocale(context);
- NumberFormat nf = NumberFormat.getInstance(locale);
+ NumberFormat nf = NumberFormat.getInstance(getAppLocale(context));
return nf.format(number);
}
@@ -132,14 +137,14 @@ public class Localization {
return getQuantity(context, R.plurals.views, R.string.no_views, viewCount, localizeNumber(context, viewCount));
}
- public static String localizeSubscribersCount(Context context, long subscriberCount) {
- return getQuantity(context, R.plurals.subscribers, R.string.no_subscribers, subscriberCount, localizeNumber(context, subscriberCount));
- }
-
public static String localizeStreamCount(Context context, long streamCount) {
return getQuantity(context, R.plurals.videos, R.string.no_videos, streamCount, localizeNumber(context, streamCount));
}
+ public static String localizeWatchingCount(Context context, long watchingCount) {
+ return getQuantity(context, R.plurals.watching, R.string.no_one_watching, watchingCount, localizeNumber(context, watchingCount));
+ }
+
public static String shortCount(Context context, long count) {
if (count >= 1000000000) {
return Long.toString(count / 1000000000) + context.getString(R.string.short_billion);
@@ -156,7 +161,7 @@ public class Localization {
return getQuantity(context, R.plurals.listening, R.string.no_one_listening, listeningCount, shortCount(context, listeningCount));
}
- public static String watchingCount(Context context, long watchingCount) {
+ public static String shortWatchingCount(Context context, long watchingCount) {
return getQuantity(context, R.plurals.watching, R.string.no_one_watching, watchingCount, shortCount(context, watchingCount));
}
@@ -215,7 +220,9 @@ public class Localization {
}
public static String relativeTime(Calendar calendarTime) {
- return getPrettyTime().formatUnrounded(calendarTime);
+ String time = getPrettyTime().formatUnrounded(calendarTime);
+ return time.startsWith("-") ? time.substring(1) : time;
+ //workaround fix for russian showing -1 day ago, -19hrs ago…
}
private static void changeAppLanguage(Locale loc, Resources res) {
@@ -226,8 +233,8 @@ public class Localization {
}
public static Locale getAppLocale(Context context) {
- SharedPreferences prefs = androidx.preference.PreferenceManager.getDefaultSharedPreferences(context);
- String lang = prefs.getString("app_language_key", "en");
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ String lang = prefs.getString(context.getString(R.string.app_language_key), "en");
Locale loc;
if (lang.equals("system")) {
loc = Locale.getDefault();
diff --git a/app/src/main/java/org/schabi/newpipe/util/ServiceHelper.java b/app/src/main/java/org/schabi/newpipe/util/ServiceHelper.java
index 8929cc654..6726e4cfc 100644
--- a/app/src/main/java/org/schabi/newpipe/util/ServiceHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/util/ServiceHelper.java
@@ -44,7 +44,7 @@ public class ServiceHelper {
public static String getTranslatedFilterString(String filter, Context c) {
switch (filter) {
case "all": return c.getString(R.string.all);
- case "videos": return c.getString(R.string.videos);
+ case "videos": return c.getString(R.string.videos_string);
case "channels": return c.getString(R.string.channels);
case "playlists": return c.getString(R.string.playlists);
case "tracks": return c.getString(R.string.tracks);
diff --git a/app/src/main/res/layout-land/activity_player_queue_control.xml b/app/src/main/res/layout-land/activity_player_queue_control.xml
index 7467a79cf..6468c6784 100644
--- a/app/src/main/res/layout-land/activity_player_queue_control.xml
+++ b/app/src/main/res/layout-land/activity_player_queue_control.xml
@@ -304,10 +304,9 @@
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:gravity="center"
- android:text="@string/duration_live_button"
+ android:text="@string/duration_live"
android:textAllCaps="true"
android:textColor="?attr/colorAccent"
- android:maxLength="4"
android:background="?attr/selectableItemBackground"
android:visibility="gone"/>
diff --git a/app/src/main/res/layout-large-land/activity_main_player.xml b/app/src/main/res/layout-large-land/activity_main_player.xml
index 98017b132..8e11b99f3 100644
--- a/app/src/main/res/layout-large-land/activity_main_player.xml
+++ b/app/src/main/res/layout-large-land/activity_main_player.xml
@@ -442,10 +442,9 @@
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:gravity="center"
- android:text="@string/duration_live_button"
+ android:text="@string/duration_live"
android:textAllCaps="true"
android:textColor="@android:color/white"
- android:maxLength="4"
android:visibility="gone"
android:background="?attr/selectableItemBackground"
tools:ignore="HardcodedText,RtlHardcoded,RtlSymmetry" />
diff --git a/app/src/main/res/layout/activity_main_player.xml b/app/src/main/res/layout/activity_main_player.xml
index ab9eb8a61..804434456 100644
--- a/app/src/main/res/layout/activity_main_player.xml
+++ b/app/src/main/res/layout/activity_main_player.xml
@@ -440,10 +440,9 @@
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:gravity="center"
- android:text="@string/duration_live_button"
+ android:text="@string/duration_live"
android:textAllCaps="true"
android:textColor="@android:color/white"
- android:maxLength="4"
android:visibility="gone"
android:background="?attr/selectableItemBackground"
tools:ignore="HardcodedText,RtlHardcoded,RtlSymmetry" />
diff --git a/app/src/main/res/layout/activity_player_queue_control.xml b/app/src/main/res/layout/activity_player_queue_control.xml
index e113075af..d17a7007a 100644
--- a/app/src/main/res/layout/activity_player_queue_control.xml
+++ b/app/src/main/res/layout/activity_player_queue_control.xml
@@ -154,10 +154,9 @@
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:gravity="center"
- android:text="@string/duration_live_button"
+ android:text="@string/duration_live"
android:textAllCaps="true"
android:textColor="?attr/colorAccent"
- android:maxLength="4"
android:background="?attr/selectableItemBackground"
android:visibility="gone"/>
diff --git a/app/src/main/res/layout/player_popup.xml b/app/src/main/res/layout/player_popup.xml
index 9fbc22145..28c730913 100644
--- a/app/src/main/res/layout/player_popup.xml
+++ b/app/src/main/res/layout/player_popup.xml
@@ -208,10 +208,9 @@
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:gravity="center_vertical"
- android:text="@string/duration_live_button"
+ android:text="@string/duration_live"
android:textAllCaps="true"
android:textColor="@android:color/white"
- android:maxLength="4"
android:visibility="gone"
android:background="?attr/selectableItemBackground"
tools:ignore="HardcodedText,RtlHardcoded,RtlSymmetry" />
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index 6370c5e0e..469fb9e21 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -537,4 +537,6 @@
Forviŝi la historion de elŝutoj
Forviŝi elŝutitajn dosierojn
%1$s elŝutoj forviŝitaj
+ Filmetoj
+ %s sekundoj
\ No newline at end of file
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 807351a52..940d2ef2f 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -201,13 +201,13 @@
- %s подписчик
- %s подписчика
- - %s подписчиков
+ - %s подписчиков
Нет просмотров
- %s просмотр
- %s просмотра
- - %s просмотров
+ - %s просмотров
Нет видео
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 1a7d61dae..3a4e7c493 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -31,12 +31,12 @@
seek_duration
10000
- - 5 seconds
- - 10 seconds
- - 15 seconds
- - 20 seconds
- - 25 seconds
- - 30 seconds
+ - @string/dynamic_seek_duration_description
+ - @string/dynamic_seek_duration_description
+ - @string/dynamic_seek_duration_description
+ - @string/dynamic_seek_duration_description
+ - @string/dynamic_seek_duration_description
+ - @string/dynamic_seek_duration_description
- 5000
@@ -161,8 +161,8 @@
show_comments
stream_info_selected_tab
show_hold_to_append
- en
- GB
+ system
+ system
content_language
peertube_instance_setup
peertube_selected_instance
@@ -267,6 +267,7 @@
+ - system
- af
- az
- id
@@ -346,6 +347,7 @@
- ko
+ - @string/system_default
- Afrikaans
- Azərbaycan
- Bahasa Indonesia
@@ -427,6 +429,7 @@
+ - @string/system_default
- Afghanistan
- Aland Islands
- Albania
@@ -677,6 +680,7 @@
+ - system
- AF
- AX
- AL
@@ -993,7 +997,7 @@
- zh-tw
- - @string/systems_language
+ - @string/system_default
- العربية
- Azərbaycan dili
- Asturianu
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index dab9bde10..622b43bfd 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -140,7 +140,6 @@
Age restricted content
Show age restricted video. Allowing such material is possible from Settings.
LIVE
- LIVE
Downloads
Downloads
Error report
@@ -149,8 +148,7 @@
Channels
Playlist
Playlists
- Videos
- Comments
+ Videos
Tracks
Users
Events
@@ -593,5 +591,6 @@
The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible
Choose an instance
App language
- System default
+ System default
+ %s seconds
From 5b541cc9fb4b784ffd7a99e583356d70c8966c9c Mon Sep 17 00:00:00 2001
From: bopol
Date: Sat, 15 Feb 2020 14:53:05 +0100
Subject: [PATCH 169/199] resolve merge conflicts
---
app/src/main/res/values/settings_keys.xml | 6 +++---
app/src/main/res/values/strings.xml | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index e652f24ae..05a7416f0 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -347,7 +347,7 @@
- ko
- - @string/system_default
+ - @string/systems_language
- Afrikaans
- Azərbaycan
- Bahasa Indonesia
@@ -429,7 +429,7 @@
- - @string/system_default
+ - @string/systems_language
- Afghanistan
- Aland Islands
- Albania
@@ -997,7 +997,7 @@
- zh-tw
- - @string/system_default
+ - @string/systems_language
- العربية
- Azərbaycan dili
- Asturianu
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 622b43bfd..a5f1cb345 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -591,6 +591,6 @@
The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible
Choose an instance
App language
- System default
+ System default
%s seconds
From 6f9543b9cfc3fb435e25a4af030016b13c221c5e Mon Sep 17 00:00:00 2001
From: B0pol
Date: Sat, 15 Feb 2020 13:50:12 +0000
Subject: [PATCH 170/199] Translated using Weblate (Esperanto)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-eo/strings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index 33f24695f..0bec72e02 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -173,7 +173,7 @@
Viciĝi en la fona ludilo
Viciĝi en nova ŝprucfenestro
Komenci ludi en nova ŝprucfenestro
- Defaŭlta enhava lando
+ Preferata enhavlando
Ŝangi Orientiĝon
Ŝanĝi al Fono
Ŝanĝi al ŝprucfenestro
@@ -538,7 +538,7 @@
Forviŝi elŝutitajn dosierojn
%1$s elŝutoj forviŝitaj
Doni la permeson por afiŝiĝi supre aliaj apoj
- Lingvo de la apo
+ Preferata aplingvo
Sistemnormo
Premu « Finita » kiam solvita
Finita
From 4de2cfdcc62da47e8388701e689cd6cfa49ced98 Mon Sep 17 00:00:00 2001
From: B0pol
Date: Sun, 16 Feb 2020 09:12:55 +0000
Subject: [PATCH 171/199] Added translation using Weblate (Chuvash)
---
app/src/main/res/values-cv/strings.xml | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 app/src/main/res/values-cv/strings.xml
diff --git a/app/src/main/res/values-cv/strings.xml b/app/src/main/res/values-cv/strings.xml
new file mode 100644
index 000000000..a6b3daec9
--- /dev/null
+++ b/app/src/main/res/values-cv/strings.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
From 51f2efd48c6e58c6e835b11f54a81784a8191788 Mon Sep 17 00:00:00 2001
From: Alexey Dubrov
Date: Sun, 16 Feb 2020 16:08:53 +0300
Subject: [PATCH 172/199] Fix initial brightness value
---
.../java/org/schabi/newpipe/player/MainVideoPlayer.java | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
index 31f7dd74a..ebb9e2423 100644
--- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
@@ -909,6 +909,14 @@ public final class MainVideoPlayer extends AppCompatActivity
final float currentVolumeNormalized = (float) getAudioReactor().getVolume() / getAudioReactor().getMaxVolume();
volumeProgressBar.setProgress((int) (volumeProgressBar.getMax() * currentVolumeNormalized));
}
+
+ final float screenBrightness = getWindow().getAttributes().screenBrightness;
+ brightnessProgressBar.setProgress((int) (brightnessProgressBar.getMax() * screenBrightness));
+
+ if (DEBUG) Log.d(TAG, "setInitialGestureValues: volumeProgressBar.getProgress() ["
+ + volumeProgressBar.getProgress() + "] "
+ + "brightnessProgressBar.getProgress() ["
+ + brightnessProgressBar.getProgress() + "]");
}
@Override
From e62e34fd5cef0a265946b99bbb3e020ea6dbf39a Mon Sep 17 00:00:00 2001
From: bopol
Date: Sat, 15 Feb 2020 16:29:46 +0100
Subject: [PATCH 173/199] created default_localization_key
---
app/build.gradle | 2 +-
.../fragments/list/search/SearchFragment.java | 2 +-
.../newpipe/settings/VideoAudioSettingsFragment.java | 1 +
.../java/org/schabi/newpipe/util/Localization.java | 12 ++++++------
app/src/main/res/values/settings_keys.xml | 10 +++++-----
app/src/main/res/xml/content_settings.xml | 6 +++---
6 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 9f23bffcf..77b27f50a 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -63,7 +63,7 @@ dependencies {
exclude module: 'support-annotations'
})
- implementation 'com.github.B0pol:NewPipeExtractor:a9c6beec1434f4edd4197fb655e5327bae94cc92'
+ implementation 'com.github.TeamNewPipe:NewPipeExtractor:fc9f031'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.23.0'
diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java
index f2e8aa244..fcb3eafa7 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java
@@ -190,7 +190,7 @@ public class SearchFragment
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(activity);
isSuggestionsEnabled = preferences.getBoolean(getString(R.string.show_search_suggestions_key), true);
- contentCountry = preferences.getString(getString(R.string.content_country_key), getString(R.string.default_country_value));
+ contentCountry = preferences.getString(getString(R.string.content_country_key), getString(R.string.default_localization_key));
}
@Override
diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
index 21560ee55..e5f49e2e8 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
@@ -21,6 +21,7 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment {
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ //initializing R.array.seek_duration_description to display the translation of seconds
String[] durationsDescriptions = getResources().getStringArray(R.array.seek_duration_description);
String[] durationsValues = getResources().getStringArray(R.array.seek_duration_value);
int currentDurationValue;
diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java
index b24298f4e..cd66ec3c2 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Localization.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java
@@ -83,8 +83,8 @@ public class Localization {
public static org.schabi.newpipe.extractor.localization.Localization getPreferredLocalization(final Context context) {
final String contentLanguage = PreferenceManager
.getDefaultSharedPreferences(context)
- .getString(context.getString(R.string.content_language_key), context.getString(R.string.default_language_value));
- if (contentLanguage.equals("system")) {
+ .getString(context.getString(R.string.content_language_key), context.getString(R.string.default_localization_key));
+ if (contentLanguage.equals(context.getString(R.string.default_localization_key))) {
return org.schabi.newpipe.extractor.localization.Localization.fromLocale(Locale.getDefault());
}
return org.schabi.newpipe.extractor.localization.Localization.fromLocalizationCode(contentLanguage);
@@ -93,8 +93,8 @@ public class Localization {
public static ContentCountry getPreferredContentCountry(final Context context) {
final String contentCountry = PreferenceManager
.getDefaultSharedPreferences(context)
- .getString(context.getString(R.string.content_country_key), context.getString(R.string.default_country_value));
- if (contentCountry.equals("system")) {
+ .getString(context.getString(R.string.content_country_key), context.getString(R.string.default_localization_key));
+ if (contentCountry.equals(context.getString(R.string.default_localization_key))) {
return new ContentCountry(Locale.getDefault().getCountry());
}
return new ContentCountry(contentCountry);
@@ -104,7 +104,7 @@ public class Localization {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
String languageCode = sp.getString(context.getString(R.string.content_language_key),
- context.getString(R.string.default_language_value));
+ context.getString(R.string.default_localization_key));
try {
if (languageCode.length() == 2) {
@@ -236,7 +236,7 @@ public class Localization {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String lang = prefs.getString(context.getString(R.string.app_language_key), "en");
Locale loc;
- if (lang.equals("system")) {
+ if (lang.equals(context.getString(R.string.default_localization_key))) {
loc = Locale.getDefault();
} else if (lang.matches(".*-.*")) {
//to differentiate different versions of the language
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 05a7416f0..fba5546c1 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -161,8 +161,6 @@
show_comments
stream_info_selected_tab
show_hold_to_append
- system
- system
content_language
peertube_instance_setup
peertube_selected_instance
@@ -265,9 +263,11 @@
update_app_key
update_pref_screen_key
+
+ system
- - system
+ - @string/default_localization_key
- af
- az
- id
@@ -680,7 +680,7 @@
- - system
+ - @string/default_localization_key
- AF
- AX
- AL
@@ -932,7 +932,7 @@
- - system
+ - @string/default_localization_key
- ar
- az
- ast
diff --git a/app/src/main/res/xml/content_settings.xml b/app/src/main/res/xml/content_settings.xml
index 197c14487..8fe8a66af 100644
--- a/app/src/main/res/xml/content_settings.xml
+++ b/app/src/main/res/xml/content_settings.xml
@@ -6,7 +6,7 @@
Date: Sun, 16 Feb 2020 22:41:56 +0100
Subject: [PATCH 174/199] Apply suggestions from code review
Co-Authored-By: Stypox
---
app/src/main/res/values/strings.xml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a2c303c17..1a70d9eaa 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -59,7 +59,7 @@
org.xbmc.kore
Show \"Play with Kodi\" option
Lock screen video thumbnail
- Displayed option to play a video via Kodi media center
+ Display an option to play a video via Kodi media center
A video thumbnail is shown on the lock screen when using the background player
Audio
Default audio format
@@ -100,7 +100,7 @@
Show playback position indicators in lists
Clear data
Keep track of watched videos
- Resumed playing
+ Resume playing
Continue playing after interruptions (e.g. phonecalls)
Download
Next
@@ -231,7 +231,7 @@
Sorry, that should not have happened.
Guru Meditation.
- Report this per e-mail
+ Report this error via e-mail
Sorry, some errors occurred.
Report
Info:
@@ -560,7 +560,7 @@
The file can not be created
The destination folder can not be created
Permission denied by the system
- Could not establish secure connection
+ Could not establish a secure connection
Could not find the server
Can not connect to the server
The server does not send data
@@ -590,7 +590,7 @@
You will be asked where to save each download
You will be asked where to save each download.\nChoose SAF if you want to download to an external SD card
Use SAF
- The \'Storage Access Framework\' allows downloads to an external SD card.\nNote: Some devices are incompatible
+ The \'Storage Access Framework\' allows downloads to an external SD card.\nNote: some devices are incompatible
Choose an instance
App language
System default
From e3a891688bb71bda52f26ffe697f469e347aaf3d Mon Sep 17 00:00:00 2001
From: Alexey Dubrov
Date: Mon, 17 Feb 2020 12:11:00 +0300
Subject: [PATCH 175/199] Get brightness from settings if screenBrightness is
set to auto
---
.../java/org/schabi/newpipe/player/MainVideoPlayer.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
index ebb9e2423..3340f1107 100644
--- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
+++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java
@@ -910,7 +910,11 @@ public final class MainVideoPlayer extends AppCompatActivity
volumeProgressBar.setProgress((int) (volumeProgressBar.getMax() * currentVolumeNormalized));
}
- final float screenBrightness = getWindow().getAttributes().screenBrightness;
+ float screenBrightness = getWindow().getAttributes().screenBrightness;
+ if (screenBrightness < 0)
+ screenBrightness = Settings.System.getInt(getContentResolver(),
+ Settings.System.SCREEN_BRIGHTNESS, 0) / 255.0f;
+
brightnessProgressBar.setProgress((int) (brightnessProgressBar.getMax() * screenBrightness));
if (DEBUG) Log.d(TAG, "setInitialGestureValues: volumeProgressBar.getProgress() ["
From 54f71c623a03af80dd9c27fd160d7e87fefca0dc Mon Sep 17 00:00:00 2001
From: bopol
Date: Mon, 17 Feb 2020 10:10:15 +0100
Subject: [PATCH 176/199] use plural string for
dynamic_seek_duration_description
---
.../settings/VideoAudioSettingsFragment.java | 14 +++++++++++---
app/src/main/res/values-eo/strings.xml | 4 +++-
app/src/main/res/values/settings_keys.xml | 14 ++++++++------
app/src/main/res/values/strings.xml | 5 +++++
4 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
index e5f49e2e8..d5f46fb22 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
@@ -1,6 +1,7 @@
package org.schabi.newpipe.settings;
import android.content.SharedPreferences;
+import android.content.res.Resources;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
@@ -22,12 +23,19 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment {
super.onCreate(savedInstanceState);
//initializing R.array.seek_duration_description to display the translation of seconds
- String[] durationsDescriptions = getResources().getStringArray(R.array.seek_duration_description);
- String[] durationsValues = getResources().getStringArray(R.array.seek_duration_value);
+ Resources res = getResources();
+ String[] durationsValues = res.getStringArray(R.array.seek_duration_value);
+ String[] durationsDescriptions = res.getStringArray(R.array.seek_duration_description);
int currentDurationValue;
for (int i = 0; i < durationsDescriptions.length; i++) {
currentDurationValue = Integer.parseInt(durationsValues[i]) / 1000;
- durationsDescriptions[i] = String.format(durationsDescriptions[i], currentDurationValue);
+ try {
+ durationsDescriptions[i] = String.format(
+ res.getQuantityString(R.plurals.dynamic_seek_duration_description, currentDurationValue),
+ currentDurationValue);
+ } catch (Resources.NotFoundException ignored) {
+ //if this happens, the translation is missing, and the english string will be displayed instead
+ }
}
ListPreference durations = (ListPreference) findPreference(getString(R.string.seek_duration_key));
durations.setEntries(durationsDescriptions);
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index 8238b13bc..aa34644d1 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -538,10 +538,12 @@
Forviŝi elŝutitajn dosierojn
%1$s elŝutoj forviŝitaj
Filmetoj
- %s sekundoj
Doni la permeson por afiŝiĝi supre aliaj apoj
Lingvo de la apo
Sistemnormo
Premu « Finita » kiam solvita
Finita
+
+ - %s sekundoj
+
\ No newline at end of file
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index fba5546c1..b5bf738fb 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -31,12 +31,14 @@
seek_duration
10000
- - @string/dynamic_seek_duration_description
- - @string/dynamic_seek_duration_description
- - @string/dynamic_seek_duration_description
- - @string/dynamic_seek_duration_description
- - @string/dynamic_seek_duration_description
- - @string/dynamic_seek_duration_description
+
+ - 5 seconds
+ - 10 seconds
+ - 15 seconds
+ - 20 seconds
+ - 25 seconds
+ - 30 seconds
- 5000
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 712916449..39b2907ce 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -593,4 +593,9 @@
App language
System default
%s seconds
+
+ - %s seconds
+ - %s seconds
+ - %s seconds
+
From 55d17b556a4bc88c6c0e5e4a8f8d1c0f7a4a05f1 Mon Sep 17 00:00:00 2001
From: bopol
Date: Mon, 17 Feb 2020 10:18:20 +0100
Subject: [PATCH 177/199] added all the .iml files in gitignore, not only
app.iml
if somehow your module name isn't app, it will create a module-name.iml file, and isn't needed
---
app/.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/.gitignore b/app/.gitignore
index d9a86a57c..74862ab9f 100644
--- a/app/.gitignore
+++ b/app/.gitignore
@@ -1,3 +1,4 @@
.gitignore
/build
app.iml
+*.iml
From 9912ee8199e188bf0660fda1f6f67ea9a67936db Mon Sep 17 00:00:00 2001
From: bopol
Date: Tue, 18 Feb 2020 18:35:13 +0100
Subject: [PATCH 178/199] give info if content language is system on crash
---
.../main/java/org/schabi/newpipe/report/ErrorActivity.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
index c90aff1c9..b78751496 100644
--- a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java
@@ -43,6 +43,7 @@ import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
+import java.util.Locale;
import java.util.TimeZone;
import java.util.Vector;
@@ -377,8 +378,12 @@ public class ErrorActivity extends AppCompatActivity {
}
private String getContentLangString() {
- return PreferenceManager.getDefaultSharedPreferences(this)
+ String contentLanguage = PreferenceManager.getDefaultSharedPreferences(this)
.getString(this.getString(R.string.content_country_key), "none");
+ if (contentLanguage.equals(getString(R.string.default_localization_key))) {
+ contentLanguage = Locale.getDefault().toString();
+ }
+ return contentLanguage;
}
private String getOsString() {
From 831e9985e2484665f8cc1159ea30d208d8c71cc1 Mon Sep 17 00:00:00 2001
From: Laurent Arnoud
Date: Tue, 18 Feb 2020 21:50:28 +0100
Subject: [PATCH 179/199] Migrate annotation to androidx on ReCaptchaActivity
---
app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
index d72f729b5..4219638d6 100644
--- a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java
@@ -18,7 +18,7 @@ import android.webkit.WebViewClient;
import org.schabi.newpipe.util.ThemeHelper;
-import javax.annotation.Nonnull;
+import androidx.annotation.NonNull;
/*
* Created by beneth on 06.12.16.
@@ -147,7 +147,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
// add other methods to extract cookies here
}
- private void addYoutubeCookies(@Nonnull String cookies) {
+ private void addYoutubeCookies(@NonNull String cookies) {
if (cookies.contains("s_gl=") || cookies.contains("goojf=") || cookies.contains("VISITOR_INFO1_LIVE=")) {
// youtube seems to also need the other cookies:
addCookie(cookies);
From 316871714ac5ff548465884f68e944ed663b410e Mon Sep 17 00:00:00 2001
From: B0pol
Date: Wed, 19 Feb 2020 17:40:03 +0100
Subject: [PATCH 180/199] Update app/.gitignore
Co-Authored-By: Stypox
---
app/.gitignore | 1 -
1 file changed, 1 deletion(-)
diff --git a/app/.gitignore b/app/.gitignore
index 74862ab9f..53edac5e4 100644
--- a/app/.gitignore
+++ b/app/.gitignore
@@ -1,4 +1,3 @@
.gitignore
/build
-app.iml
*.iml
From f0e85b31aa7c7c74678a19fd0b6966f6a539fb8f Mon Sep 17 00:00:00 2001
From: mk3z
Date: Wed, 19 Feb 2020 20:59:14 +0000
Subject: [PATCH 181/199] Translated using Weblate (Finnish)
Currently translated at 64.8% (345 of 532 strings)
---
app/src/main/res/values-fi/strings.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index edf10c6f0..d34a6408a 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -400,4 +400,6 @@
Peru tilaus
Uusi välilehti
Valitse välilehti
+ Valmis
+ Jono
\ No newline at end of file
From 61632b3d9dca940230d733c4eac0dd7e17df2d01 Mon Sep 17 00:00:00 2001
From: kapodamy
Date: Thu, 20 Feb 2020 13:20:20 -0300
Subject: [PATCH 182/199] fixup for #3081 * dont write the "sbpg" box in video
tracks
---
.../java/org/schabi/newpipe/streams/Mp4FromDashWriter.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
index 57a7aaa9c..64e4534cb 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java
@@ -291,7 +291,9 @@ public class Mp4FromDashWriter {
sampleCount[i] = 1;// the index is not base zero
sampleExtra[i] = -1;
}
- writeEntryArray(tablesInfo[i].sbgp, 1, sampleCount[i]);
+ if (tablesInfo[i].sbgp > 0) {
+ writeEntryArray(tablesInfo[i].sbgp, 1, sampleCount[i]);
+ }
}
if (auxBuffer == null) {
From 9f9b53c067f65859d2b9519a37e99420ad04b296 Mon Sep 17 00:00:00 2001
From: bopol
Date: Thu, 20 Feb 2020 18:55:22 +0100
Subject: [PATCH 183/199] =?UTF-8?q?remove=20unecessary=20=C2=ABfew=C2=BB?=
=?UTF-8?q?=20and=20=C2=ABmany=C2=BB=20for=20plural=20string=20in=20englis?=
=?UTF-8?q?h?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/res/values/strings.xml | 2 --
1 file changed, 2 deletions(-)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 39b2907ce..148a339a9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -594,8 +594,6 @@
System default
%s seconds
- - %s seconds
- - %s seconds
- %s seconds
From f7d73fc21b2b85776aadb20028eb3acf12a50e25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vojt=C4=9Bch=20=C5=A0amla?=
Date: Thu, 20 Feb 2020 20:29:40 +0000
Subject: [PATCH 184/199] Translated using Weblate (Czech)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-cs/strings.xml | 38 +++++++++++++-------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index ff89170ac..65cd4026a 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -20,7 +20,7 @@
Složka pro stažené audio
Výchozí rozlišení
Přehrát pomocí Kodi
- Aplikace Kore nenalezena. Chcete ji nainstalovat?
+ Nainstalovat chybějící aplikaci Kore\?
%1$s zhlédnutí
Adresář pro stažená videa
Stažená videa jsou uložena tady
@@ -61,10 +61,10 @@
Přehrává video, když je NewPipe otevřen z jiné aplikace
Obsah
Věkově omezený obsah
- Zobrazit video s věkovým omezením. Povolit tento obsah lze v \"Nastavení\".
- ŽIVĚ
+ Zobrazit video s věkovým omezením. Změnit tuto volbu v budoucnu lze v \"Nastavení\".
+ Živě
Nebylo možné kompletně analyzovat stránku
- Začni klepnutím na hledat
+ Začni klepnutím na \"Hledat\"
Zkopírováno do schránky
Počkejte prosím…
NewPipe stahuje
@@ -84,9 +84,9 @@
Nahlásit chybu
Podrobnosti:
Co se stalo:
- NAHLÁSIT
+ Nahlásit
Omlouváme se, tohle se nemělo stát.
- Nahlásit chybu přes e-mail
+ Nahlásit tuto chybu přes e-mail
Omlouváme se, nastaly určité chyby.
Nepodařilo se nahrát obrázek
Aplikace/UI spadlo
@@ -121,11 +121,11 @@
otevření ve vyskakovacím okně
Odstraňuje zvuk v některých rozlišeních
Zobrazovat vyšší rozlišení
- Pouze některá zařízení podporují přehrávání 2K/4K videí
+ Pouze některá zařízení dokáží přehrát 2K/4K videa
Výchozí formát videa
Pamatovat si velikost a pozici vyskakovacího okna
Pamatovat si poslední velikost a pozici vyskakovacího okna
- NewPipe režim vyskakovacího okna
+ Režim vyskakovacího okna
Odebírat
Odebíráno
Odběr zrušen
@@ -138,14 +138,14 @@ otevření ve vyskakovacím okně
V okně
Výchozí rozlišení vyskakovacího okna
Ovládání přehrávače gesty
- Používat gesta pro nastavení jasu a hlasitosti přehrávače
+ Používat gesta pro ovládání jasu a hlasitosti přehrávače
Návrhy vyhledávání
Zobrazovat návrhy při vyhledávání
Historie vyhledávání
Hledané výrazy lokálně uchovávat
Historie sledování
Evidovat zhlédnutá videa
- Přehrávat po přechodu do popředí
+ Obnovit přehrávání
Pokračovat v přehrávání po přerušení (např. hovor)
Přehrávač
Chování
@@ -248,7 +248,7 @@ otevření ve vyskakovacím okně
Začít přehrávat na pozadí
Začít přehrávat v okně
Donate
- NewPipe je vyvíjen dobrovolníky, kteří tráví svůj čas, aby vaše zkušenost s aplikací byla co nejlepší. Vraťte vývojářům něco zpět, aby mohli NewPipe dále zlepšovat a zároveň si vychutnat šálek kávy.
+ NewPipe je vyvíjen dobrovolníky, kteří tráví svůj volný čas, aby vaše zkušenost s aplikací byla co nejlepší. Vraťte vývojářům něco zpět, aby mohli NewPipe dále zlepšovat a zároveň si vychutnat šálek kávy.
Daruj
Webová stránka
Pro další informace a novinky navštivte webovou stránku NewPipe.
@@ -316,7 +316,7 @@ otevření ve vyskakovacím okně
Zvětšit
Ladění
"Automaticky generováno "
- Povolit službu LeakCanary
+ LeakCanary
Monitoring úniku paměti může způsobit nereagování aplikace při heap dumpingu
Nahlásit mimo-cyklické chyby
Vynutit hlášení nedoručitelných výjimek Rx mimo životnost fragmentu nebo aktivity po odstranění
@@ -414,13 +414,13 @@ otevření ve vyskakovacím okně
Ovládání hlasitosti gesty
Používat gesta pro ovládání hlasitosti přehrávače
Ovládání jasu gesty
- Používat gesta pro kontrolu jasu přehrávače
+ Používat gesta pro ovládání jasu přehrávače
Aktualizace
Soubor smazán
Notifikace aktualizace aplikace
Notifikace pro novou verzi NewPipe
Externí úložiště není k dispozici
- Chyba při načítání uložených karet, použijí se výchozí karty
+ Nelze načíst uložené karty, takže se použijí výchozí karty
Obnovit do výchozího nastavení
Chcete obnovit výchozí nastavení\?
Počet odběratelů není k dispozici
@@ -457,7 +457,7 @@ otevření ve vyskakovacím okně
Cílovou složku nelze vytvořit
Soubor nelze vytvořit
Oprávnění odepřeno systémem
- Zabezpečené připojení selhalo
+ Nelze navázat zabezpečené připojení
Server se nepodařilo najít
Nelze se připojit k serveru
Server neposílá data
@@ -502,7 +502,7 @@ otevření ve vyskakovacím okně
Budete dotázáni, kam jednotlivé soubory stáhnout.
\nZvolte SAF, pokud si přejete stahovat na externí SD kartu
Použít SAF
- Storage Access Framework umožňuje stahovat na externí SD kartu.
+ \"Storage Access Framework\" umožňuje stahovat na externí SD kartu.
\nUpozornění: některá zařízení jsou nekompatibilní
Zobrazit pozici přehrávání v seznamech
Pozice playbacku smazány.
@@ -529,7 +529,7 @@ otevření ve vyskakovacím okně
Délka přetočení vpřed/zpět
Instance PeerTube
Vybrat oblíbené instance PeerTube
- Vyhledat nejvhodnější instance na %s
+ Vyhledat instance, které se vám líbí, na %s
Přidat instanci
Zadat URL instance
Instanci nebylo možno potvrdit
@@ -542,8 +542,8 @@ otevření ve vyskakovacím okně
obnovuji
Toto stahování nelze obnovit
Vyberte instanci
- Zapnout náhled videa na zamknuté obrazovce
- Hraje-li video na pozadí, náhled videa se ukáže na zamknuté obrazovce
+ Náhled videa na zamknuté obrazovce
+ Při použití přehrávače na pozadí se náhled videa ukáže na zamknuté obrazovce
Smazat historii stahování
Smazat stažené soubory
Smazat %1$s stahování
From fd076f5a58f25e39373999b90a63ec4415fb51ca Mon Sep 17 00:00:00 2001
From: zeritti
Date: Fri, 21 Feb 2020 15:53:31 +0000
Subject: [PATCH 185/199] Translated using Weblate (Czech)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-cs/strings.xml | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 65cd4026a..01bcfede7 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -98,7 +98,7 @@
Stažené soubory
Info:
Vaše poznámky (anglicky):
- Oprávnění přístupu do úložiště zamítnuto
+ Nejdříve udělit oprávnění přístupu k úložišti
Přehrát
Nová mise
OK
@@ -179,9 +179,9 @@ otevření ve vyskakovacím okně
Žádná videa
- - %s video
- - %s videa
- - %s videí
+ - %s Video
+ - %s Videa
+ - %s Videí
Stahování
Povolené znaky v názvech souborů
@@ -214,7 +214,7 @@ otevření ve vyskakovacím okně
Historie vymazána
Položka byla odstraněna
Zobrazovat tip \"Podržet pro přidání\"
- Zobrazí se po stisku tlačítek přehrát na pozadí nebo přehrát v okně na stránce s videem
+ Ukázat tip po stisku na pozadí nebo na popup tlačítko v \"Podrobnostech\" o videu
Ve frontě přehrávače na pozadí
Ve frontě přehrávače v okně
Přehrát vše
@@ -329,7 +329,7 @@ otevření ve vyskakovacím okně
Odebrat všechna data uložená v mezipaměti
Mezipaměť metadat vymazána
Automatická fronta dalšího streamu
- Automaticky připojí související stream při přehrávání posledního streamu v neopakující se frontě
+ Pokračovat konečnou (neopakující se) frontu playbacku připojením souvisejícího streamu
Soubor
Neexistující složka
Neexistující zdroj souboru/obsahu
@@ -552,4 +552,5 @@ otevření ve vyskakovacím okně
Jazyk systému
Po vyřešení stiskni \"Hotovo\"
Hotovo
+ Live
\ No newline at end of file
From d460351da2f3c7a0e30382298d40fb1b24ef9262 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?O=C4=9Fuz=20Ersen?=
Date: Thu, 20 Feb 2020 09:59:03 +0000
Subject: [PATCH 186/199] Translated using Weblate (Turkish)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-tr/strings.xml | 51 +++++++++++++-------------
1 file changed, 26 insertions(+), 25 deletions(-)
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 1dd9deff6..557e59236 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -1,9 +1,9 @@
- Başlamak için aramaya dokunun
+ Başlamak için \"Arama\"ya dokunun
%1$s görüntüleme
Yayınlanma: %1$s
- Akış oynatıcısı bulunamadı. VLC\'yi yüklemek ister misiniz\?
+ Akış oynatıcısı bulunamadı. VLC yüklensin mi\?
Yükle
Vazgeç
Tarayıcıda aç
@@ -27,7 +27,7 @@
NewPipe başka uygulamadan çağrıldığında video oynatır
Öntanımlı çözünürlük
Kodi ile oynat
- Kore uygulaması bulunamadı. Yüklensin mi\?
+ Eksik Kore uygulaması yüklensin mi\?
\"Kodi ile oynat\" seçeneğini göster
Kodi ortam merkezi üzerinden video oynatmak için bir seçenek göster
Öntanımlı ses biçimi
@@ -47,8 +47,8 @@
Oynat
İçerik
Yaş kısıtlamalı içerik
- Yaş kısıtlamalı videoyu göster. Bu tür malzemelere Ayarlardan izin vermek mümkündür.
- CANLI
+ Yaş kısıtlamalı videoyu göster. Daha sonra ayarlardan değiştirilebilir.
+ Canlı
İndirilenler
İndirilenler
Hata bildirimi
@@ -64,9 +64,9 @@
Görüntü yüklenemedi
Uygulama/kullanıcı arayüzü çöktü
Üzgünüz, bu olmamalıydı.
- Hatayı e-posta aracılığıyla bildir
+ Bu hatayı e-posta aracılığıyla bildir
Üzgünüz, bazı hatalar oluştu.
- BİLDİR
+ Bildir
Bilgi:
Ne oldu:
Ne:\\nİstek:\\nİçerik Dili:\\nHizmet:\\nGMT Zamanı:\\nPaket:\\nSürüm:\\nİşletim sistemi sürümü:
@@ -76,14 +76,14 @@
Beğenmeme
Tor kullanın
(Deneysel) Artırılmış gizlilik için indirme trafiğini Tor\'dan geçmesi için zorlayın (video yayımlama henüz desteklenmemektedir).
- Hata Bildirin
+ Hata bildir
Kullanıcı raporu
İndirme dizini \'%1$s\' oluşturulamıyor
İndirme dizini \'%1$s\' oluşturuldu
Video
Ses
Yeniden dene
- Depolama erişim izni reddedildi
+ Önce depolama alanına erişim izni verin
Başlat
Duraklat
Oynat
@@ -104,10 +104,10 @@
Lütfen daha sonra ayarlardan uygun bir indirme dizini belirleyin
İndirme menüsü ayarlanamadı
Açılır pencere kipinde aç
- NewPipe açılır pencere kipi
+ Açılır pencere modu
Öntanımlı açılır pencere çözünürlüğü
Yüksek çözünürlükleri göster
- Yalnızca bazı aygıtlar 2K/4K video oynatmayı desteklemektedir
+ Yalnızca bazı aygıtlar 2K/4K videoları oynatabilir
Öntanımlı video biçimi
Siyah
Açılır pencere kipinde oynatılıyor
@@ -136,7 +136,7 @@
Açılan pencerenin son boyutunu ve konumunu hatırla
Açılır pencere
Yeniden boyutlandırılıyor
- BAZI çözünürlüklerde ses kaldırılır
+ Bazı çözünürlüklerde sesi kaldırır
Oynatıcının parlaklığını ve sesini kontrol etmek için hareketleri kullanın
Hareketli oynatıcı kontrolü
Arama önerileri
@@ -176,7 +176,7 @@
Arama sorgularını yerel olarak saklayın
İzleme geçmişi
İzlenen videoların kaydını tut
- Odaklanıldığında sürdür
+ Oynatmaya devam et
Kesintilerden sonra (örneğin telefon çağrısı) oynatmaya devam et
Oynatıcı
Davranış
@@ -208,7 +208,7 @@
Öge silindi
Bu ögeyi arama geçmişinden silmek istiyor musunuz\?
\"Eklemek için basılı tutun\" ipucunu göster
- Video ayrıntıları sayfasında arka plan veya açılır pencere düğmesine basıldığında ipucu göster
+ Video \"Ayrıntılar:\" sayfasında arka plan veya açılır pencere butonuna basıldığında ipucu göster
Arka plan oynatıcısı kuyruğuna eklendi
Açılır pencere oynatıcısı kuyruğuna eklendi
Tümünü Oynat
@@ -241,7 +241,7 @@
Arka planda oynatmayı başlat
Yeni açılır pencerede oynatmayı başlat
Bağışta bulunun
- NewPipe, size en iyi deneyimi sunmak için zaman harcayan gönüllüler tarafından geliştirilmiştir. Geliştiricilerin bir fincan kahvenin tadını çıkarırken NewPipe\'ı daha iyi hale getirmelerine yardımcı olun.
+ NewPipe, boş zamanlarını size en iyi kullanıcı deneyimi sunmak için harcayan gönüllüler tarafından geliştirilmiştir. Geliştiricilerin bir fincan kahvenin tadını çıkarırken NewPipe\'ı daha iyi hale getirmelerine yardımcı olun.
Bağışta bulunun
Web sitesi
Daha çok bilgi ve haber için NewPipe web sitesini ziyaret edin.
@@ -309,14 +309,14 @@
Hata ayıklama
Yakında bir şeyler burada görünecek ;D
Kendiliğinden oluşturulan
- LeakCanary\'i etkinleştir
+ LeakCanary
Bellek sızıntısı izleme, yığın boşaltımı sırasında uygulamanın yanıt vermemesine neden olabilir
Yaşam döngüsü dışı hatalarını bildir
Parçanın dışında veya atımdan sonraki etkinlik yaşam döngüsündeki teslim edilemeyen Rx beklentilerinin bildirimini zorla
Hızlı isabetsiz konumlama kullan
İsabetsiz konumlama, oynatıcının daha düşük hassasiyetle daha hızlı pozisyon aramasını sağlar
Sonraki akışı otomatik kuyruğa ekle
- Yinelenmeyen bir kuyruktaki son akışı oynatırken, ilgili bir akışı otomatik olarak ekle
+ İlgili bir akış ekleyerek sonlu (tekrarlanmayan) oynatma sırasını devam ettir
Dosya
Böyle bir dizin yok
Böyle bir dosya/içerik kaynağı yok
@@ -411,9 +411,9 @@
Yeni NewPipe sürümü için bildirimler
Harici depolama kullanılamıyor
Harici SD karta indirmek mümkün değil. İndirme dizini konumu sıfırlansın mı\?
- Öntanımlı sekmeler kullanılıyor, kaydedilen sekmeler okunurken hata
+ Kayıtlı sekmeler okunamadı, bu nedenle varsayılanlar kullanılıyor
Öntanımlıları geri yükle
- Öntanımlıları geri yüklemek istiyor musunuz\?
+ Varsayılanları geri yüklemek istiyor musunuz\?
Abone sayısı mevcut değil
Ana sayfada hangi sekmeler gösterilir
Seçim
@@ -444,7 +444,7 @@
Dosya oluşturulamıyor
Hedef dizin oluşturulamıyor
İzin sistem tarafından reddedildi
- Güvenli bağlantı başarısız
+ Güvenli bağlantı kurulamadı
Sunucu bulunamadı
Sunucuya bağlanılamıyor
Sunucu veri göndermiyor
@@ -461,7 +461,7 @@
Konferanslar
Beklemede
Yorumları göster
- Yorumları göstermeyi durdurmak için devre dışı bırak
+ Yorumları gizlemek için kapatın
Otomatik oynat
- Yorum
@@ -494,7 +494,7 @@
Her indirme için nereye kaydedileceği sorulacak.
\nEğer harici SD karta indirmek istiyorsanız DEÇ\'i seçin
DEÇ\'i kullan
- Depolama Erişimi Çerçevesi harici SD karta indirmelere izin verir.
+ \'Depolama Erişimi Çerçevesi\' harici SD karta indirmelere izin verir.
\nNot: Bazı aygıtlar uyumlu değildir
Oynatım konumlarını sil
Tüm oynatım konumlarını siler
@@ -520,7 +520,7 @@
Hızlı ileri/geri sarma süresi
PeerTube örnekleri
Favori PeerTube örneklerinizi seçin
- %s adresinde size en uygun örnekleri bulun
+ %s adresinde beğendiğiniz örnekleri bulun
Örnek ekle
Örnek URL\'sini girin
Örnek doğrulanamadı
@@ -533,8 +533,8 @@
kurtarılıyor
Bu indirme kurtarılamıyor
Oluşum seçin
- Kilit ekranı video küçük resmini etkinleştir
- Arka plan oynatıcıyı kullanırken kilit ekranında bir video küçük resmi görüntülenecektir
+ Kilit ekranı video küçük resmi
+ Arka plan oynatıcıyı kullanırken kilit ekranında bir video küçük resmi gösterilir
İndirme geçmişini temizle
İndirilen dosyaları sil
%1$s indirme silindi
@@ -543,4 +543,5 @@
Sistem öntanımlısı
Çözüldüğünde \"Bitti\" butonuna basın
Bitti
+ Canlı
\ No newline at end of file
From e1101dd6f13bc546f2fed75524b3240d16fd0eb0 Mon Sep 17 00:00:00 2001
From: Yaron Shahrabani
Date: Thu, 20 Feb 2020 07:30:05 +0000
Subject: [PATCH 187/199] Translated using Weblate (Hebrew)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-he/strings.xml | 41 +++++++++++++-------------
1 file changed, 21 insertions(+), 20 deletions(-)
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index 72b6a92ab..59e4ce6be 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -19,7 +19,7 @@
שימוש בנגן סרטונים חיצוני
בחלק מהרזולוציות השמע יוסר
שימוש בנגן סרטונים חיצוני
- מצב חלון צף של NewPipe
+ מצב חלון צף
רקע
חלון צף
תיקייה להורדת סרטונים
@@ -33,9 +33,9 @@
רזולוציית בררת המחדל
רזולוציית בררת המחדל לחלון צף
הצגת רזולוציות גבוהות יותר
- רק חלק מהמכשירים תומכים בצפייה בסרטונים ב־2K/4K
+ רק חלק מהמכשירים יכולים לנגן סרטונים ב־2K/4K
נגינה ב־Kodi
- היישומון Kore לא נמצא. להתקין אותו\?
+ להתקין את יישומון Kore החסר\?
הצגת האפשרות לניגון עם Kodi
הצגת אפשרות לנגן סרטון דרך מרכז המדיה Kodi
שמע
@@ -65,7 +65,7 @@
נגינה
תוכן
תוכן עם הגבלת גיל
- הצגת סרטונים עם הגבלת גיל. ניתן לאפשר תכנים שכאלו דרך ההגדרות.
+ הצגת סרטונים עם הגבלת גיל. ניתן לשנות את זה בעתיד דרך ההגדרות.
חי
הורדות
הורדות
@@ -110,10 +110,10 @@
שמירת שאילתות החיפוש מקומית
היסטוריית צפייה
תיעוד הסרטונים שנצפו
- להמשיך את הניגון עם החזרת המיקוד
+ להמשיך את הניגון
להמשיך לנגן לאחר הפרעות (למשל: שיחות טלפון)
להציג את העצה „להחזיק כדי להוסיף לרשימת נגינה”
- להציג עצה בעת לחיצה על כפתור בנגן רקע או צף בעמוד פרטי סרטון
+ להציג עצה בעת לחיצה על הרקע או על הכפתור של הנגן הצף ב„פרטים:” על הסרטון
נגן
התנהגות
היסטוריה ומטמון
@@ -147,7 +147,7 @@
סרטון
שמע
ניסיון חוזר
- הגישה לאחסון נדחתה
+ יש להעניק גישה לאחסון תחילה
ק׳
מ׳
מיליארד
@@ -216,7 +216,7 @@
אם יש לך רעיון כלשהו בנוגע לתרגום, שינויי עיצוב, ניקוי הקוד או שינויים מהותיים בקוד - אנו תמיד שמחים לקבל עזרה. ככל שיותר דברים מתבצעים כך היישומון משתפר!
הצגה ב־GitHub
תרומה
- הפיתוח של NewPipe נערך ע״י מתנדבים שמשקיעים את זמנם כדי להגיש לך את החוויה הטובה ביותר. באפשרותך להעניק בחזרה כדי לסייע למפתחים לשפר את NewPipe בעודם נהנים מכוס קפה.
+ הפיתוח של NewPipe נערך ע״י מתנדבים שמשקיעים את זמנם הפנוי כדי להגיש לך את חווית השימוש הטובה ביותר. באפשרותך להעניק בחזרה כדי לסייע למפתחים לשפר את NewPipe בעודם נהנים מכוס קפה.
לתרום בחזרה
אתר הבית
מומלץ לבקר באתר של NewPipe לפרטים נוספים ולחדשות.
@@ -338,7 +338,7 @@
כיבוי האפשרות מונע את טעינת התמונות הממוזערות, חוסך בתקשורת נתונים ובניצולת הזיכרון. שינויים באפשרות זו מוחקים את המטמון בזיכרון ובכונן.
הסרת כל נתוני העמודים שבמטמון
הוספת התזרים הבא לרשימת הנגינה אוטומטית
- להוסיף אוטומטית תזרים דומה בעת נגינת התזרים האחרון בתור שאינו מחזורי
+ להמשיך תור נגינה סופית (בלתי מחזורית) על ידי הוספת תזרים קשור
החלפת כיווניות
העברה לראשי
משכתב את ההיסטוריה והמינויים הנוכחיים שלך
@@ -377,7 +377,7 @@
התאמה
כתוביות
שינוי גודל כותרת הנגן וסגנונות הרקע. נדרשת הפעלה מחדש כדי ששינויים אלה יכנסו לתוקף.
- הפעלת LeakCanary
+ LeakCanary
מעקב אחר זליגת זיכרון עשויה לגרום ליישומון להיות בלתי זמין בזמן העתקת תוכן הזיכרון לקובץ
המזהה שלך, soundcloud.com/המזהה שלך
נא לשים לב כי פעולה זו עשויה להעמיס על תקשורת הנתונים.
@@ -399,18 +399,18 @@
לשונית חדשה
בחירת לשונית
מחוות בקרת עצמת שמע
- ניתן להשתמש במחוות כדי לשלוט בעצמת השמע של הנגן
+ שימוש במחוות כדי לשלוט בעצמת השמע של הנגן
מחוות בקרת בהירות
- ניתן להשתמש במחוות כדי לשלוט בבהירות הנגן
+ שימוש במחוות כדי לשלוט בבהירות הנגן
עדכונים
נמחק קובץ
התראת עדכון יישומון
התראות על גרסה חדשה של NewPipe
האחסון החיצוני אינו זמין
אין אפשרות להוריד לכרטיס SD. לאפס את מיקום תיקיית ההורדה\?
- נעשה שימוש בלשוניות בררת המחדל, אירעה שגיאה בעת קריאת הלשוניות שנשמרו
+ לא ניתן לקרוא לשוניות שמורות, לכן נעשה שימוש באלו של בררת המחדל
שחזור בררות מחדל
- לשחזר את בררות המחדל\?
+ לשחזר בררות מחדל\?
מספר המנויים אינו זמין
אילו לשוניות תופענה בעמוד הראשי
בחירה
@@ -456,7 +456,7 @@
לא ניתן ליצור את הקובץ
לא ניתן ליצור את תיקיית היעד
ההרשאה נדחתה על ידי המערכת
- החיבור המאובטח נכשל
+ לא ניתן להקים חיבור מאובטח
לא ניתן למצוא את השרת
לא ניתן להתחבר לשרת
השרת לא שולח נתונים
@@ -470,7 +470,7 @@
לייצר הפרעה ברשתות מדודות
שימושי בעת מעבר לחיבור רשת סלולרית, למרות שישנן הורדות שלא ניתן להשהות
הצגת תגובות
- יש להשבית כדי להפסיק הצגת תגובות
+ יש להשבית כדי להפסיק הסתרת תגובות
ניגון אוטומטי
- תגובות
@@ -506,7 +506,7 @@
תוצג שאלה היכן לשמור כל הורדה.
\nיש להפעיל זאת אם ברצונך להוריד לכרטיס SD חיצוני
שימוש ב־SAF
- תשתית גישה לאחסון מאפשרת הורדות לכרטיס SD חיוני.
+ ‚תשתית גישה לאחסון’ מאפשרת הורדות לכרטיס SD חיצוני.
\nלתשומת לבך: חלק מהמכשירים אינם נתמכים
מחיקת מיקומי נגינה
מחיקת כל מיקומי הנגינה
@@ -532,7 +532,7 @@
משך קפיצה מהירה קדימה/אחורה
מופעים של PeerTube
נא לבחור את מופעי ה־PeerTube המועדפים עליך
- איתור המופעים שהכי מתאימים לך תחת %s
+ איתור המופעים האהובים עליך תחת %s
הוספת מופע
נא להכניס כתובת מופע
לא ניתן לאמת את המופע
@@ -545,8 +545,8 @@
בשחזור
לא ניתן לשחזר את ההורדה הזאת
נא לבחור מופע
- הפעלת תמונה מוקטנת של הסרטון במסך הנעילה
- בעת השימוש בנגן הרקע תופיע תמונה מוקטנת של הסרטון על מסך הנעילה
+ תמונה מוקטנת של הסרטון במסך הנעילה
+ תמונה מוקטנת של הסרטון תופיע על מסך הנעילה בעת שימוש בנגן הרקע
מחיקת היסטוריית ההורדות
למחוק את הקבצים שהורדתי
נמחקו %1$s הורדות
@@ -555,4 +555,5 @@
בררת המחדל של המערכת
יש ללחוץ על „סיום” לאחר הפתירה
סיום
+ חי
\ No newline at end of file
From 47d2ae5c5edcb803da01c7045dc19e3a828ce963 Mon Sep 17 00:00:00 2001
From: Karol Kosek
Date: Thu, 20 Feb 2020 23:16:29 +0000
Subject: [PATCH 188/199] Translated using Weblate (Polish)
Currently translated at 99.6% (530 of 532 strings)
---
app/src/main/res/values-pl/strings.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 53de33521..46494c1e5 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -1,6 +1,6 @@
- Naciśnij Szukaj, aby zacząć
+ Naciśnij „Szukaj”, aby zacząć
Zainstaluj
Anuluj
Otwórz w przeglądarce
@@ -16,7 +16,7 @@
Użyj zewnętrznego odtwarzacza audio
%1$s wyświetleń
Opublikowano %1$s
- Nie znaleziono odtwarzacza strumieni. Czy chcesz zainstalować VLC\?
+ Nie znaleziono odtwarzacza strumieni. Zainstalować VLC\?
Folder pobierania wideo
Pobrane pliki wideo są przechowywane tutaj
Wybierz folder pobierania plików wideo
@@ -139,7 +139,7 @@
To pozwolenie jest wymagane, aby
\notworzyć w trybie okienkowym
Odtwórz w trybie okienkowym
- Tryb okienkowy NewPipe
+ Tryb okienkowy
Tryb okienkowy
Najlepsza rozdzielczość
Pobierz
@@ -409,7 +409,7 @@
Nowa karta
Wybierz kartę
Kontrola gestów głośności
- Użyj gestów do sterowania głośnośnością odtwarzania
+ Użyj gestów do sterowania głośnośnością odtwarzacza
Kontrola gestów jasności
Użyj gestów do sterowania jasnością odtwarzacza
Aktualizacje
From ae5360fb275dea4e4101b1e02578a2c7da0051f3 Mon Sep 17 00:00:00 2001
From: WaldiS
Date: Fri, 21 Feb 2020 11:31:47 +0000
Subject: [PATCH 189/199] Translated using Weblate (Polish)
Currently translated at 99.6% (530 of 532 strings)
---
app/src/main/res/values-pl/strings.xml | 31 +++++++++++++-------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 46494c1e5..fe650d099 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -27,7 +27,7 @@
Odtwórz wideo, kiedy NewPipe zostanie wywołany z innej aplikacji
Domyślna rozdzielczość
Odtwórz w Kodi
- Nie znaleziono aplikacji Kore. Zainstalować ją\?
+ Zainstalować brakującą aplikację Kore\?
Pokaż opcję „Odtwórz z Kodi”
Wyświetl opcję odtwarzania filmów za pośrednictwem centrum multimedialnego Kodi
Dźwięk
@@ -65,7 +65,7 @@
Przepraszamy, to nie powinno mieć miejsca.
Zgłoś błąd przez e-mail
Przepraszamy, wystąpiły pewne błędy.
- ZGŁOŚ
+ Zgłoś
Informacje:
Co się stało:
Co:\\nRequest:\\nJęzyk treści:\\nUsługa:\\nCzas GMT:\\nPakiet:\\nWersja:\\nWersja systemu:
@@ -84,7 +84,7 @@
Film
Dźwięk
Ponów
- Odmowa dostępu do pamięci
+ Najpierw udziel dostępu do pamięci
Wstrzymaj
Odtwórz
Usuń
@@ -174,7 +174,7 @@
Zapisuj lokalnie historię wyszukiwania
Historia oglądanych
Zapisuj historię oglądania
- Wznów gdy na pierwszym planie
+ Wznów odtwarzanie
Kontynuuj odtwarzanie po przerwaniu (np. po rozmowie telefonicznej)
Powiadomienia NewPipe
Powiadomienia dla NewPipe w tle i trybie wyskakujących okien odtwarzania
@@ -222,7 +222,7 @@
Większość znaków specjalnych
Dotacja
- NewPipe rozwijane jest przez wolontariuszy, którzy poświęcają swój wolny czas, by zapewnić Ci jak najlepsze wrażenia podczas korzystania z aplikacji. To dobry moment, aby wesprzeć programistów i sprawić, by program był jeszcze lepszy, delektując się filiżanką kawy.
+ NewPipe jest rozwijany przez wolontariuszy, którzy poświęcają swój wolny czas, by zapewnić Ci jak najlepsze wrażenia podczas korzystania z aplikacji. To dobry moment, aby wesprzeć programistów i sprawić, by program był jeszcze lepszy, delektując się filiżanką kawy.
Wspomóż
Witryna
By otrzymać więcej informacji oraz najnowsze wiadomości o NewPipe, odwiedź naszą stronę.
@@ -316,7 +316,7 @@
Wypełnij
Powiększ
Wygenerowane automatycznie
- Włącz LeakCanary
+ LeakCanary
Monitorowanie wycieków pamięci może powodować niestabilność aplikacji podczas zrzutu pamięci
Zgłaszanie błędów poza cyklem życia
Wymusza raportowanie niedostarczonych wyjątków Rx poza cyklem życia fragmentu lub aktywności
@@ -329,7 +329,7 @@
Wyczyść pamięć podręczną stron
Wyczyszczono pamięć podręczną metadanych
Automatyczne kolejkowanie następnego strumienia
- Automatycznie dodaj kolejny powiązany strumień podczas odtwarzania ostatniego strumienia w niezapętlonej kolejce
+ Kontynuuj kończenie (niepowtarzanie) kolejki odtwarzania, dołączając powiązany strumień
Plik
Nie ma takiego folderu
Nie ma takiego źródła plików/treści
@@ -418,10 +418,10 @@
Powiadomienia o nowej wersji NewPipe
Pamięć zewnętrzna jest niedostępna
Pobieranie na zewnętrzną kartę SD nie jest możliwe. Zresetować lokalizację folderu pobierania\?
- Korzystanie z domyślnych kart, błąd podczas czytania zapisanych kart
+ Nie można odczytać zapisanych kart, więc będzie używana domyślna
Przywróć domyślne
Czy chcesz przywrócić ustawienia domyślne\?
- Subskrybenci nie są dostępni
+ Subskrybent jest niedostępny
Karty wyświetlane na stronie głównej
Wybierz
Aktualizacje
@@ -451,7 +451,7 @@
Nie można utworzyć pliku
Nie można utworzyć folderu docelowego
Odmowa dostępu do systemu
- Bezpieczne połączenie nie powiodło się
+ Nie można nawiązać bezpiecznego połączenia
Nie można znaleźć serwera
Nie można połączyć się z serwerem
Serwer nie wysyła danych
@@ -468,7 +468,7 @@
Konferencje
Oczekuje
Pokaż komentarze
- Wyłącz, aby przestać wyświetlać komentarze
+ Wyłącz, aby ukryć komentarze
Automatyczne odtwarzanie
- Komentarze
@@ -502,7 +502,7 @@
Zostaniesz zapytany, gdzie zapisać każde pobranie.
\nWybierz SAF, jeśli chcesz pobrać na zewnętrzną kartę SD
Użyj SAF
- Biblioteka dostępu do pamięci pozwala na pobieranie danych na zewnętrzną kartę.
+ Struktura dostępu do pamięci masowej umożliwia pobieranie danych na zewnętrzną kartę SD.
\nUwagi: Niektóre urządzenia nie są kompatybilne
Usuń pozycje odtwarzania
Usuwa wszystkie pozycje odtwarzania
@@ -526,7 +526,7 @@
Krok czasu przewijania
Wystąpienia PeerTube
Wybierz swoje ulubione instancje PeerTube
- Znajdź wystąpienia, które najbardziej Ci odpowiadają na %s
+ Znajdź wystąpienia, które lubisz na %s
Dodaj instancję
Wprowadź adres URL instancji
Nie można sprawdzić poprawności instancji
@@ -539,8 +539,8 @@
odzyskiwanie
Nie można odzyskać tego pobrania
Wybierz instancję
- Włącz miniaturę wideo na ekranie blokady
- Podczas korzystania z odtwarzacza w tle na ekranie blokady zostanie wyświetlona miniatura filmu
+ Zablokuj miniaturę wideo na ekranie
+ Podczas korzystania z odtwarzacza w tle na ekranie blokady wyświetlana jest miniatura filmu
Wyczyść historię pobierania
Usuń pobrane pliki
Usunięte %1$s pobrania
@@ -549,4 +549,5 @@
Domyślny systemu
Po rozwiązaniu naciśnij „Gotowe”
Gotowe
+ Na żywo
\ No newline at end of file
From da43f47487b1c19b65bca0f5b9202e21269f4c8b Mon Sep 17 00:00:00 2001
From: zmni
Date: Fri, 21 Feb 2020 12:08:21 +0000
Subject: [PATCH 190/199] Translated using Weblate (Indonesian)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-in/strings.xml | 57 ++++++++++++++------------
1 file changed, 30 insertions(+), 27 deletions(-)
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 7c3cce473..0f7980dc0 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -1,6 +1,6 @@
- Ketuk pencarian untuk memulai
+ Ketuk \"Cari\" untuk memulai
%1$s ditonton
Dipublikasikan tanggal %1$s
Pasang
@@ -24,7 +24,7 @@
Putar video ketika NewPipe dijalankan dari aplikasi lain
Resolusi
Putar dengan Kodi
- Apl Kore tidak ditemukan. Pasang Kore\?
+ Pasang apl Kore\?
Tampilkan opsi \"Putar dengan Kodi\"
Tampilkan opsi untuk memutar video via Kodi
Audio
@@ -43,12 +43,12 @@
Putar
Konten
Konten yang dibatasi usia
- Tampilkan video yang dibatasi usia. Membuka akses konten tersebut bisa dilakukan dari Pengaturan.
+ Tampilkan video yang dibatasi usia. Bisa diubah nanti dari pengaturan.
Galat jaringan
Tidak bisa memuat semua thumbnail
Maksud anda: %1$s\?
rotasi
- LANGSUNG
+ Langsung
Unduhan
Unduhan
Laporan galat
@@ -60,9 +60,9 @@
Siaran langsung belum didukung
Tidak bisa memuat gambar
Maaf, hal tersebut seharusnya tidak terjadi.
- Lapor galat via surel
+ Laporkan kesalahan via surel
Maaf, telah terjadi galat.
- LAPOR
+ Lapor
Info:
Yang terjadi:
Komentar anda (dalam bahasa Inggris):
@@ -74,13 +74,13 @@
Tidak suka
Gunakan Tor
(Eksperimental) Paksa trafik unduhan melalui Tor untuk meningkatkan privasi (video stream belum didukung).
- Laporkan Galat
+ Laporkan kesalahan
Tidak bisa membuat direktori unduhan \'%1$s\'
Direktori unduhan dibuat \'%1$s\'
Video
Audio
Ulangi
- Izin akses penyimpanan ditolak
+ Izinkan akses penyimpanan terlebih dahulu
Hapus
Putar
Mulai
@@ -98,7 +98,7 @@
Mohon tunggu…
Disalin ke papan klip
Silakan pilih folder unduhan di pengaturan
- Pemutar stream tidak ditemukan. Apakah anda ingin memasang VLC\?
+ Pemutar stream tidak ditemukan. Pasang VLC\?
Tidak bisa dekripsi tanda tangan URL video
App/UI rusak
Tidak bisa mendapatkan stream apapun
@@ -119,19 +119,19 @@
Buka di mode popup
Izin ini dibutuhkan untuk
\nmembuka di mode popup
- Mode popup NewPipe
+ Mode popup
Memutar dalam mode popup
Dinonaktifkan
Format video
Resolusi popup
Tampilkan resolusi yang lebih tinggi
- Hanya perangkat tertentu yang mendukung pemutaran video 2K/4K
+ Hanya perangkat tertentu yang bisa memutar video 2K/4K
Latar Belakang
Popup
Segarkan
Bersihkan
Filter
- Menghapus audio pada BEBERAPA resolusi
+ Menghapus audio pada beberapa resolusi
Ingat ukuran dan posisi popup
Ingat ukuran dan posisi terakhir popup
Popup
@@ -166,8 +166,8 @@
Subscribe
Disubscribe
Apa Yang Baru
- Lanjutkan saat fokus
- Lanjutkan pemutaran setelah interupsi (mis. panggilan telepon)
+ Lanjutkan pemutaran
+ Melanjutkan pemutaran setelah interupsi (mis. panggilan telepon)
Utama
Riwayat pencarian
Simpan pencarian secara lokal
@@ -183,10 +183,10 @@
Hapus tembolok metadata
Buang semua data tembolok laman web
Cache metadata dihapus
- Otomatis tambahkan stream terkait ketika memutar stream terakhir dalam antrean tanpa perulangan
+ Melanjutkan akhir dari antrean pemutaran (tak berulang) dengan menambahkan stream terkait
Simpan daftar video yang telah ditonton
Tampilkan tip \"Tahan untuk menambahkan\"
- Tampilkan tip ketika tombol latar belakang atau popup disentuh pada halaman detail video
+ Tampilkan tip ketika menekan tombol latar belakang atau popup di dalam \"Detail:\" video
Negara konten
Layanan
Pemutar
@@ -309,7 +309,7 @@
Isi
Perbesar
Otomatis dibuat
- Aktifkan LeakCanary
+ LeakCanary
Bawaan
Pemutar stream tidak ditemukan (anda bisa memasang VLC untuk memutarnya).
Unduh berkas stream
@@ -410,10 +410,10 @@
Notifikasi untuk versi NewPipe baru
Penyimpanan eksternal tidak tersedia
Tidak bisa mengunduh ke kartu SD eksternal. Atur ulang lokasi folder unduhan\?
- Menggunakan tab baku, ralat saat membaca tab yang disimpan
+ Tidak bisa membaca tab yang disimpan, beralih menggunakan tab bawaan
Kembali ke awal
- Apakah anda ingin kembali ke awal\?
- Jumlah pelanggan tidak tersedia
+ Apakah anda ingin mengembalikan ke bawaan\?
+ Jumlah subscriber tidak tersedia
Tab apa yang ditampilkan di halaman utama
Pilihan
Konferensi
@@ -445,7 +445,7 @@
File tidak dapat dibuat
Folder tujuan tidak dapat dibuat
Izin ditolak oleh sistem
- Koneksi aman gagal
+ Tidak bisa membuat koneksi yang aman
Tidak dapat menemukan server
Tidak dapat terhubung ke server
Server tidak mengirim data
@@ -459,7 +459,7 @@
Berhenti pada jaringan terbatas
Berguna saat beralih ke data seluler, walaupun beberapa unduhan tidak bisa ditangguhkan
Tampilkan komentar
- Nonaktifkan untuk berhenti menampilkan komentar
+ Nonaktifkan untuk menyembunyikan komentar
Otomatis putar
- Komentar
@@ -491,14 +491,14 @@
\nPilih SAF jika anda ingin mengunduh ke kartu SD eksternal
Batas waktu koneksi
Gunakan SAF
- Storage Access Framework memungkinkan mengunduh ke kartu SD eksternal.
+ \'Storage Access Framework\' memungkinkan untuk mengunduh ke kartu SD eksternal.
\nCatatan: beberapa perangkat tidak kompatibel
Hapus posisi pemutaran
Hapus semua posisi pemutaran
Hapus semua posisi pemutaran\?
Ubah folder unduhan
- - %s video
+ - Video
Aktif/Nonaktifkan layanan, saat ini aktif:
Tidak ada yang menonton
@@ -512,7 +512,7 @@
Bahasa akan diterapkan setelah aplikasi dimulai ulang.
Situs PeerTube
Pilih situs PeerTube favorit anda
- Temukan situs yang sesuai dengan anda di %s
+ Temukan situs yang anda suka di %s
Tambah situs
Masukkan URL situs
Tidak bisa memvalidasi situs
@@ -525,8 +525,8 @@
memulihkan
Tidak bisa memulihkan unduhan ini
Pilih situs
- Aktifkan kunci layar thumbnail video
- Ketika menggunakan pemutar latar belakang, thumbnail video akan ditampilkan di tampilan kunci layar
+ Thumbnail video layar kunci
+ Ketika menggunakan pemutar latar belakang, thumbnail video akan ditampilkan pada layar kunci
Kiosk Default
Hapus riwayat unduhan
Hapus berkas yang diunduh
@@ -535,4 +535,7 @@
Bahasa apl
Default sistem
Selesai
+ Langsung
+ Durasi maju/mundur cepat
+ Tekan \"Selesai\" saat selesai
\ No newline at end of file
From 95a6aaac7617bd956ffd3a0ee5e99394200e937c Mon Sep 17 00:00:00 2001
From: MohammedSR Vevo
Date: Fri, 21 Feb 2020 10:58:22 +0000
Subject: [PATCH 191/199] Translated using Weblate (Kurdish)
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-ku/strings.xml | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml
index 20ce04100..75c8d9d02 100644
--- a/app/src/main/res/values-ku/strings.xml
+++ b/app/src/main/res/values-ku/strings.xml
@@ -1,6 +1,6 @@
- گرته له گهڕان بكه بۆ دهستپێكردن
+ گرته له ”گهڕان” بكه بۆ دهستپێكردن
%1$s بینراو
بڵاوكراوهتهوه له %1$s
هیچ كارپێكهرێكی ڤیدیۆیی نهدۆزرایهوه. دهتهوێت VLC دابمەزرێنیت؟
@@ -38,10 +38,10 @@
زیادکردن بۆ
فۆڵدەری داگرتنی ڤیدیۆ
ڤیدیۆ داگیراوەکان لێرەدا هەڵدەگیرێن
- فۆڵدەری داگرتن بۆ ڤیدیۆکان هەڵبژێرە
+ پەڕگەی داگرتن بۆ ڤیدیۆکان هەڵبژێرە
فۆڵدەری داگرتنی دهنگ
دەنگە داگیراوەکان لێرەدا هەڵدەگیرێن
- فۆڵدەری داگرتنی دەنگەکان هەڵبژێرە
+ پەڕگەی داگرتنی دەنگەکان هەڵبژێرە
كاركردنی خۆكارانه
قهبارهی بنەڕەتی
قهبارهی بنەڕەتی پهنجهرهی بچووک
@@ -546,4 +546,5 @@
بنەڕەتی سیستەم
گرتە بکە لەسەر ”تەواو” کاتێ کە چارەسەرکرا
تەواو
+ ڕاستەوخۆ
\ No newline at end of file
From 40207b515d88126e42af2cccd2f52f6f43a75338 Mon Sep 17 00:00:00 2001
From: Jeff Huang
Date: Thu, 20 Feb 2020 08:59:23 +0000
Subject: [PATCH 192/199] Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (532 of 532 strings)
---
app/src/main/res/values-zh-rTW/strings.xml | 39 +++++++++++-----------
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 395a555e7..5fa590a52 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -2,7 +2,7 @@
點播 %1$s 次
%1$s 發布
- 找不到串流播放器,您要安裝 VLC 嗎?
+ 找不到串流播放器。安裝 VLC 嗎?
安裝
取消
以瀏覽器開啟
@@ -23,7 +23,7 @@
用 Kodi 播放
顯示用 Kodi 媒體中心播放影片的選項
聲音
- 找不到 Kore,您要安裝 Kore 嗎?
+ 安裝遺失的 Kore 應用程式嗎?
顯示「用 Kodi 播放」的選項
預設音訊格式
主題
@@ -52,16 +52,16 @@
選擇音訊檔的下載資料夾
無法建立下載目錄「%1$s」
已建立下載目錄「%1$s」
- 輕觸搜尋按鈕開始使用 NewPipe
+ 輕觸「搜尋」按鈕開始使用
以懸浮視窗開啟
移除某些解析度的音訊
- NewPipe 懸浮視窗模式
+ 懸浮視窗模式
背景播放
自動播放
當 NewPipe 被其他應用程式呼叫時播放影片
懸浮視窗預設解析度
顯示更高的解析度
- 只有部分裝置能播 2K 及 4K 影片
+ 僅部份裝置可播放 2K/4K 影片
預設影片格式
純黑
記住懸浮視窗大小和位置
@@ -74,7 +74,7 @@
以懸浮視窗播放中
內容
年齡限制內容
- 顯示有年齡限制的影片。可於設定中選擇允許此種內容。
+ 顯示有年齡限制的影片。未來仍可從設定中變更。
下載
下載
錯誤回報
@@ -100,7 +100,7 @@
無法載入圖片
應用程式或界面已停止運作
抱歉,這是不該發生的。
- 使用電子郵件回報錯誤
+ 使用電子郵件回報此錯誤
抱歉,發生了一些問題。
回報
資訊:
@@ -113,7 +113,7 @@
影片
音訊
重試
- 無法存取儲存空間
+ 先授予儲存空間權限
k
百萬
B
@@ -153,7 +153,7 @@
在本機儲存搜尋紀錄
檢視歷史
記錄觀看過的影片
- 取得視窗焦點時繼續播放
+ 恢復播放
在干擾結束後繼續播放(例如有來電)
播放器
行為
@@ -221,7 +221,7 @@
無法播放此串流
發生無法復原的播放器錯誤
正在從播放器錯誤中復原
- 在影片詳細資訊頁按下背景播放或懸浮視窗按鈕時顯示提示
+ 按下影片「詳細資訊:」中的背景或懸浮式視窗按鈕時顯示提示
外部播放器不支援此類型連結
無效的 URL
找不到影片串流
@@ -263,7 +263,7 @@
在背景開始播放
在新彈出式視窗中開始播放
長按以新增至佇列
- NewPipe 由志願者所開發,他們耗費時間務求為您帶來最佳體驗。現在是時候回過頭來,讓我們的開發人員能夠在使 NewPipe 更臻完美的同時,享受一杯咖啡。
+ NewPipe 由志願者所開發,他們花費他們的空閒時間務求為您帶來最佳的使用體驗。現在是時候回過頭來,讓我們的開發人員能夠在使 NewPipe 更臻完美的同時,享受一杯咖啡。
打開抽屜
關閉抽屜
影片播放器
@@ -306,14 +306,14 @@
某些東西即將在此出現 ;D
除錯
自動產生
- 啟用 LeakCanary
+ LeakCanary
記憶體洩漏監測,在 heap dumping 時可能導致應用程式無法回應
報告週期不足錯誤
強制報告在處理完片段或活動週期外發生的無法傳遞的 Rx 異常
使用粗略但快速的尋找
粗略的尋找能讓播放器以降低的精確度更快找到影片的進度位置
自動將下一部影片新增至佇列
- 在非重複播放佇列中最後一個串流開始播放時,自動新增相關串流
+ 透過加入相關的串流來繼續結束的(未重複)播放佇列
檔案
無效的資料夾
無效的檔案/內容來源
@@ -408,7 +408,7 @@
新 NewPipe 版本通知
外部儲存不可用
無法下載到外部 SD 卡。重設下載資料夾位置?
- 使用預設分頁,讀取已儲存的分頁時發生錯誤
+ 無法讀取已儲存的分頁,因此使用預設分頁
恢復預設值
您想要恢復預設值嗎?
訂閱數不可用
@@ -442,7 +442,7 @@
無法建立檔案
無法建立目的地資料夾
被系統拒絕的權限
- 安全連線失敗
+ 無法建立安全連線
找不到伺服器
無法連線到伺服器
伺服器沒有傳送資料
@@ -459,7 +459,7 @@
會議
連接超時
顯示留言
- 停用以停止顯示留言
+ 關閉以隱藏留言
自動播放
- 留言
@@ -499,7 +499,7 @@
切換服務,目前已選取:
- %s 影片
-
+
預設 Kiosk
沒有人在看
@@ -516,7 +516,7 @@
快轉/快退搜尋持續時間
PeerTube 站臺
選取您最愛的 PeerTube 站臺
- 在 %s 上找到最適合您的站臺
+ 在 %s 上找到您喜愛的站臺
新增站臺
輸入站臺 URL
無法驗證站臺
@@ -529,7 +529,7 @@
正在恢復
無法復原此下載
選擇一個站臺
- 啟用鎖定畫面影片縮圖
+ 鎖定畫面影片縮圖
使用背景播放器時,鎖定畫面上將會顯示影片縮圖
清除下載歷史紀錄
刪除已下載的檔案
@@ -539,4 +539,5 @@
系統預設值
解決後請按「完成」
完成
+ 直播
\ No newline at end of file
From 30e5e581780430a3fd29db960197d504296a9304 Mon Sep 17 00:00:00 2001
From: chr56
Date: Thu, 20 Feb 2020 12:12:43 +0000
Subject: [PATCH 193/199] Translated using Weblate (Chinese (Simplified))
Currently translated at 93.0% (495 of 532 strings)
---
app/src/main/res/values-b+zh+HANS+CN/strings.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml
index d4119e83c..c5ff40750 100644
--- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml
+++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml
@@ -536,4 +536,5 @@
清除下载历史记录
删除下载了的文件
已删除 %1$s 下载
+ 授予在其他应用上层显示的权限
\ No newline at end of file
From 6e5851aea89fc29efca8de59d549c7984c6f70bd Mon Sep 17 00:00:00 2001
From: Brikkho
Date: Fri, 21 Feb 2020 09:35:26 +0000
Subject: [PATCH 194/199] Translated using Weblate (Bengali (Bangladesh))
Currently translated at 28.5% (152 of 532 strings)
---
app/src/main/res/values-bn-rBD/strings.xml | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml
index 37938334c..ce7121095 100644
--- a/app/src/main/res/values-bn-rBD/strings.xml
+++ b/app/src/main/res/values-bn-rBD/strings.xml
@@ -1,9 +1,9 @@
- শুরু করতে অনুসন্ধান এ আলতো চাপ
+ অনুসন্ধান এ চাপ দিয়ে শুরু করুন
"%1$s জন দেখছে"
প্রকাশকাল %1$s
- কোন স্ট্রিম প্লেয়ার পাওয়া যায়নি। তুমি কি VLC ইনস্টল করতে চাও?
+ কোন স্ট্রিম প্লেয়ার পাওয়া যায়নি। VLC ইনস্টল করতে চাও\?
ইনস্টল
বাদ দিন
@@ -16,13 +16,13 @@
আপনি কি বুঝিয়েছেনঃ %1$s ?
শেয়ার করুন
ব্রাউজার বাছাই করুন
- রোটেশন
+ ঘূর্ণন
বাইরের ভিডিও প্লেয়ার ব্যবহার করুন
বহির্গত অডিও প্লেয়ার ব্যবহার করুন
- NewPipe পপআপ মোড
+ পপআপ মোড
ব্যাকগ্রাউন্ড
পপআপ
- ভিডিও ডাউনলোড করার পাথ
+ ভিডিও ডাউনলোড করার ফোল্ডার
ডাউনলোড করা ভিডিওগুলো রাখার ফোল্ডার
ভিডিওগুলির জন্য ডাউনলোডের পাথ প্রবেশ করাও
অডিও ডাউনলোড পাথ
@@ -171,7 +171,7 @@
ওয়েব সাইট খুলুন
ওয়েব সাইট
কোন স্ট্রিম প্লেয়ার পাওয়া যায়নি (প্লে করতে VLC ইন্সটল করতে পারেন)
- কিছু রেজোলিউশনে ভিডিওর অডিও কাজ করে না
+ কিছু কিছু রেজোলিউশনে অডিও বন্ধ করে দেয়
সাবস্ক্রাইব
সাবস্ক্রাইব করা আছে
চ্যানেল থেকে আনসাবস্ক্রাইব্ড
@@ -183,4 +183,5 @@
দ্রুত টানা ব্যাবহার করুন
আনসাবস্ক্রাইব
নতুন ট্যাব
+ ট্যাব পছন্দ করুন
\ No newline at end of file
From e539753279fbdb584bf51f62582c64b1cc7a6492 Mon Sep 17 00:00:00 2001
From: TobiGr
Date: Fri, 21 Feb 2020 21:59:36 +0100
Subject: [PATCH 195/199] Clean translations
---
app/src/main/res/values-bn-rBD/strings.xml | 8 --------
app/src/main/res/values-ku/strings.xml | 1 -
2 files changed, 9 deletions(-)
diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml
index ce7121095..60b87caa9 100644
--- a/app/src/main/res/values-bn-rBD/strings.xml
+++ b/app/src/main/res/values-bn-rBD/strings.xml
@@ -6,7 +6,6 @@
কোন স্ট্রিম প্লেয়ার পাওয়া যায়নি। VLC ইনস্টল করতে চাও\?
ইনস্টল
বাদ দিন
-
ব্রাউজারে ওপেন করো
পপ-আপ মোডে ওপেন করো
শেয়ার
@@ -36,7 +35,6 @@
শুধুমাত্র কিছু ডিভাইস 2k / 4k ভিডিও চালানোয় সমর্থন
Kodi এর মাধ্যমে চালাও
Kore অ্যাপ্লিকেশন খুঁজে পাওয়া যায়নি। Kore ইনস্টল করবে?
-
দেখাও \"Kodi এর মাধ্যমে চালাও \" বিকল্প
Kodi মিডিয়া সেন্টারে এর মাধ্যমে ভিডিও প্লে করার জন্য একটি বিকল্প প্রদর্শন কর
অডিও
@@ -57,10 +55,8 @@
পপআপ
অ্যাপিয়ারেন্স
অন্যান্য
-
ব্যাকগ্রাউন্ডে চলছে
পপআপ মোডে চলছে
-
চালাও
কন্টেন্ট
বয়স সীমাবদ্ধ কন্টেন্ট দেখাও
@@ -93,7 +89,6 @@
অ্যাপ / UI ক্র্যাশ করেছে
দুঃখিত, এটা ঘটা উচিত ছিল না।
-
মেইলের মাধ্যমে ত্রুটি প্রতিবেদন করো
দুঃখিত, কিছু ত্রুটি ঘটেছে।
প্রতিবেদন
@@ -142,9 +137,6 @@
ক্লিপবোর্ডে অনুলিপি করা হয়েছে।
অনুগ্রহ করে একটি উপলব্ধ ডাউনলোড ডিরেক্টরি নির্বাচন করো।
এই অনুমতিটি পপআপ মোডে খুলতে প্রয়োজন
-
-
-
রিক্যাপচা
reCAPTCHA চ্যালেঞ্জ
reCAPTCHA চ্যালেঞ্জ অনুরোধ করা হয়েছে
diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml
index 75c8d9d02..b3429d6a2 100644
--- a/app/src/main/res/values-ku/strings.xml
+++ b/app/src/main/res/values-ku/strings.xml
@@ -215,7 +215,6 @@
تکایە فۆڵدەرێک بۆ شوێنی داگرتن دیاریبکە لە ڕێکخستنەکان
ئەم دەسەڵاتە پێویستە بۆ
\nکردنەوەی پەنجەرەی بچووک
- reCAPTCHA
reCAPTCHA داواکاری
reCAPTCHA داواکراوە
داگرتن
From 9445e8e8a0faabc24a25d85fc85772925d63a376 Mon Sep 17 00:00:00 2001
From: TobiGr
Date: Sat, 22 Feb 2020 00:37:34 +0100
Subject: [PATCH 196/199] Remove 'duration_live_button' string from
translations
---
app/src/main/res/values-cs/strings.xml | 1 -
app/src/main/res/values-he/strings.xml | 1 -
app/src/main/res/values-in/strings.xml | 1 -
app/src/main/res/values-ku/strings.xml | 1 -
app/src/main/res/values-pl/strings.xml | 1 -
app/src/main/res/values-tr/strings.xml | 1 -
app/src/main/res/values-zh-rTW/strings.xml | 1 -
7 files changed, 7 deletions(-)
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 01bcfede7..104ba6695 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -552,5 +552,4 @@ otevření ve vyskakovacím okně
Jazyk systému
Po vyřešení stiskni \"Hotovo\"
Hotovo
- Live
\ No newline at end of file
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index 59e4ce6be..e0567359b 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -555,5 +555,4 @@
בררת המחדל של המערכת
יש ללחוץ על „סיום” לאחר הפתירה
סיום
- חי
\ No newline at end of file
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 0f7980dc0..59678be19 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -535,7 +535,6 @@
Bahasa apl
Default sistem
Selesai
- Langsung
Durasi maju/mundur cepat
Tekan \"Selesai\" saat selesai
\ No newline at end of file
diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml
index b3429d6a2..5c4506365 100644
--- a/app/src/main/res/values-ku/strings.xml
+++ b/app/src/main/res/values-ku/strings.xml
@@ -545,5 +545,4 @@
بنەڕەتی سیستەم
گرتە بکە لەسەر ”تەواو” کاتێ کە چارەسەرکرا
تەواو
- ڕاستەوخۆ
\ No newline at end of file
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index fe650d099..93bb2cd5c 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -549,5 +549,4 @@
Domyślny systemu
Po rozwiązaniu naciśnij „Gotowe”
Gotowe
- Na żywo
\ No newline at end of file
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 557e59236..6d416c901 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -543,5 +543,4 @@
Sistem öntanımlısı
Çözüldüğünde \"Bitti\" butonuna basın
Bitti
- Canlı
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 5fa590a52..a8cb87458 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -539,5 +539,4 @@
系統預設值
解決後請按「完成」
完成
- 直播
\ No newline at end of file
From 476b3f804b6a0dbb565f01ffc565975b6878965b Mon Sep 17 00:00:00 2001
From: TobiGr
Date: Fri, 21 Feb 2020 22:19:20 +0100
Subject: [PATCH 197/199] Add changelog
---
.../metadata/android/en-US/changelogs/840.txt | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 fastlane/metadata/android/en-US/changelogs/840.txt
diff --git a/fastlane/metadata/android/en-US/changelogs/840.txt b/fastlane/metadata/android/en-US/changelogs/840.txt
new file mode 100644
index 000000000..c79321b45
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/840.txt
@@ -0,0 +1,22 @@
+New
+• Added language selector to change the app language
+• Added send to Kodi button to player collapsible menu
+• Added ability to copy comments on long press
+
+Improved
+• Fix ReCaptcha activity and correctly save obtained cookies
+• Removed dot-menu in favour of drawer and hide history button when watch history is not enabled in settings
+• Ask for display over other apps permission in settings correctly on Android 6 and later
+• Rename local playlist by long-clicking in BookmarkFragment
+• Various PeerTube improvements
+• Improved several English source strings
+
+Fixed
+• Fixed player starting again although it is paused when option "minimize on app switch" enabled and NewPipe is minimized
+• Fix initial brightness value for gesture
+• Fixed .srt subtitle downloads containing not all line breaks
+• Fixed download to SD card failing because some Android 5 devices are not CTF compliant
+• Fixed downloading on Android KitKat
+• Fixed corrupt video .mp4 file being recognized as audio file
+• Fixed multiple localization problems, including wrong Chinese language codes
+• [YouTube] Timestamps in description are clickable again
\ No newline at end of file
From e84d5311f9730ecbcb0dcf39b863b6787396b236 Mon Sep 17 00:00:00 2001
From: TobiGr
Date: Fri, 21 Feb 2020 22:30:59 +0100
Subject: [PATCH 198/199] Update extractor version to latest release
---
app/build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/build.gradle b/app/build.gradle
index 77b27f50a..dd5dbb865 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -63,7 +63,7 @@ dependencies {
exclude module: 'support-annotations'
})
- implementation 'com.github.TeamNewPipe:NewPipeExtractor:fc9f031'
+ implementation 'com.github.TeamNewPipe:NewPipeExtractor:v0.18.4'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.23.0'
From 533aede80f8f89da84ba0ec99e6dead73626ea92 Mon Sep 17 00:00:00 2001
From: TobiGr
Date: Fri, 21 Feb 2020 22:19:23 +0100
Subject: [PATCH 199/199] Update bump version to 0.18.4 (840)
---
app/build.gradle | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index dd5dbb865..c2bceab9e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,8 +11,8 @@ android {
applicationId "org.schabi.newpipe"
minSdkVersion 19
targetSdkVersion 28
- versionCode 830
- versionName "0.18.3"
+ versionCode 840
+ versionName "0.18.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true