diff --git a/src/i18n/i18n.js b/src/i18n/i18n.js index 992af95..c46c2a8 100644 --- a/src/i18n/i18n.js +++ b/src/i18n/i18n.js @@ -8,10 +8,12 @@ import { mockSettings } from '../shared/mockSettings'; // or even better, manage them separated from your code: https://react.i18next.com/guides/multiple-translation-files) const de = require('./locales/de.json'); const en = require('./locales/en.json'); +const zhcn = require('./locales/zhcn.json'); const resources = { en: { translation: en }, de: { translation: de }, + zhcn: { translation: zhcn }, }; i18n @@ -39,4 +41,8 @@ export const Languages = [ label: 'Deutsch', value: 'de', }, + { + label: '简体中文', + value: 'zhcn', + }, ]; diff --git a/src/i18n/i18next-parser.config.js b/src/i18n/i18next-parser.config.js index b45a9af..7845f76 100644 --- a/src/i18n/i18next-parser.config.js +++ b/src/i18n/i18next-parser.config.js @@ -44,7 +44,7 @@ module.exports = { lineEnding: 'auto', // Control the line ending. See options at https://github.com/ryanve/eol - locales: ['en', 'de'], + locales: ['en', 'de', 'zhcn'], // An array of the locales in your applications namespaceSeparator: false, diff --git a/src/i18n/locales/zhcn.json b/src/i18n/locales/zhcn.json new file mode 100644 index 0000000..9a9dc92 --- /dev/null +++ b/src/i18n/locales/zhcn.json @@ -0,0 +1,341 @@ +{ + " • Modified {{val, datetime}}": " • 修改了 {{val, datetime}}", + " albums": " 专辑", + "- Folder not found": "- 目录未找到", + "(Paused)": "(暂停)", + "[{{albumTitle}}] No parent album found": "[{{albumTitle}}] 在父目录中未找到", + "* Drag & drop rows from the # column to re-order": "* 在 # 列上拖放以重新排序", + "*You will need to manually move any existing cached files to their new location.": "*你需要手动将所有现有的缓存文件移动到新位置。", + "# (Drag/Drop)": "# (拖放)", + "A-Z (Album Artist)": "A-Z (专辑歌手)", + "A-Z (Album)": "A-Z (专辑)", + "A-Z (Artist)": "A-Z (歌手)", + "A-Z (Name)": "A-Z (名称)", + "Add": "添加", + "Add (later)": "添加 (上一个)", + "Add (next)": "添加 (下一个)", + "Add playlist": "添加播放列表", + "Add shuffled to queue": "添加拖放文件到队列", + "Add to favorites": "添加至收藏", + "Add to playlist": "添加至播放列表", + "Add to queue (later)": "添加到队列 (上一个)", + "Add to queue (next)": "添加到队列 (下一个)", + "Added {{n}} songs": "添加了{{n}}首歌曲", + "Added {{n}} songs [{{i}} filtered]": "添加了{{n}}首歌曲 [{{i}}首被过滤]", + "Added {{songCount}} item(s) to playlist {{playlist}}": "添加{{songCount}}个项目至播放列表 {{playlist}}", + "Added {{val, datetime}}": "添加了 {{val, datetime}}", + "Advanced": "高级", + "Album": "专辑", + "ALBUM": "专辑", + "Album Count": "专辑数量", + "Album images": "专辑图片", + "Albums": "专辑", + "Allow Transcoding": "允许转码", + "An unknown error occurred": "出现未知错误", + "Appears On ": "出现在 ", + "Are you sure you want to delete {{n}} playlist(s)?": "你确定要删除{{n}}个播放列表吗?", + "Are you sure you want to delete this playlist?": "你确定要删除此播放列表吗?", + "Are you sure you want to reset your settings to default?": "你确定要将设置重置为默认值吗?", + "Art": "艺术", + "Artist": "歌手", + "Artist images": "歌手照片", + "Artists": "歌手", + "ASC": "升高", + "Audio Device": "音频设备", + "Auto playlist": "智能播放列表", + "Auto scroll": "自动滚动", + "Automatic Updates": "自动更新", + "Bitrate": "比特率", + "by": "由", + "By {{dataOwner}} • ": "由{{dataOwner}} • ", + "Cache": "缓存", + "Card Size": "卡片尺寸", + "Center": "居中", + "Clear cache": "清除缓存", + "Clear queue": "清空队列", + "Cleared {{type}} image cache": "已清除 {{type}} 图片缓存", + "Cleared song cache": "已清除歌曲缓存", + "Clickable": "可点击", + "Client/Application Id": "客户端/软件 ID", + "Collapse": "收回", + "Column": "列", + "Config": "配置", + "Config for integration with external programs.": "配置为与外部程序集成。", + "Confirm": "确认", + "Connect": "连接", + "Constant Power": "恒定力度", + "Constant Power (fast cut)": "恒定力度 (快切)", + "Constant Power (slow cut)": "恒定力度 (慢切)", + "Constant Power (slow fade)": "恒定力度 (缓慢衰减)", + "Copy to clipboard": "复制到剪贴板", + "CoverArt": "封面", + "Create": "创建", + "Create new playlist": "创建新的播放列表", + "Created": "已创建", + "Created {{val, datetime}}": "创建了 {{val, datetime}}", + "Crossfade Duration (s)": "淡入淡出持续时间 (秒)", + "Crossfade Type": "淡入淡出类型", + "Current version:": "当前版本:", + "Dashboard": "控制台", + "Default": "默认", + "Default Album Sort": "默认专辑排序", + "Default Song Sort": "默认歌曲排序", + "Delete": "删除", + "Delete playlist(s)": "删除播放列表", + "Deleted {{n}} playlists": "删除了{{n}}个播放列表", + "DESC": "降低", + "Description": "描述", + "Deselect All": "取消全选", + "Dipped": "沉浸", + "Disconnect": "断开连接", + "Discord Client Id": "Discord客户端 ID", + "Displays the debug window.": "显示调试窗口。", + "Do you want to restart the application now?": "你想要现在重启软件吗?", + "Don't know where to start? Apply a preset and tweak from there.": "不知道从哪里开始?应用预设并从那里进行调整。", + "Download": "下载", + "Download ({{downloadSize}})": "下载 ({{downloadSize}})", + "Download links copied!": "下载链接已复制!", + "Duration": "持续时间", + "Dynamic Background": "动态背景", + "Edit": "编辑", + "Edit cache location": "编辑缓存位置", + "Enable or disable global media hotkeys (play/pause, next, previous, stop, etc). For macOS, you will need to add Sonixd as a <2>trusted accessibility client.": "启用或禁用全局媒体热键 (播放/暂停、下一个、上一个、停止等)。对于macOS,您需要将Sonixd添加为<2>受信任的客户端。", + "Enable or disable the volume fade used by the crossfading players. If disabled, the fading in track will start at full volume.": "为音量渐变启用或禁用淡入淡出。如果禁用,淡入轨道将以最大音量开始", + "Enable or disable the Windows System Media Transport Controls (play/pause, next, previous, stop). This will show the Windows Media Popup (Windows 10 only) when pressing a media key. This feauture will override the Global Media Hotkeys option.": "启用或禁用 Windows 系统媒体传输控件 (播放/暂停、下一个、上一个、停止)。这将在按下媒体键时显示 Windows Media 弹出窗口 (仅限 Windows 10)。此功能将覆盖全局媒体热键选项。 ", + "Enabled": "启用", + "Enables or disables automatic updates. When a new version is detected, it will automatically be downloaded and installed.": "启用或禁用自动更新。当检测到新版本时,程序将自动下载并安装。", + "Enter name...": "输入名称...", + "Enter password": "输入密码", + "Enter regex string": "输入正则表达式字符串", + "Enter username": "输入用户名", + "Equal Power": "平衡力度", + "Error adding to playlist": "添加到播放列表时出错", + "Error fetching audio devices": "获取音频设备时出错", + "Error saving playlist": "保存播放列表时出错", + "Error: {{error}}": "错误: {{error}}", + "Errored while saving playlist": "保存播放列表时出错", + "Exit to Tray": "退出到托盘", + "Exits to the system tray.": "退出到系统托盘", + "Expand": "扩展", + "External": "外部", + "Fade": "渐变", + "Fav": "收藏", + "Favorite": "收藏", + "Favorites": "收藏", + "File Path": "文件路径", + "Filter": "过滤器", + "Filter out tracks based on regex string(s) by their title when adding to the queue. Adding by double-clicking a track will ignore all filters for that one track.": "添加到队列时,根据正则表达式字符串按标题过滤掉曲目。通过双击曲目添加忽略该轨道的所有过滤器。", + "Folder images": "目录图片", + "Folders": "目录", + "Font": "字体", + "Font Size {{type}}": "字号 {{type}}", + "From": "来自", + "From year": "来自年份", + "Gap Size": "间隔尺寸", + "Gapless": "无间隔", + "Genre": "流派", + "Genres": "流派", + "Global Media Hotkeys": "全局媒体热键", + "Go": "转到", + "Go to playlist": "转到播放列表", + "Go up": "上一级", + "Grid Alignment": "网格对齐", + "Grid View": "网格视图", + "Highlight On Hover": "悬停突出显示", + "Highlights the list view row when hovering it with the mouse.": "鼠标悬停时突出显示列表视图所在行。", + "How many tracks? (1-500)*": "有多少曲目? (1-500)*", + "If local, scrobbles the currently playing song to local .txt files. If web, scrobbles the currently playing song to Tuna plugin's webserver.": "如果在本地,则将当前播放的歌曲添加到本地的 .txt 文件中。如果是Web,将当前播放的歌曲添加到 Tuna 插件的网络服务器。", + "If your audio files are not playing properly or are not in a supported web streaming format, you will need to enable this (requires app restart).": "如果音频文件无法正常播放或是不支持的网络流格式,你将需要启用此功能(需要重新启动软件)。", + "Images": "图片", + "Integrates with Discord's rich presence to display the currently playing song as your status.": "与 Discord 的 Rich Presence 结合,将当前播放的歌曲显示为你的状态。", + "Items per page (Songs)": "每页数量 (曲目数)", + "Language": "语言", + "Latest Albums ": "最新专辑 ", + "Latest version:": "最新版本:", + "Left": "向左", + "Legacy auth (plaintext)": "旧版身份验证 (明文)", + "Light": "明亮", + "Linear": "线性", + "List View": "列表视图", + "Loading...": "加载中...", + "Local": "本地", + "Location:": "位置:", + "Look & Feel": "外观与风格", + "Media Folder": "媒体路径", + "Medium": "中等", + "Mini": "迷你", + "Mini-player": "迷你播放器", + "Minimize to Tray": "最小化到托盘", + "Minimizes to the system tray.": "最小化到系统托盘。", + "Miniplayer": "迷你播放器", + "Modified": "修改了", + "Most Played": "播放最多", + "Move down": "下移", + "Move selected down": "下移选项", + "Move selected to [...]": "移动选项至 [...]", + "Move selected to bottom": "移动选项至底部", + "Move selected to top": "移动选项至顶部", + "Move selected up": "上移选项", + "Move to index": "移至索引", + "Move up": "上移", + "Music folder": "音乐目录", + "Muted": "静音", + "Name": "名称", + "Native": "原生", + "Next Track": "下一首", + "No Album Playing": "没有专辑正在播放", + "No parent album found": "未找到父专辑", + "No songs found, adjust your filters": "未找到歌曲,请调整您的过滤器", + "No Track Playing": "没有曲目正在播放", + "None": "空", + "Note: These settings may not function correctly depending on your desktop environment.": "注意: 根据你的桌面环境,这些设置可能无法正常运行。", + "Now Playing": "正在播放", + "Ok": "确定", + "Opacity": "不透明度", + "Open settings JSON": "打开设置的 JSON 文件", + "Other": "其他", + "Owner": "所有者", + "Page Sonixd will display on start.": "页面 Sonixd 将在启动时显示。", + "Pagination": "分页", + "Password": "密码", + "Path": "路径", + "Path: {{newCachePath}} not found. Enter a valid path.": "路径 {{newCachePath}} 未找到. 请输入一个有效的路径。", + "Play": "播放", + "Play Artist Mix": "播放混合歌手", + "Play Compilation Albums": "播放专辑合辑", + "Play Count": "播放计数", + "Play Latest Albums": "播放最新专辑", + "Play Top Songs": "播放热门专辑", + "Play/Pause": "播放/暂停", + "Playback": "回放", + "Playback Presets": "播放预设", + "Player": "播放器", + "Playing {{n}} songs": "正在播放{{n}}首歌曲", + "Playing {{n}} songs [{{i}} filtered]": "正在播放{{n}}首歌曲 [{{i}}已过滤]", + "PLAYLIST": "播放列表", + "Playlist \"{{newPlaylistName}}\" created!": "播放列表 \"{{newPlaylistName}}\" 已创建!", + "Playlist images": "播放列表图片", + "Playlists": "播放列表", + "Plays": "播放", + "Polling Interval": "轮询间隔", + "Previous Track": "上一首", + "Private": "私有", + "Public": "公开", + "Random": "随机", + "Rate": "评分", + "Rating": "评分", + "Recently Added": "最近添加", + "Recently Played": "最近播放", + "Recover playlist": "恢复播放列表", + "Recovered playlist from backup": "从备份中恢复播放列表", + "Refresh": "刷新", + "Regular": "正常", + "Related Artists ": "相关歌手 ", + "Release Date": "发布时间", + "Remove from favorites": "从收藏中删除", + "Remove selected": "删除所选", + "Repeat": "重复", + "Repeat all": "全部重复", + "Repeat one": "单曲循环", + "Requires http(s)://": "需要带上 http(s)://", + "Reset": "重置", + "Reset defaults": "恢复默认", + "Reset to default": "恢复默认", + "Resizable": "调整大小", + "Restart?": "重启?", + "Rich Presence": "Rich Presence", + "Row Height {{type}}": "行高 {{type}}", + "Save": "保存", + "Save (WARNING: Closing the application while saving may result in data loss)": "保存(警告: 保存时关闭软件可能会导致数据丢失)", + "Saved playlist": "播放列表已保存", + "Scan": "扫描", + "Scrobble": "Scrobble", + "Scrobbling": "Scrobbling", + "Search": "搜索", + "Search: {{urlQuery}}": "搜索: {{urlQuery}}", + "Seek backward": "向后快进", + "Seek Backward": "向后快进", + "Seek forward": "向前快进", + "Seek Forward": "向前快进", + "Select": "选择", + "Select a folder": "选择目录", + "Select only one row": "只选择一行", + "Select which pages to apply media folder filtering to:": "选择需要应用媒体目录过滤的页面:", + "Send player updates to your server. This is required by servers such as Jellyfin and Navidrome to track play counts and use external services such as Last.fm.": "将播放器更新发送到你的服务器。 Jellyfin 和 Navidrome 等服务器需要这样做来跟踪播放次数并使用 Last.fm 等外部服务。", + "Server": "服务器", + "Server type": "服务器类型", + "Session expired. Logging out.": "会话已过期。 正在注销。", + "Set rating": "设置评分", + "Sets a dynamic background based on the currently playing song.": "根据当前播放的歌曲设置动态背景。", + "Sets the parent media folder your audio files are located in. Leaving this blank will use all media folders.": "设置你音频文件所在的父媒体目录。此项留空将使用所有媒体目录。", + "Show Debug Window": "显示调试窗口", + "SHOW LESS": "显示更少", + "SHOW MORE": "现在更多", + "Shuffle": "随机播放", + "Shuffle queue": "随机播放队列", + "Size": "大小", + "Song Count": "歌曲计数", + "Songs": "歌曲", + "Songs are cached only when playback for the track fully completes and ends. Skipping to the next or previous track after only partially completing the track will not begin the caching process.": "仅当整首歌曲播放完成并结束时,才会缓存歌曲。 仅播放了一部分后跳到下一个或上一个歌曲不会开始缓存进程。", + "Sort": "排序", + "Sort Type": "排序类型", + "Start page": "开始页面", + "The alignment of cards in the grid view layout.": "网格视图布局中卡片的对齐方式。", + "The application font.": "软件字体。", + "The application language.": "软件语言。", + "The application theme. Want to create your own themes? Check out the documentation <2>here.": "软件主题。 想创建自己的主题? 在<2>此处查看文档。", + "The audio device for Sonixd. Leaving this blank will use the system default.": "Sonixd 的音频设备。 此项留空将使用系统默认值。", + "The client/application Id of the Sonixd discord application. To use your own, create one on the <2>developer application portal. The large icon uses the name \"icon\". Default is 923372440934055968.": "Sonixd Discord 软件客户端/程序 ID。 要想使用你自己的, 请在<2>开发者应用门户上创建一个。 大图标使用名称 \"icon\"。 默认为923372440934055968。", + "The default album page sort selection on application startup.": "软件启动时的默认专辑页面排序选择。", + "The default song page sort selection on application startup.": "软件启动时的默认歌曲页面排序选择。", + "The fade calculation to use when crossfading between two tracks. Enable the debug window to view the differences between each fade type.": "在两个歌曲之间交叉渐变时使用的渐变计算。 启用调试窗口以查看每种淡入淡出类型之间的差异。", + "The full path to the directory where song metadata will be created.": "将要被创建的歌曲元数据目录的完整路径。", + "The full URL to the Tuna webserver.": "Tuna 网络服务器的完整 URL。", + "The gap in pixels (px) of the grid view layout.": "网格视图布局的像素 (px) 间隙。", + "The height in pixels (px) of each row in the list view.": "列表视图中每行的高度 (以像素 (px) 为单位)。", + "The number in milliseconds (ms) between each poll when metadata is sent.": "发送元数据时每次轮询之间的毫秒数 (ms)。", + "The number in milliseconds between each poll when music is playing. This is used in the calculation for crossfading and gapless playback. Recommended value for gapless playback is between 10 and 20.": "播放音乐时每次轮询之间的毫秒数。 这用于计算交叉渐变和无缝播放。 无缝播放的推荐值在 10 到 20 之间。", + "The number in seconds before starting the crossfade to the next track. Setting this to 0 will enable gapless playback.": "开始淡入淡出到下一曲目之前的秒数。 将此设置为 0 将启用无缝。", + "The number in seconds the player will skip backwards when clicking the seek backward button.": "单击向后快进按钮时播放器将向后跳过的秒数。", + "The number in seconds the player will skip forwards when clicking the seek forward button.": "单击向前快进按钮时播放器将向后跳过的秒数。", + "The number of items that will be retrieved per page. Setting this to 0 will disable pagination.": "每页显示的项目数。 将此设置为 0 将禁用分页。", + "The titlebar style (requires app restart). ": "标题栏样式 (需要重新启动应用程序)。 ", + "The width and height in pixels (px) of each grid view card.": "每个网格视图卡片的宽度和高度 (以像素 (px) 为单位)。", + "Theme": "主题", + "This is highly recommended!": "这是强烈推荐的!", + "Title": "标题", + "Title (Combined)": "标题(组合)", + "Titlebar Style": "标题栏样式", + "To": "至", + "To year": "至年", + "Toggle favorite": "切换收藏夹", + "Top Songs": "热门歌曲", + "Track": "曲目", + "Track #": "曲目 #", + "Track Count": "歌曲数", + "Track Filters": "曲目过滤器", + "Tracks": "曲目", + "Tuna Webserver Url": "Tuna 网络服务器地址", + "Unable to clear cache item: {{error}}": "无法清除缓存项: {{error}}", + "Unable to scan directory: {{err}}": "无法扫描目录: {{err}}", + "Unknown Album": "未知专辑", + "Unknown Artist": "未知歌手", + "Unknown Title": "未知标题", + "Username": "用户名", + "View All Songs": "查看全部歌曲", + "View CHANGELOG": "查看变更日志", + "View Discography": "查看唱片", + "View in folder": "在文件夹中查看", + "View in modal": "在对话框中查看", + "View on GitHub": "在 GitHub 上查看", + "Visibility": "能见度", + "Volume Fade": "音量衰减", + "WARNING: This will reload the application": "警告: 这将重新加载软件", + "Web": "Web", + "Which cache would you like to clear?": "您要清除哪个缓存?", + "Window": "窗口", + "Windows System Media Transport Controls": "Windows 系统媒体传输控制", + "Year": "年", + "Years": "年", + "Yes": "是" +}