Vendor the watchface-kit into design/ and derive everything from it instead
of from hand-transcribed constants.
Geometry, from design/rebuild.py and the ink boxes of the traced SVG paths:
- ring ticks are annular sectors (fillPolygon), not radial lines
- top arc is 21 ticks at 6.5+4k, not 22 at 2+4k
- exact radii, tick widths, anchor dots, band and colon rectangles
- element positions taken from measured ink bounding boxes
Colour, generated by tools/gen_themes.py straight out of the comps:
- per-tick colour tables (21+21) replace 9/7 interpolated stops
- 11-stop vertical gradients on the time digits, drawn with clip banding
- per-element accent / value colours and per-theme unlit tick colour
Data: the design's sunrise and hi/lo fields turn out to be available after
all -- Weather.getSunrise and getDailyForecast both exist in SDK 9.1.0 --
so both are restored, and heart rate is added alongside them.
Bugs found on the way:
- Gregorian FORMAT_MEDIUM returns day_of_week/month as strings, so the
date band crashed on every update (caught in the simulator)
- Stats.battery is already 0-100, multiplying by 100 gave "4000%"
- moveBarLevel is an integer level 0..5, not a 0..1 ratio, so the move
bar arc was all-or-nothing
Also: all four field slots are configurable with labels that follow the
selection, temperature unit is a setting, on-face wording moved into
resources with a Simplified Chinese variant, and 24h/distance/temperature
now follow the watch. Fonts are chosen by measured cap height rather than
by ascent.
Verified in the Connect IQ simulator on fenix847mm and by compiling all
17 target devices.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
54 lines
2.4 KiB
XML
54 lines
2.4 KiB
XML
<strings>
|
|
<string id="AppName">Fenix 8 V3</string>
|
|
|
|
<string id="SettingTheme">主题</string>
|
|
<string id="SettingRingTR">进度环 · 右上</string>
|
|
<string id="SettingRingTL">进度环 · 左上</string>
|
|
<string id="SettingRingBR">进度环 · 右下</string>
|
|
<string id="SettingRingBL">进度环 · 左下</string>
|
|
<string id="SettingLeftTop">左上数据</string>
|
|
<string id="SettingRightTop">右上数据</string>
|
|
<string id="SettingBottomLeft">左下数据</string>
|
|
<string id="SettingBottomRight">右下数据</string>
|
|
<string id="SettingShowTop">显示顶部一行</string>
|
|
<string id="SettingShowBand">显示日期带</string>
|
|
<string id="SettingShowBottom">显示底部一行</string>
|
|
|
|
<string id="ThemeEmber">1 · 余烬</string>
|
|
<string id="ThemeAurora">2 · 极光</string>
|
|
<string id="ThemeBrass">3 · 黄铜</string>
|
|
<string id="ThemeVoltage">4 · 电压</string>
|
|
<string id="ThemeReef">5 · 珊瑚礁</string>
|
|
<string id="ThemeAcid">6 · 酸绿</string>
|
|
<string id="ThemeKelp">7 · 海藻</string>
|
|
|
|
<string id="MetricSteps">步数</string>
|
|
<string id="MetricCalories">卡路里</string>
|
|
<string id="MetricDistance">距离</string>
|
|
<string id="MetricFloors">楼层</string>
|
|
<string id="MetricMoveBar">动动条</string>
|
|
|
|
<string id="FieldWeather">气温</string>
|
|
<string id="FieldHiLo">最高 / 最低气温</string>
|
|
<string id="FieldSunrise">日出</string>
|
|
<string id="FieldSunset">日落</string>
|
|
<string id="FieldCalories">卡路里</string>
|
|
<string id="FieldSteps">步数</string>
|
|
<string id="FieldDistance">距离</string>
|
|
<string id="FieldFloors">楼层</string>
|
|
<string id="FieldBattery">电量</string>
|
|
<string id="FieldHeartRate">心率</string>
|
|
|
|
<!-- 表盘上的文案。逗号分隔的列表在运行时拆分。 -->
|
|
<string id="DowNames">周日,周一,周二,周三,周四,周五,周六</string>
|
|
<string id="MonNames">1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月</string>
|
|
<string id="DateFormat">$1$$2$日</string>
|
|
<string id="Meridiem">上午,下午</string>
|
|
<string id="FieldLabels">气温,卡路里,步数,距离,楼层,电量,日出,日落,高低温,心率</string>
|
|
|
|
<string id="SettingTempUnit">温度单位</string>
|
|
<string id="TempUnitAuto">跟随手表</string>
|
|
<string id="TempUnitC">摄氏度 (°C)</string>
|
|
<string id="TempUnitF">华氏度 (°F)</string>
|
|
</strings>
|