mirror of
https://github.com/Afilmory/afilmory
synced 2026-04-25 07:15:36 +00:00
feat(i18n): integrate i18next for internationalization support
- Added i18next and react-i18next for multi-language support in the application. - Created localization files for English, Japanese, Korean, Traditional Chinese, and Simplified Chinese. - Implemented translation hooks in various components to replace hardcoded strings with translatable keys. - Updated ESLint configuration to include new i18n JSON validation rules. - Introduced a new event bus for handling i18n updates during development. Signed-off-by: Innei <tukon479@gmail.com>
This commit is contained in:
166
locales/app/en.json
Normal file
166
locales/app/en.json
Normal file
@@ -0,0 +1,166 @@
|
||||
{
|
||||
"action.auto": "Auto",
|
||||
"action.columns.setting": "Columns Setting",
|
||||
"action.sort.mode": "Sort Mode",
|
||||
"action.tag.filter": "Tag Filter",
|
||||
"action.view.github": "View GitHub Repository",
|
||||
"error.feedback": "Still having this issue? Please give feedback in Github, thanks!",
|
||||
"error.reload": "Reload",
|
||||
"error.submit.issue": "Submit Issue",
|
||||
"error.temporary.description": "The App has a temporary problem, click the button below to try reloading the app or another solution?",
|
||||
"error.title": "Sorry, the app has encountered an error",
|
||||
"exif.aperture.value": "Aperture Value",
|
||||
"exif.auto.white.balance.grb": "Auto White Balance GRB",
|
||||
"exif.basic.info": "Basic Information",
|
||||
"exif.blue.adjustment": "Blue Adjustment",
|
||||
"exif.blue.color.effect": "Blue Color Effect",
|
||||
"exif.brightness.value": "Brightness Value",
|
||||
"exif.camera": "Camera",
|
||||
"exif.capture.mode": "Capture Mode",
|
||||
"exif.capture.parameters": "Capture Parameters",
|
||||
"exif.capture.time": "Capture Time",
|
||||
"exif.clarity": "Clarity",
|
||||
"exif.color.effect": "Color Effect",
|
||||
"exif.color.space": "Color Space",
|
||||
"exif.custom.rendered.normal": "Normal process",
|
||||
"exif.custom.rendered.special": "Custom process",
|
||||
"exif.custom.rendered.type": "Custom Rendered",
|
||||
"exif.device.info": "Device Information",
|
||||
"exif.digital.zoom": "Digital Zoom",
|
||||
"exif.dimensions": "Dimensions",
|
||||
"exif.dynamic.range": "Dynamic Range",
|
||||
"exif.exposure.mode.auto": "Auto exposure",
|
||||
"exif.exposure.mode.bracket": "Auto bracket",
|
||||
"exif.exposure.mode.manual": "Manual exposure",
|
||||
"exif.exposure.mode.title": "Exposure Mode",
|
||||
"exif.file.size": "File Size",
|
||||
"exif.filename": "Filename",
|
||||
"exif.film.mode": "Film Mode",
|
||||
"exif.flash.auto.no.return": "Flash fired, auto mode, no return detected",
|
||||
"exif.flash.auto.no.title": "Flash did not fire, auto mode",
|
||||
"exif.flash.auto.return": "Flash fired, auto mode, return detected",
|
||||
"exif.flash.auto.yes": "Flash fired, auto mode",
|
||||
"exif.flash.disabled": "Flash did not fire",
|
||||
"exif.flash.enabled": "Flash fired",
|
||||
"exif.flash.forced.mode": "Flash fired, compulsory mode",
|
||||
"exif.flash.forced.no.return": "Flash fired, compulsory mode, no return detected",
|
||||
"exif.flash.forced.return": "Flash fired, compulsory mode, return detected",
|
||||
"exif.flash.no.return": "Flash fired, no return detected",
|
||||
"exif.flash.off.mode": "Flash did not fire, compulsory mode",
|
||||
"exif.flash.return.detected": "Flash fired, return detected",
|
||||
"exif.flash.title": "Flash",
|
||||
"exif.flash.unavailable": "No flash function",
|
||||
"exif.focal.length.actual": "Focal Length",
|
||||
"exif.focal.length.equivalent": "35mm Equivalent",
|
||||
"exif.focal.plane.resolution": "Focal Plane Resolution",
|
||||
"exif.format": "Format",
|
||||
"exif.fuji.film.simulation": "Fuji Film Simulation",
|
||||
"exif.gps.altitude": "Altitude",
|
||||
"exif.gps.latitude": "Latitude",
|
||||
"exif.gps.location.info": "Location Information",
|
||||
"exif.gps.location.name": "Photo Location",
|
||||
"exif.gps.longitude": "Longitude",
|
||||
"exif.gps.view.map": "View in Amap",
|
||||
"exif.grain.effect.intensity": "Grain Effect Intensity",
|
||||
"exif.grain.effect.size": "Grain Effect Size",
|
||||
"exif.header.title": "Photo Inspector",
|
||||
"exif.highlight.tone": "Highlight Tone",
|
||||
"exif.lens": "Lens",
|
||||
"exif.light.source.auto": "Auto",
|
||||
"exif.light.source.cloudy": "Cloudy weather",
|
||||
"exif.light.source.cool.white.fluorescent": "Cool white fluorescent (W 3900 – 4500K)",
|
||||
"exif.light.source.d50": "D50",
|
||||
"exif.light.source.d55": "D55",
|
||||
"exif.light.source.d65": "D65",
|
||||
"exif.light.source.d75": "D75",
|
||||
"exif.light.source.day.white.fluorescent": "Day white fluorescent (N 4600 – 5400K)",
|
||||
"exif.light.source.daylight.fluorescent": "Daylight fluorescent (D 5700 – 7100K)",
|
||||
"exif.light.source.daylight.main": "Daylight",
|
||||
"exif.light.source.fine.weather": "Fine weather",
|
||||
"exif.light.source.flash": "Flash",
|
||||
"exif.light.source.fluorescent": "Fluorescent",
|
||||
"exif.light.source.iso.tungsten": "ISO studio tungsten",
|
||||
"exif.light.source.other": "Other light source",
|
||||
"exif.light.source.shade": "Shade",
|
||||
"exif.light.source.standard.a": "Standard light A",
|
||||
"exif.light.source.standard.b": "Standard light B",
|
||||
"exif.light.source.standard.c": "Standard light C",
|
||||
"exif.light.source.tungsten": "Tungsten",
|
||||
"exif.light.source.type": "Light Source",
|
||||
"exif.light.source.white.fluorescent": "White fluorescent (WW 3200 – 3700K)",
|
||||
"exif.max.aperture": "Max Aperture",
|
||||
"exif.metering.mode.average": "Average",
|
||||
"exif.metering.mode.center": "Center-weighted average",
|
||||
"exif.metering.mode.multi": "Multi-spot",
|
||||
"exif.metering.mode.partial": "Partial",
|
||||
"exif.metering.mode.pattern": "Pattern",
|
||||
"exif.metering.mode.spot": "Spot",
|
||||
"exif.metering.mode.type": "Metering Mode",
|
||||
"exif.metering.mode.unknown": "Unknown",
|
||||
"exif.noise.reduction": "Noise Reduction",
|
||||
"exif.pixels": "Pixels",
|
||||
"exif.red.adjustment": "Red Adjustment",
|
||||
"exif.resolution.unit.cm": "Centimeters",
|
||||
"exif.resolution.unit.inches": "Inches",
|
||||
"exif.resolution.unit.none": "No unit",
|
||||
"exif.saturation": "Saturation",
|
||||
"exif.sensing.method.color.sequential.linear": "Color sequential linear sensor",
|
||||
"exif.sensing.method.color.sequential.main": "Color sequential area sensor",
|
||||
"exif.sensing.method.one.chip": "One-chip color area sensor",
|
||||
"exif.sensing.method.three.chip": "Three-chip color area sensor",
|
||||
"exif.sensing.method.trilinear": "Trilinear sensor",
|
||||
"exif.sensing.method.two.chip": "Two-chip color area sensor",
|
||||
"exif.sensing.method.type": "Sensing Method",
|
||||
"exif.sensing.method.undefined": "Not defined",
|
||||
"exif.shadow.tone": "Shadow Tone",
|
||||
"exif.sharpness": "Sharpness",
|
||||
"exif.shutter.speed.value": "Shutter Speed Value",
|
||||
"exif.standard.white.balance.grb": "Standard White Balance GRB",
|
||||
"exif.tags": "Tags",
|
||||
"exif.technical.parameters": "Technical Parameters",
|
||||
"exif.unknown": "Unknown",
|
||||
"exif.white.balance.auto": "Auto white balance",
|
||||
"exif.white.balance.bias": "White Balance Bias",
|
||||
"exif.white.balance.fine.tune": "White Balance Fine Tune",
|
||||
"exif.white.balance.grb": "White Balance GRB Level",
|
||||
"exif.white.balance.manual": "Manual white balance",
|
||||
"exif.white.balance.shift.ab": "White Balance Shift (Amber-Blue)",
|
||||
"exif.white.balance.shift.gm": "White Balance Shift (Green-Magenta)",
|
||||
"exif.white.balance.title": "White Balance",
|
||||
"gallery.built.at": "Built at ",
|
||||
"gallery.photos_one": "{{count}} photo",
|
||||
"gallery.photos_other": "{{count}} photos",
|
||||
"loading.converting": "Converting...",
|
||||
"loading.default": "Loading",
|
||||
"loading.heic.converting": "Converting HEIC/HEIF image format...",
|
||||
"loading.heic.main": "HEIC",
|
||||
"loading.webgl.building": "Building high-quality textures...",
|
||||
"loading.webgl.main": "WebGL texture loading",
|
||||
"photo.conversion.ffmpeg": "FFmpeg",
|
||||
"photo.conversion.webcodecs": "WebCodecs",
|
||||
"photo.copy.error": "Failed to copy image, please try again later",
|
||||
"photo.copy.image": "Copy Image",
|
||||
"photo.copy.success": "Image copied to clipboard",
|
||||
"photo.copying": "Copying image...",
|
||||
"photo.download": "Download Image",
|
||||
"photo.error.loading": "Image loading failed",
|
||||
"photo.live.badge": "Live",
|
||||
"photo.live.tooltip.desktop.main": "Hover to play Live Photo",
|
||||
"photo.live.tooltip.desktop.zoom": "Hover Live badge to play / Double click to zoom",
|
||||
"photo.live.tooltip.mobile.main": "Long press to play Live Photo",
|
||||
"photo.live.tooltip.mobile.zoom": "Long press to play Live Photo / Double tap to zoom",
|
||||
"photo.share.actions": "Actions",
|
||||
"photo.share.copy.failed": "Copy failed",
|
||||
"photo.share.copy.link": "Copy Link",
|
||||
"photo.share.default.title": "Photo Share",
|
||||
"photo.share.link.copied": "Link copied to clipboard",
|
||||
"photo.share.social.media": "Social Media",
|
||||
"photo.share.system": "System Share",
|
||||
"photo.share.text": "Check out this beautiful photo: {{title}}",
|
||||
"photo.share.title": "Share Photo",
|
||||
"photo.share.weibo": "Weibo",
|
||||
"photo.webgl.unavailable": "WebGL unavailable, cannot render image",
|
||||
"photo.zoom.hint": "Double click or pinch to zoom",
|
||||
"slider.auto": "Auto",
|
||||
"video.codec.keyword": "encoder"
|
||||
}
|
||||
Reference in New Issue
Block a user