Minamp 1.5: Galician interface

- Interface in Galician by default regardless of the phone's language, with
  English selectable under Axustes -> Idioma; switching rebuilds the screens
- All text in tools/strings.py (key -> English, Galician), generating
  res/values/strings.xml (gl) and res/values-en/strings.xml; layouts now use
  string resources
- util/Tr.java: translations for the network and Plex layers, which can't
  read Android resources (falls back to English in desktop tests)
- net/RefusedException: distinguish "server answered but refused" from
  connection failures
- The connection log stays in English for troubleshooting

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xockoandClaude Opus 5.5 committed 2026-10-15 00:11:41 +02:00
1 parent 6fd17bc9c5
commit fa67e95fde
29 files changed
+1029 -206

No files matched your search

+17 -17
View File
@@ -19,23 +19,23 @@
android:layout_marginTop="12dp" android:src="@drawable/ic_launcher"
android:scaleType="fitCenter" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Minamp" android:textSize="26sp" android:textStyle="bold"
android:text="@string/app_name" android:textSize="26sp" android:textStyle="bold"
android:paddingTop="8dp" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:textColor="@color/text2" android:textSize="13sp"
android:paddingTop="4dp" android:paddingBottom="22dp"
android:text="Your Plex music, anywhere,\non a very small phone." />
android:text="@string/tagline" />
<Button android:id="@+id/btn_signin" style="@style/ButtonAccent"
android:layout_width="match_parent" android:text="Sign in with Plex" />
android:layout_width="match_parent" android:text="@string/sign_in" />
<Button android:id="@+id/btn_manual" style="@style/ButtonOutline"
android:layout_width="match_parent" android:layout_marginTop="10dp"
android:text="Connect to a server address" />
android:text="@string/connect_address" />
<TextView android:id="@+id/btn_setup_log"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="18dp" android:padding="8dp"
android:background="@drawable/bg_pressable"
android:textColor="@color/text2" android:textSize="12sp"
android:text="Connection log" />
android:text="@string/connection_log" />
</LinearLayout>
<!-- PIN -->
@@ -46,13 +46,13 @@
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:textColor="@color/text2" android:textSize="13sp"
android:paddingTop="12dp"
android:text="On a computer or a newer phone, open" />
android:text="@string/pin_open" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="plex.tv/link" android:textSize="22sp" android:textStyle="bold"
android:textColor="@color/accent" android:paddingTop="4dp" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/text2" android:textSize="13sp" android:paddingTop="10dp"
android:text="and enter this code:" />
android:text="@string/pin_enter" />
<TextView android:id="@+id/pin_code"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textSize="40sp" android:textStyle="bold" android:typeface="monospace"
@@ -64,14 +64,14 @@
<TextView android:id="@+id/pin_status"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/text2" android:textSize="12sp" android:paddingLeft="8dp"
android:text="Waiting for you to link…" />
android:text="@string/pin_waiting" />
</LinearLayout>
<Button android:id="@+id/btn_pin_check" style="@style/ButtonAccent"
android:layout_width="match_parent" android:layout_marginTop="20dp"
android:text="I've entered it \u2014 check now" />
android:text="@string/pin_check_now" />
<Button android:id="@+id/btn_pin_cancel" style="@style/ButtonOutline"
android:layout_width="match_parent" android:layout_marginTop="10dp"
android:text="Cancel" />
android:text="@string/cancel" />
</LinearLayout>
<!-- manual -->
@@ -79,21 +79,21 @@
android:layout_width="match_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:visibility="gone">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Server address" android:textSize="18sp" android:textStyle="bold" />
android:text="@string/server_address" android:textSize="18sp" android:textStyle="bold" />
<TextView style="@style/Sub" android:layout_width="match_parent" android:layout_height="wrap_content"
android:singleLine="false" android:paddingTop="4dp" android:paddingBottom="10dp"
android:text="e.g. 192.168.1.20 or https://plex.example.com. Signing in with Plex is easier and finds remote addresses for you." />
android:text="@string/server_address_help" />
<EditText android:id="@+id/edit_url" style="@style/Edit"
android:hint="Address" android:inputType="textUri" />
android:hint="@string/address_hint" android:inputType="textUri" />
<EditText android:id="@+id/edit_token" style="@style/Edit"
android:layout_marginTop="8dp" android:hint="X-Plex-Token (optional on your LAN)"
android:layout_marginTop="8dp" android:hint="@string/token_hint"
android:inputType="textVisiblePassword" />
<Button android:id="@+id/btn_manual_go" style="@style/ButtonAccent"
android:layout_width="match_parent" android:layout_marginTop="14dp"
android:text="Connect" />
android:text="@string/connect" />
<Button android:id="@+id/btn_manual_back" style="@style/ButtonOutline"
android:layout_width="match_parent" android:layout_marginTop="10dp"
android:text="Back" />
android:text="@string/back" />
</LinearLayout>
<!-- choose server / library -->
@@ -111,7 +111,7 @@
android:orientation="vertical" />
<Button android:id="@+id/btn_choose_back" style="@style/ButtonOutline"
android:layout_width="match_parent" android:layout_marginTop="14dp"
android:text="Back" />
android:text="@string/back" />
</LinearLayout>
<!-- busy -->