Files
fenix8v3-watchface/resources-chn/strings/fields.xml
ericwyuan d457f8244e Add the on-device data field catalogue, always-on mode, and real icons
Fields
  75 selectable fields across date/time, activity, body, system,
  environment, weather and custom text, numbered to match
  watchface.io/docs/datafields so the two catalogues line up.  All four
  slots (both top, both bottom) pick from the same table and the bottom
  captions follow the selection.  tools/gen_fields.py owns the table and
  emits FieldTable.mc, settings.xml and both languages' strings, so those
  cannot drift apart.

  Fields.Ctx fetches each API at most once per draw, and only if some slot
  asks -- the forecast, user profile and sensor history lookups are lazy.

  The rest of that catalogue is deliberately absent: OpenWeatherMap and
  StormGlass need network calls and user API keys, the per-sport weekly and
  28-day aggregates come from a phone-side Garmin Connect integration rather
  than any on-device API, and the app complications need those apps
  installed.  README section 7 lists what was left out and why.

Permissions
  UserProfile and SensorHistory are now declared; without them resting heart
  rate, VO2 max, pulse ox and body battery throw at runtime.  Sensor turns
  out to be rejected outright for type="watchface", so altitude and pressure
  read from Activity.Info instead.

Always-on display
  AMOLED devices need the lit-pixel count cut while asleep.  drawAmbient
  drops the band fill and the unlit ticks, dims what remains, hides the
  complications, and walks the layout within +/-4 px per minute so nothing
  burns in.  Gated on requiresBurnInProtection, so MIP devices are untouched.

Icons
  The comps' sunrise and weather icons have two- and three-pixel features.
  Rebuilding them from circles and lines looked right at 454 px and turned to
  mush at 280.  They are now rasterised from the design paths once per screen
  width and tinted with drawBitmap2(:tintColor) -- which needs
  packingFormat="png", since a palettised source is refused at runtime.
  Launcher icons are generated at the five sizes the devices ask for.

All 17 devices build; checked on fenix847mm and enduro3 in the simulator.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-09 23:53:18 +08:00

90 lines
4.7 KiB
XML

<strings>
<!-- Field names shown in the settings picker. -->
<string id="FldOff">关闭</string>
<string id="FldTime">时间</string>
<string id="FldUtcTime">UTC 时间</string>
<string id="FldAltTime1">第二时区 1</string>
<string id="FldAltTime2">第二时区 2</string>
<string id="FldDayMonthDay">星期 月 日</string>
<string id="FldDayDate">星期 日</string>
<string id="FldMonthDay">月 日</string>
<string id="FldDayOfMonth"></string>
<string id="FldDayShort">星期简写</string>
<string id="FldDayFull">星期全称</string>
<string id="FldMonthName">月份</string>
<string id="FldMonthNum">月份数字</string>
<string id="FldMeridiem">上午/下午</string>
<string id="FldWeekIso">周数 (ISO)</string>
<string id="FldWeekCal">周数</string>
<string id="FldSteps">步数</string>
<string id="FldStepsRound">步数 (取整)</string>
<string id="FldStepsToGo">剩余步数</string>
<string id="FldCalories">卡路里</string>
<string id="FldActiveCal">活动卡路里</string>
<string id="FldActiveMin">活动分钟</string>
<string id="FldActiveMod">中强度分钟</string>
<string id="FldActiveVig">高强度分钟</string>
<string id="FldActiveWeek">本周活动分钟</string>
<string id="FldDistance">距离</string>
<string id="FldFloorsUp">上楼层数</string>
<string id="FldFloorsDown">下楼层数</string>
<string id="FldMetersUp">爬升高度</string>
<string id="FldPushDist">推行距离</string>
<string id="FldPushes">推行次数</string>
<string id="FldHeartRate">心率</string>
<string id="FldRestingHr">静息心率</string>
<string id="FldStress">压力指数</string>
<string id="FldPulseOx">血氧</string>
<string id="FldRespiration">呼吸频率</string>
<string id="FldBodyBattery">身体电量</string>
<string id="FldMoveBar">活动条</string>
<string id="FldMoveBarRev">活动条 (反向)</string>
<string id="FldWeight">体重</string>
<string id="FldBmi">BMI</string>
<string id="FldRecovery">恢复时间</string>
<string id="FldVo2Run">最大摄氧量 (跑)</string>
<string id="FldVo2Bike">最大摄氧量 (骑)</string>
<string id="FldBattery">电量</string>
<string id="FldBatteryDays">剩余天数</string>
<string id="FldBatteryBoth">电量 / 天数</string>
<string id="FldAlarms">闹钟</string>
<string id="FldNotifications">通知</string>
<string id="FldDoNotDisturb">勿扰模式</string>
<string id="FldBluetooth">蓝牙</string>
<string id="FldSolar">太阳能强度</string>
<string id="FldAltitude">海拔</string>
<string id="FldSeaPressure">海平面气压</string>
<string id="FldAmbPressure">环境气压</string>
<string id="FldSunrise">日出</string>
<string id="FldSunset">日落</string>
<string id="FldNextSun">下一太阳事件</string>
<string id="FldUntilSun">距太阳事件</string>
<string id="FldMoonAge">月龄</string>
<string id="FldMoonLit">月球照明</string>
<string id="FldTemp">气温</string>
<string id="FldTempHiLo">最高/最低气温</string>
<string id="FldFeelsLike">体感温度</string>
<string id="FldTempHigh">最高气温</string>
<string id="FldTempLow">最低气温</string>
<string id="FldHumidity">湿度</string>
<string id="FldPrecip">降水概率</string>
<string id="FldWindSpeed">风速</string>
<string id="FldWindBearing">风向角</string>
<string id="FldWindDir">风向</string>
<string id="FldWeatherTime">天气更新时间</string>
<string id="FldCustom1">自定义文字 1</string>
<string id="FldCustom2">自定义文字 2</string>
<string id="FldCustom3">自定义文字 3</string>
<!-- On-face captions, in FieldTable.IDS order. -->
<string id="FieldLabels">,时间,UTC,时区1,时区2,日期,日期,日期,日,星期,星期,月,月,,周,周,步数,步数,还差,千卡,活动,分钟,中强度,高强度,周分钟,距离,楼层,下楼,爬升,推行,推行,心率,静息,压力,血氧,呼吸,体能,活动,活动,体重,BMI,恢复,摄氧,摄氧,电量,天数,电量,闹钟,通知,勿扰,蓝牙,太阳能,海拔,气压,气压,日出,日落,太阳,太阳,月龄,月相,气温,高低温,体感,最高,最低,湿度,降水,风速,风向,风向,更新,,,</string>
<string id="MetricSteps">步数</string>
<string id="MetricCalories">卡路里</string>
<string id="MetricDistance">距离</string>
<string id="MetricFloors">楼层</string>
<string id="MetricMoveBar">动动条</string>
<string id="MetricActiveMin">活动分钟</string>
<string id="MetricBodyBattery">身体电量</string>
</strings>