mirror of
https://github.com/Afilmory/afilmory
synced 2026-02-01 22:48:17 +00:00
feat(i18n): complete missing translations (#85)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { AnimatePresence, m } from 'motion/react'
|
||||
import { memo } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
|
||||
import { useMobile } from '~/hooks/useMobile'
|
||||
import { clsxm } from '~/lib/cn'
|
||||
@@ -14,6 +15,11 @@ interface DateRangeIndicatorProps {
|
||||
|
||||
export const DateRangeIndicator = memo(
|
||||
({ dateRange, location, isVisible, className }: DateRangeIndicatorProps) => {
|
||||
const { t } = useTranslation()
|
||||
const translateDay = (day: string | number) => t(`date.day.${day}` as any)
|
||||
const translateMonth = (month: string | number) =>
|
||||
t(`date.month.${month}` as any)
|
||||
|
||||
// 解析日期范围,提取主要的日期信息
|
||||
const parseMainDate = (range: string) => {
|
||||
// 匹配跨年日期范围格式 "2022年3月 - 2023年5月"
|
||||
@@ -22,7 +28,8 @@ export const DateRangeIndicator = memo(
|
||||
)
|
||||
if (crossYearMatch) {
|
||||
const [, startYear, startMonth, endYear, endMonth] = crossYearMatch
|
||||
return `${startMonth}月 ${startYear} – ${endMonth}月 ${endYear}`
|
||||
// return `${startMonth}月 ${startYear} – ${endMonth}月 ${endYear}`
|
||||
return `${translateMonth(startMonth)} ${startYear} - ${translateMonth(endMonth)} ${endYear}`
|
||||
}
|
||||
|
||||
// 匹配类似 "2022年3月30日 - 5月2日" 的格式
|
||||
@@ -32,21 +39,24 @@ export const DateRangeIndicator = memo(
|
||||
if (singleYearDayMatch) {
|
||||
const [, year, startMonth, startDay, endMonth, endDay] =
|
||||
singleYearDayMatch
|
||||
return `${startMonth}月${startDay}日–${endMonth}月${endDay}日, ${year}`
|
||||
// return `${startMonth}月${startDay}日–${endMonth}月${endDay}日, ${year}`
|
||||
return `${translateMonth(startMonth)} ${translateDay(startDay)} - ${translateMonth(endMonth)} ${translateDay(endDay)} ${year}`
|
||||
}
|
||||
|
||||
// 匹配类似 "2022年3月 - 5月" 的格式
|
||||
const monthRangeMatch = range.match(/(\d{4})年(\d+)月\s*-\s*(\d+)月/)
|
||||
if (monthRangeMatch) {
|
||||
const [, year, startMonth, endMonth] = monthRangeMatch
|
||||
return `${startMonth}月–${endMonth}月, ${year}`
|
||||
// return `${startMonth}月–${endMonth}月, ${year}`
|
||||
return `${translateMonth(startMonth)} - ${translateMonth(endMonth)} ${year}`
|
||||
}
|
||||
|
||||
// 匹配单个日期
|
||||
const singleDateMatch = range.match(/(\d{4})年(\d+)月(\d+)日/)
|
||||
if (singleDateMatch) {
|
||||
const [, year, month, day] = singleDateMatch
|
||||
return `${month}月${day}日, ${year}`
|
||||
// return `${month}月${day}日, ${year}`
|
||||
return `${translateMonth(month)} ${translateDay(day)} ${year}`
|
||||
}
|
||||
|
||||
// 默认返回原始字符串
|
||||
|
||||
@@ -18,16 +18,16 @@ export const ClusterPhotoGrid = ({
|
||||
// 最多显示 6 张照片
|
||||
const displayPhotos = photos.slice(0, 6)
|
||||
const remainingCount = Math.max(0, photos.length - 6)
|
||||
const { i18n } = useTranslation()
|
||||
const { t, i18n } = useTranslation()
|
||||
|
||||
return (
|
||||
<div className="space-y-3">
|
||||
{/* 标题 */}
|
||||
<div className="flex items-center justify-between">
|
||||
<h3 className="text-text text-sm font-semibold">
|
||||
{photos.length} 张照片
|
||||
{t('explory.cluster.photos', { count: photos.length })}
|
||||
</h3>
|
||||
<div className="text-text-secondary text-xs">点击查看详情</div>
|
||||
<div className="text-text-secondary text-xs">{t('explory.cluster.click.details')}</div>
|
||||
</div>
|
||||
|
||||
{/* 照片网格 */}
|
||||
@@ -104,7 +104,7 @@ export const ClusterPhotoGrid = ({
|
||||
<div className="text-text text-lg font-bold">
|
||||
+{remainingCount}
|
||||
</div>
|
||||
<div className="text-text-secondary text-xs">更多</div>
|
||||
<div className="text-text-secondary text-xs">{t('explory.cluster.more')}</div>
|
||||
</div>
|
||||
</m.div>
|
||||
)}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { m } from 'motion/react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { useMap } from 'react-map-gl/maplibre'
|
||||
|
||||
import type { MapControlsProps } from './types'
|
||||
|
||||
export const MapControls = ({ onGeolocate }: MapControlsProps) => {
|
||||
const { current: map } = useMap()
|
||||
const { t } = useTranslation()
|
||||
|
||||
const handleZoomIn = () => {
|
||||
if (map) {
|
||||
@@ -66,7 +68,7 @@ export const MapControls = ({ onGeolocate }: MapControlsProps) => {
|
||||
type="button"
|
||||
onClick={handleZoomIn}
|
||||
className="group hover:bg-fill-secondary active:bg-fill-tertiary flex h-12 w-12 items-center justify-center transition-colors"
|
||||
title="放大"
|
||||
title={t('explory.controls.zoom.in')}
|
||||
>
|
||||
<i className="i-mingcute-add-line text-text size-5 transition-transform group-hover:scale-110 group-active:scale-95" />
|
||||
</button>
|
||||
@@ -79,7 +81,7 @@ export const MapControls = ({ onGeolocate }: MapControlsProps) => {
|
||||
type="button"
|
||||
onClick={handleZoomOut}
|
||||
className="group hover:bg-fill-secondary active:bg-fill-tertiary flex h-12 w-12 items-center justify-center transition-colors"
|
||||
title="缩小"
|
||||
title={t('explory.controls.zoom.out')}
|
||||
>
|
||||
<i className="i-mingcute-minimize-line text-text size-5 transition-transform group-hover:scale-110 group-active:scale-95" />
|
||||
</button>
|
||||
@@ -91,7 +93,7 @@ export const MapControls = ({ onGeolocate }: MapControlsProps) => {
|
||||
type="button"
|
||||
onClick={handleCompass}
|
||||
className="group hover:bg-fill-secondary active:bg-fill-tertiary flex h-12 w-12 items-center justify-center transition-colors"
|
||||
title="重置方向"
|
||||
title={t('explory.controls.compass')}
|
||||
>
|
||||
<i className="i-mingcute-navigation-line text-text size-5 transition-transform group-hover:scale-110 group-active:scale-95" />
|
||||
</button>
|
||||
@@ -103,7 +105,7 @@ export const MapControls = ({ onGeolocate }: MapControlsProps) => {
|
||||
type="button"
|
||||
onClick={handleGeolocate}
|
||||
className="group hover:bg-fill-secondary active:bg-fill-tertiary flex h-12 w-12 items-center justify-center transition-colors"
|
||||
title="定位到我的位置"
|
||||
title={t('explory.controls.locate')}
|
||||
>
|
||||
<i className="i-mingcute-location-fill text-text size-5 transition-transform group-hover:scale-110 group-active:scale-95" />
|
||||
</button>
|
||||
|
||||
@@ -174,7 +174,9 @@ export const Slider = ({
|
||||
|
||||
{/* 当前值显示 */}
|
||||
<div className="mt-8 text-center text-sm font-medium text-gray-700 dark:text-gray-300">
|
||||
{value === 'auto' ? finalAutoLabel : `${value} 列`}
|
||||
{value === 'auto'
|
||||
? finalAutoLabel
|
||||
: t('slider.columns', { count: value } as any)}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -58,6 +58,8 @@ const ExploryPageSkeleton = () => {
|
||||
}
|
||||
|
||||
const ExploryPageError = () => {
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<m.div
|
||||
className="flex h-full w-full items-center justify-center"
|
||||
@@ -80,7 +82,7 @@ const ExploryPageError = () => {
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ duration: 0.3, delay: 0.2 }}
|
||||
>
|
||||
地图加载失败
|
||||
{t('explory.map.error.title')}
|
||||
</m.div>
|
||||
<m.p
|
||||
className="text-sm text-red-600 dark:text-red-400"
|
||||
@@ -88,7 +90,7 @@ const ExploryPageError = () => {
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ duration: 0.3, delay: 0.3 }}
|
||||
>
|
||||
请检查网络连接或刷新页面重试
|
||||
{t('explory.map.error.description')}
|
||||
</m.p>
|
||||
</div>
|
||||
</m.div>
|
||||
|
||||
@@ -26,6 +26,49 @@
|
||||
"action.tag.not-found": "No tags match your search",
|
||||
"action.tag.search": "Search Tags",
|
||||
"action.view.github": "View GitHub Repository",
|
||||
"date.day.1": "1st",
|
||||
"date.day.10": "10th",
|
||||
"date.day.11": "11th",
|
||||
"date.day.12": "12th",
|
||||
"date.day.13": "13th",
|
||||
"date.day.14": "14th",
|
||||
"date.day.15": "15th",
|
||||
"date.day.16": "16th",
|
||||
"date.day.17": "17th",
|
||||
"date.day.18": "18th",
|
||||
"date.day.19": "19th",
|
||||
"date.day.2": "2nd",
|
||||
"date.day.20": "20th",
|
||||
"date.day.21": "21st",
|
||||
"date.day.22": "22nd",
|
||||
"date.day.23": "23rd",
|
||||
"date.day.24": "24th",
|
||||
"date.day.25": "25th",
|
||||
"date.day.26": "26th",
|
||||
"date.day.27": "27th",
|
||||
"date.day.28": "28th",
|
||||
"date.day.29": "29th",
|
||||
"date.day.3": "3rd",
|
||||
"date.day.30": "30th",
|
||||
"date.day.31": "31st",
|
||||
"date.day.4": "4th",
|
||||
"date.day.5": "5th",
|
||||
"date.day.6": "6th",
|
||||
"date.day.7": "7th",
|
||||
"date.day.8": "8th",
|
||||
"date.day.9": "9th",
|
||||
"date.month.1": "Jan",
|
||||
"date.month.10": "Oct",
|
||||
"date.month.11": "Nov",
|
||||
"date.month.12": "Dec",
|
||||
"date.month.2": "Feb",
|
||||
"date.month.3": "Mar",
|
||||
"date.month.4": "Apr",
|
||||
"date.month.5": "May",
|
||||
"date.month.6": "Jun",
|
||||
"date.month.7": "Jul",
|
||||
"date.month.8": "Aug",
|
||||
"date.month.9": "Sep",
|
||||
"error.feedback": "Still having this issue? Please provide feedback on Github, thank you!",
|
||||
"error.reload": "Reload",
|
||||
"error.submit.issue": "Submit Issue",
|
||||
@@ -232,6 +275,14 @@
|
||||
"exif.white.balance.title": "White Balance",
|
||||
"explory.back.to.gallery": "Back to Gallery",
|
||||
"explory.clear.selection": "Clear Selection",
|
||||
"explory.cluster.click.details": "Click to view details",
|
||||
"explory.cluster.more": "More",
|
||||
"explory.cluster.photos_one": "{{count}} photo",
|
||||
"explory.cluster.photos_other": "{{count}} photos",
|
||||
"explory.controls.compass": "Reset bearing",
|
||||
"explory.controls.locate": "Locate me",
|
||||
"explory.controls.zoom.in": "Zoom in",
|
||||
"explory.controls.zoom.out": "Zoom out",
|
||||
"explory.explore.map": "Explore Map",
|
||||
"explory.found.locations": "Found {{count}} shooting locations",
|
||||
"explory.loading.map": "Loading Map...",
|
||||
@@ -285,6 +336,7 @@
|
||||
"photo.webgl.unavailable": "WebGL is unavailable, unable to render image",
|
||||
"photo.zoom.hint": "Double-tap or pinch to zoom",
|
||||
"slider.auto": "Auto",
|
||||
"slider.columns": "{{count}} column",
|
||||
"video.codec.keyword": "Encoder",
|
||||
"video.conversion.cached.result": "Using cached result",
|
||||
"video.conversion.codec.fallback": "No MP4 codec found that supports this resolution. Falling back to WebM.",
|
||||
|
||||
@@ -26,6 +26,49 @@
|
||||
"action.tag.not-found": "検索に一致するタグがありません",
|
||||
"action.tag.search": "タグ検索",
|
||||
"action.view.github": "GitHub リポジトリを表示",
|
||||
"date.day.1": "1日",
|
||||
"date.day.10": "10日",
|
||||
"date.day.11": "11日",
|
||||
"date.day.12": "12日",
|
||||
"date.day.13": "13日",
|
||||
"date.day.14": "14日",
|
||||
"date.day.15": "15日",
|
||||
"date.day.16": "16日",
|
||||
"date.day.17": "17日",
|
||||
"date.day.18": "18日",
|
||||
"date.day.19": "19日",
|
||||
"date.day.2": "2日",
|
||||
"date.day.20": "20日",
|
||||
"date.day.21": "21日",
|
||||
"date.day.22": "22日",
|
||||
"date.day.23": "23日",
|
||||
"date.day.24": "24日",
|
||||
"date.day.25": "25日",
|
||||
"date.day.26": "26日",
|
||||
"date.day.27": "27日",
|
||||
"date.day.28": "28日",
|
||||
"date.day.29": "29日",
|
||||
"date.day.3": "3日",
|
||||
"date.day.30": "30日",
|
||||
"date.day.31": "31日",
|
||||
"date.day.4": "4日",
|
||||
"date.day.5": "5日",
|
||||
"date.day.6": "6日",
|
||||
"date.day.7": "7日",
|
||||
"date.day.8": "8日",
|
||||
"date.day.9": "9日",
|
||||
"date.month.1": "1月",
|
||||
"date.month.10": "10月",
|
||||
"date.month.11": "11月",
|
||||
"date.month.12": "12月",
|
||||
"date.month.2": "2月",
|
||||
"date.month.3": "3月",
|
||||
"date.month.4": "4月",
|
||||
"date.month.5": "5月",
|
||||
"date.month.6": "6月",
|
||||
"date.month.7": "7月",
|
||||
"date.month.8": "8月",
|
||||
"date.month.9": "9月",
|
||||
"error.feedback": "まだ問題が解決しませんか?GitHub でフィードバックをお願いします。",
|
||||
"error.reload": "再読み込み",
|
||||
"error.submit.issue": "問題を報告",
|
||||
@@ -231,6 +274,14 @@
|
||||
"exif.white.balance.title": "ホワイトバランス",
|
||||
"explory.back.to.gallery": "ギャラリーに戻る",
|
||||
"explory.clear.selection": "選択をクリア",
|
||||
"explory.cluster.click.details": "クリックして詳細を表示",
|
||||
"explory.cluster.more": "もっと",
|
||||
"explory.cluster.photos_one": "写真{{count}}枚",
|
||||
"explory.cluster.photos_other": "写真{{count}}枚",
|
||||
"explory.controls.compass": "方向をリセット",
|
||||
"explory.controls.locate": "現在地を取得",
|
||||
"explory.controls.zoom.in": "拡大",
|
||||
"explory.controls.zoom.out": "縮小",
|
||||
"explory.explore.map": "マップを探索",
|
||||
"explory.found.locations": "{{count}} 個の撮影場所を発見",
|
||||
"explory.loading.map": "マップを読み込み中...",
|
||||
@@ -281,6 +332,7 @@
|
||||
"photo.webgl.unavailable": "WebGL が利用できないため、画像をレンダリングできません",
|
||||
"photo.zoom.hint": "ダブルタップまたはピンチしてズーム",
|
||||
"slider.auto": "自動",
|
||||
"slider.columns": "{{count}} 列",
|
||||
"video.codec.keyword": "エンコーダー",
|
||||
"video.conversion.cached.result": "キャッシュされた結果を使用",
|
||||
"video.conversion.codec.fallback": "この解像度でサポートされている MP4 コーデックが見つかりません。WebM にフォールバックします。",
|
||||
@@ -298,4 +350,4 @@
|
||||
"video.conversion.webcodecs.not.supported": "このブラウザは WebCodecs をサポートしていません",
|
||||
"video.format.mov.not.supported": "ブラウザが MOV 形式をサポートしていないため、変換が必要です",
|
||||
"video.format.mov.supported": "ブラウザが MOV 形式をネイティブでサポートしているため、変換をスキップします"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,49 @@
|
||||
"action.tag.not-found": "검색과 일치하는 태그가 없습니다",
|
||||
"action.tag.search": "태그 검색",
|
||||
"action.view.github": "GitHub 리포지토리 보기",
|
||||
"date.day.1": "1일",
|
||||
"date.day.10": "10일",
|
||||
"date.day.11": "11일",
|
||||
"date.day.12": "12일",
|
||||
"date.day.13": "13일",
|
||||
"date.day.14": "14일",
|
||||
"date.day.15": "15일",
|
||||
"date.day.16": "16일",
|
||||
"date.day.17": "17일",
|
||||
"date.day.18": "18일",
|
||||
"date.day.19": "19일",
|
||||
"date.day.2": "2일",
|
||||
"date.day.20": "20일",
|
||||
"date.day.21": "21일",
|
||||
"date.day.22": "22일",
|
||||
"date.day.23": "23일",
|
||||
"date.day.24": "24일",
|
||||
"date.day.25": "25일",
|
||||
"date.day.26": "26일",
|
||||
"date.day.27": "27일",
|
||||
"date.day.28": "28일",
|
||||
"date.day.29": "29일",
|
||||
"date.day.3": "3일",
|
||||
"date.day.30": "30일",
|
||||
"date.day.31": "31일",
|
||||
"date.day.4": "4일",
|
||||
"date.day.5": "5일",
|
||||
"date.day.6": "6일",
|
||||
"date.day.7": "7일",
|
||||
"date.day.8": "8일",
|
||||
"date.day.9": "9일",
|
||||
"date.month.1": "1월",
|
||||
"date.month.10": "10월",
|
||||
"date.month.11": "11월",
|
||||
"date.month.12": "12월",
|
||||
"date.month.2": "2월",
|
||||
"date.month.3": "3월",
|
||||
"date.month.4": "4월",
|
||||
"date.month.5": "5월",
|
||||
"date.month.6": "6월",
|
||||
"date.month.7": "7월",
|
||||
"date.month.8": "8월",
|
||||
"date.month.9": "9월",
|
||||
"error.feedback": "문제가 계속 발생하나요? GitHub 에 피드백을 남겨주세요. 감사합니다!",
|
||||
"error.reload": "새로고침",
|
||||
"error.submit.issue": "문제 제출",
|
||||
@@ -231,6 +274,14 @@
|
||||
"exif.white.balance.title": "화이트 밸런스",
|
||||
"explory.back.to.gallery": "갤러리로 돌아가기",
|
||||
"explory.clear.selection": "선택 해제",
|
||||
"explory.cluster.click.details": "클릭하여 상세 보기",
|
||||
"explory.cluster.more": "더보기",
|
||||
"explory.cluster.photos_one": "사진 {{count}}장",
|
||||
"explory.cluster.photos_other": "사진 {{count}}장",
|
||||
"explory.controls.compass": "방향 초기화",
|
||||
"explory.controls.locate": "내 위치 찾기",
|
||||
"explory.controls.zoom.in": "확대",
|
||||
"explory.controls.zoom.out": "축소",
|
||||
"explory.explore.map": "지도 탐색",
|
||||
"explory.found.locations": "{{count}}개의 촬영 위치 발견",
|
||||
"explory.loading.map": "지도 로딩 중...",
|
||||
@@ -281,6 +332,7 @@
|
||||
"photo.webgl.unavailable": "WebGL 을 사용할 수 없어 이미지를 렌더링할 수 없습니다",
|
||||
"photo.zoom.hint": "더블 탭 또는 손가락으로 확대/축소",
|
||||
"slider.auto": "자동",
|
||||
"slider.columns": "{{count}} 열",
|
||||
"video.codec.keyword": "인코더",
|
||||
"video.conversion.cached.result": "캐시된 결과 사용",
|
||||
"video.conversion.codec.fallback": "이 해상도에서 지원되는 MP4 코덱을 찾을 수 없습니다. WebM 으로 대체합니다.",
|
||||
@@ -298,4 +350,4 @@
|
||||
"video.conversion.webcodecs.not.supported": "이 브라우저는 WebCodecs 를 지원하지 않습니다",
|
||||
"video.format.mov.not.supported": "브라우저가 MOV 형식을 지원하지 않아 변환이 필요합니다.",
|
||||
"video.format.mov.supported": "브라우저가 MOV 형식을 기본적으로 지원하므로 변환을 건너뜁니다."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,49 @@
|
||||
"action.tag.not-found": "没有标签匹配您的搜索",
|
||||
"action.tag.search": "搜索标签",
|
||||
"action.view.github": "查看 GitHub 仓库",
|
||||
"date.day.1": "1日",
|
||||
"date.day.10": "10日",
|
||||
"date.day.11": "11日",
|
||||
"date.day.12": "12日",
|
||||
"date.day.13": "13日",
|
||||
"date.day.14": "14日",
|
||||
"date.day.15": "15日",
|
||||
"date.day.16": "16日",
|
||||
"date.day.17": "17日",
|
||||
"date.day.18": "18日",
|
||||
"date.day.19": "19日",
|
||||
"date.day.2": "2日",
|
||||
"date.day.20": "20日",
|
||||
"date.day.21": "21日",
|
||||
"date.day.22": "22日",
|
||||
"date.day.23": "23日",
|
||||
"date.day.24": "24日",
|
||||
"date.day.25": "25日",
|
||||
"date.day.26": "26日",
|
||||
"date.day.27": "27日",
|
||||
"date.day.28": "28日",
|
||||
"date.day.29": "29日",
|
||||
"date.day.3": "3日",
|
||||
"date.day.30": "30日",
|
||||
"date.day.31": "31日",
|
||||
"date.day.4": "4日",
|
||||
"date.day.5": "5日",
|
||||
"date.day.6": "6日",
|
||||
"date.day.7": "7日",
|
||||
"date.day.8": "8日",
|
||||
"date.day.9": "9日",
|
||||
"date.month.1": "1月",
|
||||
"date.month.10": "10月",
|
||||
"date.month.11": "11月",
|
||||
"date.month.12": "12月",
|
||||
"date.month.2": "2月",
|
||||
"date.month.3": "3月",
|
||||
"date.month.4": "4月",
|
||||
"date.month.5": "5月",
|
||||
"date.month.6": "6月",
|
||||
"date.month.7": "7月",
|
||||
"date.month.8": "8月",
|
||||
"date.month.9": "9月",
|
||||
"error.feedback": "仍然存在此问题?请在 Github 中提供反馈,谢谢!",
|
||||
"error.reload": "重新加载",
|
||||
"error.submit.issue": "提交问题",
|
||||
@@ -232,6 +275,14 @@
|
||||
"exif.white.balance.title": "白平衡",
|
||||
"explory.back.to.gallery": "返回相册",
|
||||
"explory.clear.selection": "清除选择",
|
||||
"explory.cluster.click.details": "点击查看详情",
|
||||
"explory.cluster.more": "更多",
|
||||
"explory.cluster.photos_one": "{{count}} 张照片",
|
||||
"explory.cluster.photos_other": "{{count}} 张照片",
|
||||
"explory.controls.compass": "重置方向",
|
||||
"explory.controls.locate": "定位到我的位置",
|
||||
"explory.controls.zoom.in": "放大",
|
||||
"explory.controls.zoom.out": "缩小",
|
||||
"explory.explore.map": "探索地图",
|
||||
"explory.found.locations": "发现了 {{count}} 个拍摄位置",
|
||||
"explory.loading.map": "加载地图中...",
|
||||
@@ -285,6 +336,7 @@
|
||||
"photo.webgl.unavailable": "WebGL 不可用,无法渲染图像",
|
||||
"photo.zoom.hint": "双击或捏合缩放",
|
||||
"slider.auto": "自动",
|
||||
"slider.columns": "{{count}} 列",
|
||||
"video.codec.keyword": "编码器",
|
||||
"video.conversion.cached.result": "使用缓存结果",
|
||||
"video.conversion.codec.fallback": "找不到此分辨率支持的 MP4 编解码器。回退到 WebM。",
|
||||
@@ -302,4 +354,4 @@
|
||||
"video.conversion.webcodecs.not.supported": "此浏览器不支持 WebCodecs",
|
||||
"video.format.mov.not.supported": "浏览器不支持 MOV 格式,需要转换",
|
||||
"video.format.mov.supported": "浏览器原生支持 MOV 格式,跳过转换"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,49 @@
|
||||
"action.tag.not-found": "沒有標籤符合您的搜尋",
|
||||
"action.tag.search": "搜尋標籤",
|
||||
"action.view.github": "查看 GitHub 倉庫",
|
||||
"date.day.1": "1日",
|
||||
"date.day.10": "10日",
|
||||
"date.day.11": "11日",
|
||||
"date.day.12": "12日",
|
||||
"date.day.13": "13日",
|
||||
"date.day.14": "14日",
|
||||
"date.day.15": "15日",
|
||||
"date.day.16": "16日",
|
||||
"date.day.17": "17日",
|
||||
"date.day.18": "18日",
|
||||
"date.day.19": "19日",
|
||||
"date.day.2": "2日",
|
||||
"date.day.20": "20日",
|
||||
"date.day.21": "21日",
|
||||
"date.day.22": "22日",
|
||||
"date.day.23": "23日",
|
||||
"date.day.24": "24日",
|
||||
"date.day.25": "25日",
|
||||
"date.day.26": "26日",
|
||||
"date.day.27": "27日",
|
||||
"date.day.28": "28日",
|
||||
"date.day.29": "29日",
|
||||
"date.day.3": "3日",
|
||||
"date.day.30": "30日",
|
||||
"date.day.31": "31日",
|
||||
"date.day.4": "4日",
|
||||
"date.day.5": "5日",
|
||||
"date.day.6": "6日",
|
||||
"date.day.7": "7日",
|
||||
"date.day.8": "8日",
|
||||
"date.day.9": "9日",
|
||||
"date.month.1": "1月",
|
||||
"date.month.10": "7月",
|
||||
"date.month.11": "8月",
|
||||
"date.month.12": "9月",
|
||||
"date.month.2": "2月",
|
||||
"date.month.3": "3月",
|
||||
"date.month.4": "4月",
|
||||
"date.month.5": "5月",
|
||||
"date.month.6": "6月",
|
||||
"date.month.7": "7月",
|
||||
"date.month.8": "8月",
|
||||
"date.month.9": "9月",
|
||||
"error.feedback": "仍然遇到此問題?請在 Github 中提供反饋,謝謝!",
|
||||
"error.reload": "重新載入",
|
||||
"error.submit.issue": "提交問題",
|
||||
@@ -231,6 +274,14 @@
|
||||
"exif.white.balance.title": "白平衡",
|
||||
"explory.back.to.gallery": "返回相簿",
|
||||
"explory.clear.selection": "清除選擇",
|
||||
"explory.cluster.click.details": "點擊查看詳情",
|
||||
"explory.cluster.more": "更多",
|
||||
"explory.cluster.photos_one": "{{count}} 張照片",
|
||||
"explory.cluster.photos_other": "{{count}} 張照片",
|
||||
"explory.controls.compass": "重置方向",
|
||||
"explory.controls.locate": "定位到我的位置",
|
||||
"explory.controls.zoom.in": "放大",
|
||||
"explory.controls.zoom.out": "縮小",
|
||||
"explory.explore.map": "探索地圖",
|
||||
"explory.found.locations": "發現了 {{count}} 個拍攝位置",
|
||||
"explory.loading.map": "載入地圖中...",
|
||||
@@ -281,6 +332,7 @@
|
||||
"photo.webgl.unavailable": "WebGL 不可用,無法渲染圖像",
|
||||
"photo.zoom.hint": "雙擊或捏合縮放",
|
||||
"slider.auto": "自動",
|
||||
"slider.columns": "{{count}} 列",
|
||||
"video.codec.keyword": "編碼器",
|
||||
"video.conversion.cached.result": "使用快取結果",
|
||||
"video.conversion.codec.fallback": "找不到此解析度支援的 MP4 編解碼器。回退到 WebM。",
|
||||
@@ -298,4 +350,4 @@
|
||||
"video.conversion.webcodecs.not.supported": "此瀏覽器不支援 WebCodecs",
|
||||
"video.format.mov.not.supported": "瀏覽器不支援 MOV 格式,需要轉換",
|
||||
"video.format.mov.supported": "瀏覽器原生支援 MOV 格式,跳過轉換"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,49 @@
|
||||
"action.tag.not-found": "沒有標籤符合您的搜尋",
|
||||
"action.tag.search": "搜尋標籤",
|
||||
"action.view.github": "檢視 GitHub 存放庫",
|
||||
"date.day.1": "1日",
|
||||
"date.day.10": "10日",
|
||||
"date.day.11": "11日",
|
||||
"date.day.12": "12日",
|
||||
"date.day.13": "13日",
|
||||
"date.day.14": "14日",
|
||||
"date.day.15": "15日",
|
||||
"date.day.16": "16日",
|
||||
"date.day.17": "17日",
|
||||
"date.day.18": "18日",
|
||||
"date.day.19": "19日",
|
||||
"date.day.2": "2日",
|
||||
"date.day.20": "20日",
|
||||
"date.day.21": "21日",
|
||||
"date.day.22": "22日",
|
||||
"date.day.23": "23日",
|
||||
"date.day.24": "24日",
|
||||
"date.day.25": "25日",
|
||||
"date.day.26": "26日",
|
||||
"date.day.27": "27日",
|
||||
"date.day.28": "28日",
|
||||
"date.day.29": "29日",
|
||||
"date.day.3": "3日",
|
||||
"date.day.30": "30日",
|
||||
"date.day.31": "31日",
|
||||
"date.day.4": "4日",
|
||||
"date.day.5": "5日",
|
||||
"date.day.6": "6日",
|
||||
"date.day.7": "7日",
|
||||
"date.day.8": "8日",
|
||||
"date.day.9": "9日",
|
||||
"date.month.1": "1月",
|
||||
"date.month.10": "10月",
|
||||
"date.month.11": "11月",
|
||||
"date.month.12": "12月",
|
||||
"date.month.2": "2月",
|
||||
"date.month.3": "3月",
|
||||
"date.month.4": "4月",
|
||||
"date.month.5": "5月",
|
||||
"date.month.6": "6月",
|
||||
"date.month.7": "7月",
|
||||
"date.month.8": "8月",
|
||||
"date.month.9": "9月",
|
||||
"error.feedback": "仍然遇到此問題?請在 Github 中提供回饋,謝謝!",
|
||||
"error.reload": "重新載入",
|
||||
"error.submit.issue": "提交問題",
|
||||
@@ -230,6 +273,14 @@
|
||||
"exif.white.balance.title": "白平衡",
|
||||
"explory.back.to.gallery": "返回相簿",
|
||||
"explory.clear.selection": "清除選擇",
|
||||
"explory.cluster.click.details": "點擊查看詳情",
|
||||
"explory.cluster.more": "更多",
|
||||
"explory.cluster.photos_one": "{{count}} 張照片",
|
||||
"explory.cluster.photos_other": "{{count}} 張照片",
|
||||
"explory.controls.compass": "重置方向",
|
||||
"explory.controls.locate": "定位到我的位置",
|
||||
"explory.controls.zoom.in": "放大",
|
||||
"explory.controls.zoom.out": "縮小",
|
||||
"explory.explore.map": "探索地圖",
|
||||
"explory.found.locations": "發現了 {{count}} 個拍攝位置",
|
||||
"explory.loading.map": "載入地圖中...",
|
||||
@@ -280,6 +331,7 @@
|
||||
"photo.webgl.unavailable": "WebGL 不可用,無法渲染圖像",
|
||||
"photo.zoom.hint": "雙擊或捏合縮放",
|
||||
"slider.auto": "自動",
|
||||
"slider.columns": "{{count}} 列",
|
||||
"video.codec.keyword": "編碼器",
|
||||
"video.conversion.cached.result": "使用快取結果",
|
||||
"video.conversion.codec.fallback": "找不到此解析度支援的 MP4 編解碼器。回退到 WebM。",
|
||||
@@ -297,4 +349,4 @@
|
||||
"video.conversion.webcodecs.not.supported": "此瀏覽器不支援 WebCodecs",
|
||||
"video.format.mov.not.supported": "瀏覽器不支援 MOV 格式,需要轉換",
|
||||
"video.format.mov.supported": "瀏覽器原生支援 MOV 格式,跳過轉換"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user