Update localization files + references (#4556)

* Initial plan

* Add localization support to NameChangeModal component

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* Add NameChangeModal translations to English language file

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* fix(i18n): fix localization keys

* chore(test): add i18n test

* chore(i18n): update translation script

* chore(i18n): reorgnize translation keys and update components

* chore: fix linting warnings

* chore(i18n): update all the language files

* feat(i18n): add last live ago i18n key

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
This commit is contained in:
Copilot
2025-09-15 19:27:56 -07:00
committed by GitHub
co-authored by gabek copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Gabe Kangas
parent 401b5897e2
commit 1cf923a5af
46 changed files with 6053 additions and 4639 deletions
+150 -178
View File
@@ -1,179 +1,151 @@
{
"Add your Owncast instance to the Fediverse": "Add your Owncast instance to the Fediverse",
"Admin": {
"EditInstanceDetails": {
"directoryDescription": "<a href=\"https://owncast.directory\" target=\"_blank\" rel=\"noreferrer\"><strong>Owncast ディレクトリ</strong></a> に表示されることでオーディエンスを増やしましょう。これは Owncast プロジェクトが運営する外部サービスです。<a href=\"https://owncast.online/docs/directory/?source=admin\" target=\"_blank\" rel=\"noopener noreferrer\">詳細はこちら</a>。",
"offlineMessageDescription": "オフラインメッセージは、ストリーミングしていないときにページ訪問者に表示されます。Markdown はサポートされています。",
"serverUrlRequiredForDirectory": "ディレクトリを有効にするには、上記の<strong>サーバーURLを</strong>設定する必要があります。"
},
"emojiPageDescription": "<strong><em>翻訳Admin.emojiPageDescription:</em></strong> を報告してください。",
"emojiUploadBulkGuide": "<strong><em>不足している翻訳Admin.emojiUploadBulkGuide: Please report</em></strong>",
"emojis": "<strong><em>翻訳管理者が見つかりません:</em></strong> を報告してください",
"uploadNewEmoji": "<strong><em>翻訳Admin.uploadNewEmoji:</em></strong> を報告してください。"
},
"Banned Users": "Banned Users",
"Bring in moderators to help keep your chat in order": "モデレータを連れて来て、チャットを整理しましょう。",
"CPU": "CPU",
"Chat Messages": "Chat Messages",
"Chat is disabled": "Chat is disabled",
"Chat is offline": "Chat is offline",
"Chat will be available when the stream is live": "Chat will be available when the stream is live.",
"Chat will continue to be disabled until you begin a live stream": "Chat will continue to be disabled until you begin a live stream.",
"Click and never miss future streams!": "Click and never miss future streams!",
"Common": {
"poweredByOwncastVersion": "Powered by <a href='https://owncast.online'>Owncast v{{versionNumber}}</a>"
},
"Common tasks": "Common tasks",
"Connected": "Connected",
"Contribute": "Contribute",
"Current stream": "Current stream",
"Current viewers": "Current viewers",
"Disk": "Disk",
"Documentation": "Documentation",
"Embed your video onto other sites": "Embed your video onto other sites",
"Enable Owncast social features": "Enable Owncast social features",
"Error": "Error",
"FAQ": "FAQ",
"Find an audience on the Owncast Directory": "Find an audience on the Owncast Directory",
"Fix your problems": "Fix your problems",
"Frontend": {
"BrowserNotifyModal": {
"allowButton": "許可する",
"blockButton": "ブロック",
"deniedDescription": "{{hostname}}からのプッシュ通知を有効にするには、このサイトのブラウザの権限にアクセスして通知をオンにしてください。それから、このページをリロードして、サイトの設定を更新されたものに適用してください。<a href='https://owncast.online/docs/notifications'>詳細を見る。</a>",
"deniedTitle": "お使いの端末で通知がブロックされています",
"enabledDescription": "{{hostname}}からのプッシュ通知を無効にするには、このサイトのブラウザの権限にアクセスして通知をオフにしてください。<a href='https://owncast.online/docs/notifications'>詳細を見る。</a>",
"enabledTitle": "通知が有効です",
"errorTitle": "ブラウザ通知エラー",
"iosAddButton": "追加",
"iosAddToHomeScreen": "ホーム画面に追加",
"iosAllowPrompt": "許可する",
"iosComeBack": "この画面に戻って通知を有効にしてください。",
"iosDescription": "あなたのお気に入りのストリームがライブに行くときに通知されるようにするには、いくつかの余分なステップがかかります。",
"iosNameAndTap": "このリンクに名前を付けて、ホーム画面の新しいアイコンをタップしてください",
"iosShareButton": "共有",
"iosTitle": "iOS で通知を受け取る",
"learnMore": "もっと詳しく",
"mainDescription": "このストリームが配信されるたびに、ブラウザで通知を受け取ります。",
"permissionWantsTo": "{{hostname}} が望んでいます",
"showNotifications": "通知を表示",
"unsupported": "ブラウザ通知はお使いのブラウザではサポートされていません。",
"unsupportedLocal": "ブラウザー通知はローカルサーバーではサポートされていません。"
},
"chatOffline": "<strong><em>見つからない翻訳Frontend.chatOffline:</em></strong> を報告してくださいformat@@4",
"componentError": "エラー: {{message}}",
"helloWorld": "<strong><em>Frontend.helloWorldが不足しています:</em></strong> を報告してください",
"notificationMessage": "<strong><em>Frontend.notificationMessage: Please report</em></strong>",
"offlineBasic": "このストリームはオフラインです。もう一度お試しください!",
"offlineFediverseOnly": "このストリームはオフラインです。 <span class='follow-link'></span> {{fediverseAccount}} をFediverse でフォローして、次回 {{streamer}} がライブになるのを確認します。",
"offlineNotifyAndFediverse": "このストリームはオフラインです。次回のライブ配信は {{streamer}} <span class='notify-link'>に通知さ</span>れるか、Fediverse で {{fediverseAccount}} を<span class='follow-link'>フォローして</span>ください。",
"offlineNotifyOnly": "このストリームはオフラインです。 <span class='notify-link'></span> 次回 {{streamer}} がライブになるときに通知されます。"
},
"Hardware Info": "Hardware Info",
"Healthy Stream": "Healthy Stream",
"Help configuring my broadcasting software": "Help configuring my broadcasting software",
"Hidden messages": "Hidden messages",
"Hide": "Hide",
"How can we help you?": "How can we help you?",
"I found a bug": "I found a bug",
"I have a general question": "I have a general question",
"I want to build add-ons for Owncast": "I want to build add-ons for Owncast",
"I want to configure my owncast instance": "I want to configure my owncast instance",
"I want to customize my website": "I want to customize my website",
"I want to embed my stream into another site": "I want to embed my stream into another site",
"I want to tweak my video output": "I want to tweak my video output",
"I want to use an external storage provider": "I want to use an external storage provider",
"IP Bans": "IP Bans",
"If you found a bug, then please": "If you found a bug, then please",
"Inbound Audio Stream": "Inbound Audio Stream",
"Inbound Stream Details": "Inbound Stream Details",
"Inbound Video Stream": "Inbound Video Stream",
"Info": "Info",
"Input": "Input",
"Last 12 hours": "Last 12 hours",
"Last 24 hours": "Last 24 hours",
"Last 3 months": "Last 3 months",
"Last 30 days": "Last 30 days",
"Last 6 months": "Last 6 months",
"Last 7 days": "Last 7 days",
"Last live ago": "前回のライブ {{timeAgo}} 前",
"Learn how to point your existing software to your new server and start streaming your content": "Learn how to point your existing software to your new server and start streaming your content.",
"Learn how you can add your Owncast stream to other sites you control": "Learn how you can add your Owncast stream to other sites you control.",
"Learn more": "Learn more",
"Learn more about chat moderation here": "チャットモデレーションの詳細については、こちらをご覧ください。",
"Level": "Level",
"Link": "Link",
"List yourself in the Owncast Directory and show off your stream": {
" Enable it in": "List yourself in the Owncast Directory and show off your stream. Enable it in"
},
"Logs": "Logs",
"Manage the messages from viewers that show up on your stream": "Manage the messages from viewers that show up on your stream.",
"Max viewers last stream": "Max viewers last stream",
"Max viewers this stream": "Max viewers this stream",
"Memory": "Memory",
"Message": "Message",
"Moderators": "Moderators",
"Most general questions are answered in our": "Most general questions are answered in our",
"News & Updates from Owncast": "News & Updates from Owncast",
"No": "No",
"No hardware details have been collected yet": "No hardware details have been collected yet.",
"No news": "No news.",
"No stream is active": "No stream is active",
"No viewer data has been collected yet": "No viewer data has been collected yet.",
"Notify": "Notify",
"Other": "Other",
"Outbound Audio Stream": "Outbound Audio Stream",
"Outbound Stream Details": "Outbound Stream Details",
"Outbound Video Stream": "Outbound Video Stream",
"Overridden via command line": "Overridden via command line.",
"Peak viewer count": "Peak viewer count",
"Playback Health": "Playback Health",
"Please wait": "Please wait",
"Read the Docs": "Read the Docs",
"Show": "Show",
"Skip to footer": "Skip to footer",
"Skip to offline message": "Skip to offline message",
"Skip to page content": "Skip to page content",
"Skip to player": "Skip to player",
"Source": "Source",
"Stay updated!": "Stay updated!",
"Stream health represents": "Stream health represents",
"Stream started": "Stream started",
"TROUBLESHOOT": "TROUBLESHOOT",
"Testing": {
"itemCount": "<strong><em>不足している翻訳テスト。itemCount: Please report</em></strong>",
"messageCount": "<strong><em>不足している翻訳Testing.messageCount: Please report</em></strong>",
"noPluralKey": "<strong><em>不足している翻訳Testing.noPluralKey: Please report</em></strong>",
"simpleKey": "<strong><em>不足している翻訳Testing.simpleKey: Please report</em></strong>"
},
"Time": "Time",
"Timestamp": "Timestamp",
"Troubleshooting": "Troubleshooting",
"Use your broadcasting software": "Use your broadcasting software",
"User": "User",
"View": "View",
"Viewer Info": "Viewer Info",
"Viewers": "Viewers",
"Visible messages": "Visible messages",
"Visit the": "Visit the",
"Warning": "Warning",
"When a stream is active and chat is enabled, connected chat clients will be displayed here": "When a stream is active and chat is enabled, connected chat clients will be displayed here.",
"Yes": "Yes",
"You can build your own bots, overlays, tools and add-ons with our": "You can build your own bots, overlays, tools and add-ons with our",
"You should start one": "You should start one.",
"developer APIs": "developer APIs.",
"discussions": "discussions",
"documentation": "documentation",
"let us know": "let us know",
"max viewers": "max viewers",
"of all known players": {
" Other player status is unknown": "of all known players. Other player status is unknown."
},
"offline": "offline",
"offline_basic": "このストリームはオフラインです。もう一度お試しください!",
"or exist in our": "or exist in our",
"settings": "settings.",
"to configure additional details about your viewers": "to configure additional details about your viewers.",
"to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream": "to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream.",
"used": "used"
}
"Admin": {
"EditInstanceDetails": {
"directoryDescription": "<a href=\"https://owncast.directory\" target=\"_blank\" rel=\"noreferrer\"><strong>Owncast ディレクトリ</strong></a> に表示されることでオーディエンスを増やしましょう。これは Owncast プロジェクトが運営する外部サービスです。<a href=\"https://owncast.online/docs/directory/?source=admin\" target=\"_blank\" rel=\"noopener noreferrer\">詳細はこちら</a>。",
"offlineMessageDescription": "オフラインメッセージは、ストリーミングしていないときにページ訪問者に表示されます。Markdown はサポートされています。",
"serverUrlRequiredForDirectory": "ディレクトリを有効にするには、上記の<strong>サーバーURLを</strong>設定する必要があります。"
},
"HardwareInfo": {
"cpu": "CPU",
"disk": "Disk",
"memory": "Memory",
"noDetails": "No hardware details have been collected yet.",
"pleaseWait": "Please wait",
"title": "Hardware Info",
"used": "used"
},
"Help": {
"bugPlease": "If you found a bug, then please",
"buildAddons": "I want to build add-ons for Owncast",
"buildTools": "You can build your own bots, overlays, tools and add-ons with our",
"commonTasks": "Common tasks",
"configureBroadcasting": "Help configuring my broadcasting software",
"configureInstance": "I want to configure my owncast instance",
"customizeWebsite": "I want to customize my website",
"developerApis": "developer APIs.",
"discussions": "discussions",
"documentation": "Documentation",
"embedStream": "I want to embed my stream into another site",
"faq": "FAQ",
"fixProblems": "Fix your problems",
"foundBug": "I found a bug",
"generalAnswered": "Most general questions are answered in our",
"generalQuestion": "I have a general question",
"learnMore": "Learn more",
"letUsKnow": "let us know",
"orExist": "or exist in our",
"other": "Other",
"readDocs": "Read the Docs",
"title": "How can we help you?",
"troubleshooting": "Troubleshooting",
"tweakVideo": "I want to tweak my video output",
"useStorage": "I want to use an external storage provider"
},
"LogTable": {
"error": "Error",
"info": "Info",
"level": "Level",
"logs": "Logs",
"message": "Message",
"timestamp": "Timestamp",
"warning": "Warning"
},
"NewsFeed": {
"link": "Link",
"noNews": "No news.",
"title": "News & Updates from Owncast"
},
"VideoVariantForm": {
"bitrateDisabledPassthrough": "Bitrate selection is disabled when Video Passthrough is enabled.",
"bitrateGoodForHigh": "Good for high speed & high bitrate viewers.",
"bitrateGoodForMost": "Good for most viewers, bandwidths and resolutions.",
"bitrateGoodForSlow": "Good for slow, mobile and low bitrate viewers.",
"bitrateValueKbps": "{{bitrate}} kbps"
},
"ViewerInfo": {
"currentStream": "Current stream",
"currentViewers": "Current viewers",
"last12Hours": "Last 12 hours",
"last24Hours": "Last 24 hours",
"last30Days": "Last 30 days",
"last3Months": "Last 3 months",
"last6Months": "Last 6 months",
"last7Days": "Last 7 days",
"maxViewers": "max viewers",
"maxViewersLastStream": "Max viewers last stream",
"maxViewersThisStream": "Max viewers this stream",
"noData": "No viewer data has been collected yet.",
"pleaseWait": "Please wait",
"title": "Viewer Info",
"viewers": "Viewers"
},
"deleteEmoji": "Delete emoji",
"emojiPageDescription": "<strong><em>翻訳Admin.emojiPageDescription:</em></strong> を報告してください。",
"emojiUploadBulkGuide": "<strong><em>不足している翻訳Admin.emojiUploadBulkGuide: Please report</em></strong>",
"emojis": "<strong><em>翻訳管理者が見つかりません:</em></strong> を報告してください",
"uploadNewEmoji": "<strong><em>翻訳Admin.uploadNewEmoji:</em></strong> を報告してください。"
},
"Common": {
"poweredByOwncastVersion": "Powered by <a href='https://owncast.online'>Owncast v{{versionNumber}}</a>"
},
"Frontend": {
"BrowserNotifyModal": {
"allowButton": "許可する",
"blockButton": "ブロック",
"deniedDescription": "{{hostname}}からのプッシュ通知を有効にするには、このサイトのブラウザの権限にアクセスして通知をオンにしてください。それから、このページをリロードして、サイトの設定を更新されたものに適用してください。<a href='https://owncast.online/docs/notifications'>詳細を見る。</a>",
"deniedTitle": "お使いの端末で通知がブロックされています",
"enabledDescription": "{{hostname}}からのプッシュ通知を無効にするには、このサイトのブラウザの権限にアクセスして通知をオフにしてください。<a href='https://owncast.online/docs/notifications'>詳細を見る。</a>",
"enabledTitle": "通知が有効です",
"errorMessage": "Error registering for live notifications: {{message}}. Make sure you're not inside a private browser environment or have previously disabled notifications for this stream.",
"errorTitle": "ブラウザ通知エラー",
"iosAddButton": "追加",
"iosAddToHomeScreen": "ホーム画面に追加",
"iosAllowPrompt": "許可する",
"iosComeBack": "この画面に戻って通知を有効にしてください。",
"iosDescription": "あなたのお気に入りのストリームがライブに行くときに通知されるようにするには、いくつかの余分なステップがかかります。",
"iosNameAndTap": "このリンクに名前を付けて、ホーム画面の新しいアイコンをタップしてください",
"iosShareButton": "共有",
"iosTitle": "iOS で通知を受け取る",
"learnMore": "もっと詳しく",
"mainDescription": "このストリームが配信されるたびに、ブラウザで通知を受け取ります。",
"permissionWantsTo": "{{hostname}} が望んでいます",
"showNotifications": "通知を表示",
"unsupported": "ブラウザ通知はお使いのブラウザではサポートされていません。",
"unsupportedLocal": "ブラウザー通知はローカルサーバーではサポートされていません。"
},
"Footer": {
"contribute": "Contribute",
"documentation": "Documentation",
"source": "Source"
},
"Header": {
"chatOffline": "Chat is offline",
"chatWillBeAvailable": "Chat will be available when the stream is live.",
"skipToContent": "Skip to page content",
"skipToFooter": "Skip to footer",
"skipToOfflineMessage": "Skip to offline message",
"skipToPlayer": "Skip to player"
},
"NameChangeModal": {
"authInfo": "You can also authenticate an IndieAuth or Fediverse account via the \"Authenticate\" menu.",
"buttonText": "Change name",
"colorLabel": "Your Color",
"description": "Your chat display name is what people see when you send chat messages.",
"overLimit": "Over limit",
"placeholder": "Your chat display name"
},
"chatOffline": "<strong><em>見つからない翻訳Frontend.chatOffline:</em></strong> を報告してくださいformat@@4",
"componentError": "エラー: {{message}}",
"helloWorld": "<strong><em>Frontend.helloWorldが不足しています:</em></strong> を報告してください",
"offlineBasic": "このストリームはオフラインです。もう一度お試しください!",
"offlineFediverseOnly": "このストリームはオフラインです。 <span class='follow-link'></span> {{fediverseAccount}} をFediverse でフォローして、次回 {{streamer}} がライブになるのを確認します。",
"offlineNotifyAndFediverse": "このストリームはオフラインです。次回のライブ配信は {{streamer}} <span class='notify-link'>に通知さ</span>れるか、Fediverse で {{fediverseAccount}} を<span class='follow-link'>フォローして</span>ください。",
"offlineNotifyOnly": "このストリームはオフラインです。 <span class='notify-link'></span> 次回 {{streamer}} がライブになるときに通知されます。"
},
"Testing": {
"itemCount": "<strong><em>不足している翻訳テスト。itemCount: Please report</em></strong>",
"messageCount": "<strong><em>不足している翻訳Testing.messageCount: Please report</em></strong>",
"noPluralKey": "<strong><em>不足している翻訳Testing.noPluralKey: Please report</em></strong>",
"simpleKey": "<strong><em>不足している翻訳Testing.simpleKey: Please report</em></strong>"
}
}