android-localisation 1.6.0__tar.gz → 1.6.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. {android_localisation-1.6.0/android_localisation.egg-info → android_localisation-1.6.2}/PKG-INFO +9 -9
  2. {android_localisation-1.6.0 → android_localisation-1.6.2}/README.md +8 -8
  3. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/__init__.py +1 -1
  4. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/translate.py +5 -6
  5. {android_localisation-1.6.0 → android_localisation-1.6.2/android_localisation.egg-info}/PKG-INFO +9 -9
  6. {android_localisation-1.6.0 → android_localisation-1.6.2}/pyproject.toml +1 -1
  7. {android_localisation-1.6.0 → android_localisation-1.6.2}/LICENSE +0 -0
  8. {android_localisation-1.6.0 → android_localisation-1.6.2}/MANIFEST.in +0 -0
  9. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/__main__.py +0 -0
  10. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/cli.py +0 -0
  11. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/credentials.py +0 -0
  12. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/fix.py +0 -0
  13. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/java/VerifyStrings.java +0 -0
  14. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/locales.py +0 -0
  15. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/resources.py +0 -0
  16. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/setup_path.py +0 -0
  17. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/store_listing.py +0 -0
  18. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/updates.py +0 -0
  19. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation/verify.py +0 -0
  20. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation.egg-info/SOURCES.txt +0 -0
  21. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation.egg-info/dependency_links.txt +0 -0
  22. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation.egg-info/entry_points.txt +0 -0
  23. {android_localisation-1.6.0 → android_localisation-1.6.2}/android_localisation.egg-info/top_level.txt +0 -0
  24. {android_localisation-1.6.0 → android_localisation-1.6.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: android-localisation
3
- Version: 1.6.0
3
+ Version: 1.6.2
4
4
  Summary: Zero-dependency Android strings.xml and Google Play store listing translation using LLMs (Gemini, OpenAI, Anthropic, Ollama).
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/BharathKmalviya/android-llm-localization
@@ -136,7 +136,7 @@ prompts for a key during translation; use `credentials set` yourself beforehand.
136
136
  | What | Default |
137
137
  |---|---|
138
138
  | Provider | Gemini |
139
- | Model | `gemini-3.8-flash` |
139
+ | Model | `gemini-3.5-flash-lite` |
140
140
  | Source directory | `app/src/main/res` |
141
141
  | Delay between requests | 5 seconds |
142
142
  | App context | none (generic prompt) |
@@ -484,18 +484,18 @@ environment behavior. All commands can also run through `python -m android_local
484
484
 
485
485
  ## Providers
486
486
 
487
- By default the tool uses Gemini with `gemini-3.8-flash`. You can switch providers with `--provider` and optionally pin a specific model with `--model`. Configured defaults and fallbacks use only the latest general-purpose text-model lineup, with defaults favoring speed and cost within that lineup.
487
+ By default the tool uses Gemini 3.5 Flash-Lite (`gemini-3.5-flash-lite`) for both XML and store listing translation. You can switch providers with `--provider` and optionally pin a specific model with `--model`.
488
488
 
489
- | Provider | Default model | Fallbacks | API key env var |
489
+ | Provider | Default model | Fallback | API key env var |
490
490
  |---|---|---|---|
491
- | `gemini` _(default)_ | `gemini-3.8-flash` | none | `GEMINI_API_KEY` |
492
- | `openai` | `gpt-6-luna` | `gpt-6.1-sol` → `gpt-6-astra` | `OPENAI_API_KEY` |
493
- | `anthropic` | `claude-sonnet-5-5` | `claude-opus-5-5` | `ANTHROPIC_API_KEY` |
491
+ | `gemini` _(default)_ | `gemini-3.5-flash-lite` | `gemini-3.5-flash` | `GEMINI_API_KEY` |
492
+ | `openai` | `gpt-6-luna` | `gpt-5.6-terra` | `OPENAI_API_KEY` |
493
+ | `anthropic` | `claude-haiku-4-5` | `claude-sonnet-5-5` | `ANTHROPIC_API_KEY` |
494
494
  | `custom` | set with `--model` | none | `OPENAI_API_KEY` (optional) |
495
495
 
496
- If the default model returns a "model not found" error (e.g. it was deprecated), the tool automatically retries with the next fallback. If you pin a model with `--model`, no fallback is used.
496
+ Each hosted provider has exactly one automatic fallback. If the default model returns a "model not found" error (e.g. it was deprecated), the tool retries with that fallback. Authentication, quota and network errors do not trigger a model fallback. If you pin a model with `--model`, no fallback is used.
497
497
 
498
- Model IDs and compatibility checked against [Google's model catalog](https://ai.google.dev/gemini-api/docs/models), [OpenAI's model catalog](https://developers.openai.com/api/docs/models) and [Anthropic's model catalog](https://platform.claude.com/docs/en/models/overview) on **2026-10-02**. Older Gemini, GPT-5 and Haiku 4.5 models are excluded from automatic selection. Gemini has no fallback in its latest stable text generation. OpenAI and Anthropic fallbacks are higher-cost models; pin `--model` to avoid automatic tier changes. Explicit model selection and custom/local endpoints remain available. The catalog is bundled with each CLI release, rather than automatically discovering models at runtime.
498
+ These default/fallback pairs follow the selected configuration. Gemini model IDs were checked against [Flash-Lite](https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite) and [Flash](https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash) documentation; the OpenAI fallback against [GPT-5.6 Terra](https://developers.openai.com/api/docs/models/gpt-5.6-terra); and Anthropic's default/fallback against its [model migration guide](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide) on **2026-10-05**. The existing OpenAI default was checked on **2026-10-02**. Pin `--model` to avoid automatic model changes. Explicit model selection and custom/local endpoints remain available. The catalog is bundled with each CLI release, rather than automatically discovering models at runtime.
499
499
 
500
500
  OpenAI and local providers retain the Chat Completions request format. Provider replies indicating truncation or blocked/incomplete output are rejected. Anthropic allows up to 16,384 output tokens per request and text blocks are collected separately from thinking blocks. Large files can still exceed a model's limits; automatic batching is future work.
501
501
 
@@ -108,7 +108,7 @@ prompts for a key during translation; use `credentials set` yourself beforehand.
108
108
  | What | Default |
109
109
  |---|---|
110
110
  | Provider | Gemini |
111
- | Model | `gemini-3.8-flash` |
111
+ | Model | `gemini-3.5-flash-lite` |
112
112
  | Source directory | `app/src/main/res` |
113
113
  | Delay between requests | 5 seconds |
114
114
  | App context | none (generic prompt) |
@@ -456,18 +456,18 @@ environment behavior. All commands can also run through `python -m android_local
456
456
 
457
457
  ## Providers
458
458
 
459
- By default the tool uses Gemini with `gemini-3.8-flash`. You can switch providers with `--provider` and optionally pin a specific model with `--model`. Configured defaults and fallbacks use only the latest general-purpose text-model lineup, with defaults favoring speed and cost within that lineup.
459
+ By default the tool uses Gemini 3.5 Flash-Lite (`gemini-3.5-flash-lite`) for both XML and store listing translation. You can switch providers with `--provider` and optionally pin a specific model with `--model`.
460
460
 
461
- | Provider | Default model | Fallbacks | API key env var |
461
+ | Provider | Default model | Fallback | API key env var |
462
462
  |---|---|---|---|
463
- | `gemini` _(default)_ | `gemini-3.8-flash` | none | `GEMINI_API_KEY` |
464
- | `openai` | `gpt-6-luna` | `gpt-6.1-sol` → `gpt-6-astra` | `OPENAI_API_KEY` |
465
- | `anthropic` | `claude-sonnet-5-5` | `claude-opus-5-5` | `ANTHROPIC_API_KEY` |
463
+ | `gemini` _(default)_ | `gemini-3.5-flash-lite` | `gemini-3.5-flash` | `GEMINI_API_KEY` |
464
+ | `openai` | `gpt-6-luna` | `gpt-5.6-terra` | `OPENAI_API_KEY` |
465
+ | `anthropic` | `claude-haiku-4-5` | `claude-sonnet-5-5` | `ANTHROPIC_API_KEY` |
466
466
  | `custom` | set with `--model` | none | `OPENAI_API_KEY` (optional) |
467
467
 
468
- If the default model returns a "model not found" error (e.g. it was deprecated), the tool automatically retries with the next fallback. If you pin a model with `--model`, no fallback is used.
468
+ Each hosted provider has exactly one automatic fallback. If the default model returns a "model not found" error (e.g. it was deprecated), the tool retries with that fallback. Authentication, quota and network errors do not trigger a model fallback. If you pin a model with `--model`, no fallback is used.
469
469
 
470
- Model IDs and compatibility checked against [Google's model catalog](https://ai.google.dev/gemini-api/docs/models), [OpenAI's model catalog](https://developers.openai.com/api/docs/models) and [Anthropic's model catalog](https://platform.claude.com/docs/en/models/overview) on **2026-10-02**. Older Gemini, GPT-5 and Haiku 4.5 models are excluded from automatic selection. Gemini has no fallback in its latest stable text generation. OpenAI and Anthropic fallbacks are higher-cost models; pin `--model` to avoid automatic tier changes. Explicit model selection and custom/local endpoints remain available. The catalog is bundled with each CLI release, rather than automatically discovering models at runtime.
470
+ These default/fallback pairs follow the selected configuration. Gemini model IDs were checked against [Flash-Lite](https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite) and [Flash](https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash) documentation; the OpenAI fallback against [GPT-5.6 Terra](https://developers.openai.com/api/docs/models/gpt-5.6-terra); and Anthropic's default/fallback against its [model migration guide](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide) on **2026-10-05**. The existing OpenAI default was checked on **2026-10-02**. Pin `--model` to avoid automatic model changes. Explicit model selection and custom/local endpoints remain available. The catalog is bundled with each CLI release, rather than automatically discovering models at runtime.
471
471
 
472
472
  OpenAI and local providers retain the Chat Completions request format. Provider replies indicating truncation or blocked/incomplete output are rejected. Anthropic allows up to 16,384 output tokens per request and text blocks are collected separately from thinking blocks. Large files can still exceed a model's limits; automatic batching is future work.
473
473
 
@@ -2,4 +2,4 @@
2
2
  android-localisation: Zero-dependency Android XML and Play listing translation using LLMs.
3
3
  """
4
4
 
5
- __version__ = "1.6.0"
5
+ __version__ = "1.6.2"
@@ -31,20 +31,19 @@ MAX_TIMEOUT_RETRIES = 2
31
31
 
32
32
  # Ordered list of models per provider.
33
33
  # First entry = default. Rest = automatic fallbacks (used only when user hasn't pinned a model).
34
- # Latest text-model lineup checked against official catalogs on 2026-10-02.
35
- # Do not add older-generation models as automatic fallbacks.
34
+ # User-selected defaults with one fallback each; changed model IDs checked on 2026-10-05.
36
35
  PROVIDER_MODELS = {
37
36
  "gemini": [
38
- "gemini-3.8-flash",
37
+ "gemini-3.5-flash-lite",
38
+ "gemini-3.5-flash",
39
39
  ],
40
40
  "openai": [
41
41
  "gpt-6-luna",
42
- "gpt-6.1-sol",
43
- "gpt-6-astra",
42
+ "gpt-5.6-terra",
44
43
  ],
45
44
  "anthropic": [
45
+ "claude-haiku-4-5",
46
46
  "claude-sonnet-5-5",
47
- "claude-opus-5-5",
48
47
  ],
49
48
  "custom": [], # user must specify --model
50
49
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: android-localisation
3
- Version: 1.6.0
3
+ Version: 1.6.2
4
4
  Summary: Zero-dependency Android strings.xml and Google Play store listing translation using LLMs (Gemini, OpenAI, Anthropic, Ollama).
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/BharathKmalviya/android-llm-localization
@@ -136,7 +136,7 @@ prompts for a key during translation; use `credentials set` yourself beforehand.
136
136
  | What | Default |
137
137
  |---|---|
138
138
  | Provider | Gemini |
139
- | Model | `gemini-3.8-flash` |
139
+ | Model | `gemini-3.5-flash-lite` |
140
140
  | Source directory | `app/src/main/res` |
141
141
  | Delay between requests | 5 seconds |
142
142
  | App context | none (generic prompt) |
@@ -484,18 +484,18 @@ environment behavior. All commands can also run through `python -m android_local
484
484
 
485
485
  ## Providers
486
486
 
487
- By default the tool uses Gemini with `gemini-3.8-flash`. You can switch providers with `--provider` and optionally pin a specific model with `--model`. Configured defaults and fallbacks use only the latest general-purpose text-model lineup, with defaults favoring speed and cost within that lineup.
487
+ By default the tool uses Gemini 3.5 Flash-Lite (`gemini-3.5-flash-lite`) for both XML and store listing translation. You can switch providers with `--provider` and optionally pin a specific model with `--model`.
488
488
 
489
- | Provider | Default model | Fallbacks | API key env var |
489
+ | Provider | Default model | Fallback | API key env var |
490
490
  |---|---|---|---|
491
- | `gemini` _(default)_ | `gemini-3.8-flash` | none | `GEMINI_API_KEY` |
492
- | `openai` | `gpt-6-luna` | `gpt-6.1-sol` → `gpt-6-astra` | `OPENAI_API_KEY` |
493
- | `anthropic` | `claude-sonnet-5-5` | `claude-opus-5-5` | `ANTHROPIC_API_KEY` |
491
+ | `gemini` _(default)_ | `gemini-3.5-flash-lite` | `gemini-3.5-flash` | `GEMINI_API_KEY` |
492
+ | `openai` | `gpt-6-luna` | `gpt-5.6-terra` | `OPENAI_API_KEY` |
493
+ | `anthropic` | `claude-haiku-4-5` | `claude-sonnet-5-5` | `ANTHROPIC_API_KEY` |
494
494
  | `custom` | set with `--model` | none | `OPENAI_API_KEY` (optional) |
495
495
 
496
- If the default model returns a "model not found" error (e.g. it was deprecated), the tool automatically retries with the next fallback. If you pin a model with `--model`, no fallback is used.
496
+ Each hosted provider has exactly one automatic fallback. If the default model returns a "model not found" error (e.g. it was deprecated), the tool retries with that fallback. Authentication, quota and network errors do not trigger a model fallback. If you pin a model with `--model`, no fallback is used.
497
497
 
498
- Model IDs and compatibility checked against [Google's model catalog](https://ai.google.dev/gemini-api/docs/models), [OpenAI's model catalog](https://developers.openai.com/api/docs/models) and [Anthropic's model catalog](https://platform.claude.com/docs/en/models/overview) on **2026-10-02**. Older Gemini, GPT-5 and Haiku 4.5 models are excluded from automatic selection. Gemini has no fallback in its latest stable text generation. OpenAI and Anthropic fallbacks are higher-cost models; pin `--model` to avoid automatic tier changes. Explicit model selection and custom/local endpoints remain available. The catalog is bundled with each CLI release, rather than automatically discovering models at runtime.
498
+ These default/fallback pairs follow the selected configuration. Gemini model IDs were checked against [Flash-Lite](https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite) and [Flash](https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash) documentation; the OpenAI fallback against [GPT-5.6 Terra](https://developers.openai.com/api/docs/models/gpt-5.6-terra); and Anthropic's default/fallback against its [model migration guide](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide) on **2026-10-05**. The existing OpenAI default was checked on **2026-10-02**. Pin `--model` to avoid automatic model changes. Explicit model selection and custom/local endpoints remain available. The catalog is bundled with each CLI release, rather than automatically discovering models at runtime.
499
499
 
500
500
  OpenAI and local providers retain the Chat Completions request format. Provider replies indicating truncation or blocked/incomplete output are rejected. Anthropic allows up to 16,384 output tokens per request and text blocks are collected separately from thinking blocks. Large files can still exceed a model's limits; automatic batching is future work.
501
501
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "android-localisation"
7
- version = "1.6.0"
7
+ version = "1.6.2"
8
8
  description = "Zero-dependency Android strings.xml and Google Play store listing translation using LLMs (Gemini, OpenAI, Anthropic, Ollama)."
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }