From 9c79e073bef617f54397e695273589b1f121eaf6 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 16 Aug 2026 09:49:25 +0200 Subject: [PATCH 1/6] Write the store copy before the release, not during it The "What's New" text was typed into App Store Connect at submission and translated by hand. scripts/store-copy.py now writes it from the changelog, one agent per language and a second one reading each draft back, and the release run uploads it and refuses a version any locale is missing. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Xryx81PvamT674wzzQujjg --- .github/workflows/release.yml | 45 +++ README.md | 26 +- fastlane/Fastfile | 59 +++ fastlane/README.md | 60 ++- fastlane/metadata/README.md | 49 +++ fastlane/metadata/de-DE/changelogs/1.41.txt | 3 + fastlane/metadata/de-DE/release_notes.txt | 1 - fastlane/metadata/en-US/changelogs/README.md | 23 -- fastlane/metadata/en-US/release_notes.txt | 1 - fastlane/metadata/es-ES/changelogs/1.41.txt | 3 + fastlane/metadata/es-ES/release_notes.txt | 1 - fastlane/metadata/fr-FR/changelogs/1.41.txt | 3 + fastlane/metadata/fr-FR/release_notes.txt | 1 - fastlane/metadata/hi/changelogs/1.41.txt | 3 + fastlane/metadata/hi/release_notes.txt | 1 - fastlane/metadata/it/changelogs/1.41.txt | 3 + fastlane/metadata/it/release_notes.txt | 1 - fastlane/metadata/pl/changelogs/1.41.txt | 3 + fastlane/metadata/pl/release_notes.txt | 1 - fastlane/metadata/pt-BR/changelogs/1.41.txt | 3 + fastlane/metadata/pt-BR/release_notes.txt | 1 - fastlane/metadata/ru/changelogs/1.41.txt | 3 + fastlane/metadata/ru/release_notes.txt | 1 - fastlane/metadata/sv/changelogs/1.41.txt | 3 + fastlane/metadata/sv/release_notes.txt | 1 - fastlane/metadata/tr/changelogs/1.41.txt | 3 + fastlane/metadata/tr/release_notes.txt | 1 - scripts/store-copy.py | 393 +++++++++++++++++++ scripts/store-notes.py | 131 +++++++ 29 files changed, 790 insertions(+), 37 deletions(-) create mode 100644 fastlane/metadata/README.md create mode 100644 fastlane/metadata/de-DE/changelogs/1.41.txt delete mode 100644 fastlane/metadata/de-DE/release_notes.txt delete mode 100644 fastlane/metadata/en-US/changelogs/README.md delete mode 100644 fastlane/metadata/en-US/release_notes.txt create mode 100644 fastlane/metadata/es-ES/changelogs/1.41.txt delete mode 100644 fastlane/metadata/es-ES/release_notes.txt create mode 100644 fastlane/metadata/fr-FR/changelogs/1.41.txt delete mode 100644 fastlane/metadata/fr-FR/release_notes.txt create mode 100644 fastlane/metadata/hi/changelogs/1.41.txt delete mode 100644 fastlane/metadata/hi/release_notes.txt create mode 100644 fastlane/metadata/it/changelogs/1.41.txt delete mode 100644 fastlane/metadata/it/release_notes.txt create mode 100644 fastlane/metadata/pl/changelogs/1.41.txt delete mode 100644 fastlane/metadata/pl/release_notes.txt create mode 100644 fastlane/metadata/pt-BR/changelogs/1.41.txt delete mode 100644 fastlane/metadata/pt-BR/release_notes.txt create mode 100644 fastlane/metadata/ru/changelogs/1.41.txt delete mode 100644 fastlane/metadata/ru/release_notes.txt create mode 100644 fastlane/metadata/sv/changelogs/1.41.txt delete mode 100644 fastlane/metadata/sv/release_notes.txt create mode 100644 fastlane/metadata/tr/changelogs/1.41.txt delete mode 100644 fastlane/metadata/tr/release_notes.txt create mode 100755 scripts/store-copy.py create mode 100755 scripts/store-notes.py diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2777d55..4e26c62 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -69,6 +69,14 @@ jobs: version: ${{ steps.version.outputs.version }} run: .github/scripts/changelog-section.py --version "$version" + # what the notes job uploads, so a missing translation fails here rather + # than once both apps are up + - name: check the store copy is written in every locale + if: ${{ steps.version.outputs.version != '' }} + env: + version: ${{ steps.version.outputs.version }} + run: scripts/store-notes.py --version "$version" + - uses: ruby/setup-ruby@v1 with: bundler-cache: true @@ -207,6 +215,43 @@ jobs: ASC_KEY_CONTENT: ${{ secrets.ASC_KEY_CONTENT }} run: bundle exec fastlane ios ${{ matrix.lane }} + # its own job because notes stay editable until the version is submitted, + # while a build cannot be uploaded twice. No macOS runner: this touches the + # listing, not the app + notes: + needs: upload + if: ${{ !inputs.dry_run }} + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + include: + - app: pro + lane: uploadNotesPro + - app: lite + lane: uploadNotesLite + steps: + - name: checkout + uses: actions/checkout@v7 + + - uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + + - name: resolve version + id: version + env: + given: ${{ inputs.version }} + run: .github/scripts/resolve-version.py --input "$given" --dry-run "$dry_run" + + - name: write ${{ matrix.app }}'s release notes + env: + ASC_KEY_ID: ${{ secrets.ASC_KEY_ID }} + ASC_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }} + ASC_KEY_CONTENT: ${{ secrets.ASC_KEY_CONTENT }} + ODR_VERSION: ${{ steps.version.outputs.version }} + run: bundle exec fastlane ios ${{ matrix.lane }} + record: needs: upload if: ${{ !inputs.dry_run }} diff --git a/README.md b/README.md index 51fa334..30e4617 100644 --- a/README.md +++ b/README.md @@ -116,12 +116,13 @@ in App Store Connect: gh workflow run release.yml -f version=1.38 ``` -It runs as three jobs: +It runs as four jobs: | job | what it does | | --- | --- | | `build` | one run producing both signed `.ipa`s, archived on the run | | `upload` | one job per app, uploading its `.ipa` | +| `notes` | one job per app, writing the release notes onto its listing | | `record` | once both landed: tag the build, draft the GitHub release | Both apps always go out together, and nothing chooses one: Pro and Lite are the @@ -131,6 +132,29 @@ same sources built as two targets, one of which links no ad sdk. again, against the `.ipa` already built and signed - build number included, since it is baked in at archive time - and `record` runs behind it once it lands. +### The release notes + +The "What's New" text of every locale is written before the release, not typed +into App Store Connect during it: + +```sh +scripts/store-copy.py 1.41 +``` + +The English comes from the `CHANGELOG.md` section of that version - or from +`Unreleased`, where a version being cut still sits - and every other locale is +translated by an agent of its own, given that locale's store description and the +release before it, so the notes keep the words the listing already uses in that +language. A second agent reads each draft back against the English before it is +written. Read the diff, then commit it with the pull request that cuts the +heading. + +The copy lives in `fastlane/metadata//changelogs/1.41.txt`, one file per +version per locale, because App Store Connect keeps only the notes of the +submission in flight. `scripts/store-notes.py` checks it - the release run +refuses a version any locale is missing, before it builds anything - and stages +it into the shape `deliver` reads. See `fastlane/metadata/README.md`. + Nothing has to be committed to cut a release, and a release leaves no commit behind either. Both halves of the version come from outside the tree: diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 0d45116..5692f91 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -15,6 +15,10 @@ APPS = { # Resolved at parse time, which fastlane also does from fastlane/. IPA_DIR = File.expand_path("../build").freeze +# Absolute for the same reason. It resolves the repository from its own path, so +# it does not care which of the two it is called from. +STORE_NOTES = File.expand_path("../scripts/store-notes.py").freeze + def dry_run? ENV["ODR_DRY_RUN"].to_s.strip == "true" end @@ -45,6 +49,16 @@ platform :ios do upload_ipa(APPS[:lite]) end + desc "Write ODR_VERSION's release notes onto the paid app's listing" + lane :uploadNotesPro do + upload_notes(APPS[:pro]) + end + + desc "Write ODR_VERSION's release notes onto the ad supported app's listing" + lane :uploadNotesLite do + upload_notes(APPS[:lite]) + end + desc "Build and upload the paid app" lane :deployPro do build_ipa(APPS[:pro]) @@ -209,4 +223,49 @@ platform :ios do FileUtils.remove_entry(File.dirname(key_path), true) end end + + # The "What's New" text of ODR_VERSION, in every locale the listing has. + # + # deliver uploads every metadata file it finds under metadata_path, so it is + # given a directory staged with nothing but one release_notes.txt per locale. + # The descriptions checked in beside them are a snapshot of the listing, not a + # statement of what it should say. + # + # Separate from upload_ipa so a note can be rewritten and pushed again without + # touching the binary, which App Store Connect refuses a second time anyway. + private_lane :upload_notes do |options| + version = ENV["ODR_VERSION"].to_s.strip + UI.user_error!("no version to write notes for: set ODR_VERSION (e.g. ODR_VERSION=1.41)") if version.empty? + + notes_dir = Dir.mktmpdir("release-notes") + key_path = nil + + begin + # first, so a version some locale has no copy for fails before a key is + # ever written to disk + sh(STORE_NOTES, "--version", version, "--stage", notes_dir) + key_path = api_key_file + + upload_to_app_store( + api_key: asc_key(path: key_path), + app_identifier: options[:app_identifier], + # creates the version when App Store Connect has none yet, which is the + # usual case: the build is still processing when this runs + app_version: version, + metadata_path: notes_dir, + skip_binary_upload: true, + skip_screenshots: true, + skip_metadata: false, + # deliver otherwise opens an HTML preview and waits to be told it is fine + force: true, + # same as the binary upload: precheck cannot read in-app purchases with + # an API key, and nothing is being submitted here either + run_precheck_before_submit: false, + submit_for_review: false + ) + ensure + FileUtils.remove_entry(File.dirname(key_path), true) if key_path + FileUtils.remove_entry(notes_dir, true) + end + end end diff --git a/fastlane/README.md b/fastlane/README.md index 0e08cad..3e51659 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -15,13 +15,61 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do ## iOS +### ios buildPro + +```sh +[bundle exec] fastlane ios buildPro +``` + +Build a signed .ipa of the paid app + +### ios buildLite + +```sh +[bundle exec] fastlane ios buildLite +``` + +Build a signed .ipa of the ad supported app + +### ios uploadPro + +```sh +[bundle exec] fastlane ios uploadPro +``` + +Upload an already built Pro .ipa to App Store Connect + +### ios uploadLite + +```sh +[bundle exec] fastlane ios uploadLite +``` + +Upload an already built Lite .ipa + +### ios uploadNotesPro + +```sh +[bundle exec] fastlane ios uploadNotesPro +``` + +Write ODR_VERSION's release notes onto the paid app's listing + +### ios uploadNotesLite + +```sh +[bundle exec] fastlane ios uploadNotesLite +``` + +Write ODR_VERSION's release notes onto the ad supported app's listing + ### ios deployPro ```sh [bundle exec] fastlane ios deployPro ``` -Push a new release build of the paid app to the App Store +Build and upload the paid app ### ios deployLite @@ -29,7 +77,15 @@ Push a new release build of the paid app to the App Store [bundle exec] fastlane ios deployLite ``` -Push a new release build of the ad supported app to the App Store +Build and upload the ad supported app + +### ios resolveBuildNumber + +```sh +[bundle exec] fastlane ios resolveBuildNumber +``` + +Print the build number both apps would get ### ios tests diff --git a/fastlane/metadata/README.md b/fastlane/metadata/README.md new file mode 100644 index 0000000..a6c42ac --- /dev/null +++ b/fastlane/metadata/README.md @@ -0,0 +1,49 @@ +# Store metadata + +What App Store Connect shows about the app, one directory per locale. + +Only the release notes are ever uploaded from here. Everything else - +descriptions, keywords, names - is a snapshot of the listing taken with +`deliver init`, kept for reading, and never pushed. + +## Release notes + +`/changelogs/1.41.txt`, one file per marketing version per locale, +holding the "What's New" text of that submission. Written for people using the +app, not for this repository - the developer-facing record of the same release +is `CHANGELOG.md` at the root. + +Named by marketing version, not by build number. The build number is a live +query of what TestFlight already has, so it is not known until a release run +starts and cannot name a file committed ahead of it. + +App Store Connect keeps only the notes of the version being submitted, so these +files are the history the store does not keep. The limit is 4000 characters per +locale. + +`deliver` does not read this layout. It reads one `release_notes.txt` per +locale, so `scripts/store-notes.py` stages those into a throwaway directory at +upload time - holding nothing else, which is what keeps the descriptions beside +them out of the upload. + +## Writing them + +```sh +scripts/store-copy.py 1.41 +``` + +The English text comes from the `CHANGELOG.md` section of that version, or from +`Unreleased` while the heading is still open; a file already written by hand is +left alone. Every other locale is then translated by an agent of its own, given +that locale's `description.txt` and the release before it, so the notes reach +for the words the listing already uses in that language. + +A second agent then reads that draft against the English, in the same language, +because what a first draft gets wrong is not something it can see: a word +borrowed for its sound rather than its sense reads fine to whoever wrote it. + +It writes; it does not upload, and it does not judge. Read the diff before +committing it - it goes to the store as written. + +The release run refuses a version any locale has no copy for, before it builds +anything. diff --git a/fastlane/metadata/de-DE/changelogs/1.41.txt b/fastlane/metadata/de-DE/changelogs/1.41.txt new file mode 100644 index 0000000..dca4afb --- /dev/null +++ b/fastlane/metadata/de-DE/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- PDFs zeigt die App jetzt selbst an – sie passen sich dem Bildschirm an und verhalten sich wie jedes andere Dokument +- Die Schaltflächen zum Suchen und Bearbeiten gibt es nur bei Dokumenten, die sich durchsuchen oder bearbeiten lassen +- Beim Bearbeiten wird aus dem Stift eine Speichern-Schaltfläche – so speichern Sie mit einem Fingertipp diff --git a/fastlane/metadata/de-DE/release_notes.txt b/fastlane/metadata/de-DE/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/de-DE/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/en-US/changelogs/README.md b/fastlane/metadata/en-US/changelogs/README.md deleted file mode 100644 index 37b16af..0000000 --- a/fastlane/metadata/en-US/changelogs/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Release notes - -One file per marketing version, holding the "What's New" text for that -submission. Written for users of the app, not for this repository: the -developer-facing record of the same release is in `CHANGELOG.md` at the root. - -Named by marketing version (`1.37.txt`), not by build number. The build number -is a live query of what TestFlight already has, so it is not known until a -release run starts and cannot name a file committed ahead of it. - -`deliver` does not read this directory. It reads one file per locale, -`fastlane/metadata//release_notes.txt`, and the upload skips metadata -entirely (`skip_metadata: true` in `fastlane/Fastfile`), because promoting a -build is a deliberate step in App Store Connect rather than something a tag -push does. So the notes for a release are pasted into App Store Connect by -hand, from the file for that version. - -App Store Connect keeps only the notes for the version being submitted, so -these files are the history that the store does not keep. The limit is 4000 -characters. - -Only en-US is kept, matching OpenDocument.droid. Other locales fall back to the -English text in the store. diff --git a/fastlane/metadata/en-US/release_notes.txt b/fastlane/metadata/en-US/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/en-US/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/es-ES/changelogs/1.41.txt b/fastlane/metadata/es-ES/changelogs/1.41.txt new file mode 100644 index 0000000..a4bab9d --- /dev/null +++ b/fastlane/metadata/es-ES/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- Los PDF se muestran con el motor propio de la aplicación: se ajustan a la pantalla y funcionan como cualquier otro documento +- Los botones de búsqueda y edición solo aparecen en los documentos que se pueden buscar o editar +- Al editar un documento, el lápiz se convierte en un botón de guardar: basta con un toque diff --git a/fastlane/metadata/es-ES/release_notes.txt b/fastlane/metadata/es-ES/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/es-ES/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/fr-FR/changelogs/1.41.txt b/fastlane/metadata/fr-FR/changelogs/1.41.txt new file mode 100644 index 0000000..62c0e3d --- /dev/null +++ b/fastlane/metadata/fr-FR/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- Le moteur intégré affiche désormais les PDF : ils s'adaptent à l'écran et se comportent comme tous les autres documents +- Les boutons de recherche et de modification n'apparaissent que pour les documents qui les prennent en charge +- Pendant la modification, le crayon devient un bouton d'enregistrement : il suffit d'un appui diff --git a/fastlane/metadata/fr-FR/release_notes.txt b/fastlane/metadata/fr-FR/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/fr-FR/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/hi/changelogs/1.41.txt b/fastlane/metadata/hi/changelogs/1.41.txt new file mode 100644 index 0000000..9e77d18 --- /dev/null +++ b/fastlane/metadata/hi/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- अब PDF को ऐप का अपना इंजन दिखाता है, इसलिए वे स्क्रीन पर ठीक बैठते हैं और बाकी डॉक्यूमेंट्स की तरह ही काम करते हैं +- खोज और एडिट के बटन सिर्फ उन्हीं डॉक्यूमेंट्स पर दिखते हैं जिन्हें खोजा या एडिट किया जा सकता है +- डॉक्यूमेंट एडिट करते ही पेंसिल सेव बटन में बदल जाती है, फिर सेव करना बस एक टैप का काम है diff --git a/fastlane/metadata/hi/release_notes.txt b/fastlane/metadata/hi/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/hi/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/it/changelogs/1.41.txt b/fastlane/metadata/it/changelogs/1.41.txt new file mode 100644 index 0000000..6916cad --- /dev/null +++ b/fastlane/metadata/it/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- I PDF vengono visualizzati dal motore interno dell'app: si adattano allo schermo e si comportano come ogni altro documento +- I pulsanti di ricerca e modifica compaiono solo nei documenti che si possono cercare o modificare +- Quando modifichi un documento, la matita diventa un pulsante di salvataggio: salvi con un tocco diff --git a/fastlane/metadata/it/release_notes.txt b/fastlane/metadata/it/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/it/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/pl/changelogs/1.41.txt b/fastlane/metadata/pl/changelogs/1.41.txt new file mode 100644 index 0000000..9804f0a --- /dev/null +++ b/fastlane/metadata/pl/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- Pliki PDF wyświetla własny silnik aplikacji, więc dopasowują się do ekranu i działają jak każdy inny dokument +- Przyciski wyszukiwania i edycji pojawiają się tylko w dokumentach, które można przeszukiwać lub edytować +- Podczas edycji dokumentu ołówek zamienia się w przycisk zapisu — zapisujesz jednym dotknięciem diff --git a/fastlane/metadata/pl/release_notes.txt b/fastlane/metadata/pl/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/pl/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/pt-BR/changelogs/1.41.txt b/fastlane/metadata/pt-BR/changelogs/1.41.txt new file mode 100644 index 0000000..ec42498 --- /dev/null +++ b/fastlane/metadata/pt-BR/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- Os PDFs são exibidos pelo próprio app, então cabem na tela e funcionam como qualquer outro documento +- Os botões de pesquisa e edição só aparecem nos documentos que dá para pesquisar ou modificar +- Ao modificar um documento, o lápis vira um botão de salvar, assim você salva com um toque diff --git a/fastlane/metadata/pt-BR/release_notes.txt b/fastlane/metadata/pt-BR/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/pt-BR/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/ru/changelogs/1.41.txt b/fastlane/metadata/ru/changelogs/1.41.txt new file mode 100644 index 0000000..d38713f --- /dev/null +++ b/fastlane/metadata/ru/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- Файлы PDF теперь показывает само приложение — они подстраиваются под экран и ведут себя как остальные документы +- Кнопки поиска и редактирования есть только у документов, которые это поддерживают +- При редактировании документа карандаш превращается в кнопку сохранения — сохранить можно одним нажатием diff --git a/fastlane/metadata/ru/release_notes.txt b/fastlane/metadata/ru/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/ru/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/sv/changelogs/1.41.txt b/fastlane/metadata/sv/changelogs/1.41.txt new file mode 100644 index 0000000..102872f --- /dev/null +++ b/fastlane/metadata/sv/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- PDF-filer visas med appens egen motor, så de anpassas efter skärmen och fungerar som alla andra dokument +- Sök- och redigeringsknapparna visas bara för dokument som går att söka i eller redigera +- När du redigerar ett dokument blir pennan en sparaknapp, så du sparar med ett tryck diff --git a/fastlane/metadata/sv/release_notes.txt b/fastlane/metadata/sv/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/sv/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/fastlane/metadata/tr/changelogs/1.41.txt b/fastlane/metadata/tr/changelogs/1.41.txt new file mode 100644 index 0000000..162975d --- /dev/null +++ b/fastlane/metadata/tr/changelogs/1.41.txt @@ -0,0 +1,3 @@ +- PDF'ler uygulamanın kendi motoruyla görüntüleniyor; böylece ekrana sığıyor ve diğer belgeler gibi çalışıyor +- Arama ve düzenleme düğmeleri yalnızca aranabilen veya düzenlenebilen belgelerde görünüyor +- Bir belgeyi düzenlerken kalem simgesi kaydetme düğmesine dönüşüyor; kaydetmek için tek dokunuş yetiyor diff --git a/fastlane/metadata/tr/release_notes.txt b/fastlane/metadata/tr/release_notes.txt deleted file mode 100644 index 4ec8719..0000000 --- a/fastlane/metadata/tr/release_notes.txt +++ /dev/null @@ -1 +0,0 @@ -Add search functionality for ODF documents diff --git a/scripts/store-copy.py b/scripts/store-copy.py new file mode 100755 index 0000000..83c9f17 --- /dev/null +++ b/scripts/store-copy.py @@ -0,0 +1,393 @@ +#!/usr/bin/env python3 +# +# Writes the store copy of one release: the English "What's New" text, and one +# translation per locale the listing has. +# +# scripts/store-copy.py 1.41 write whatever is missing +# scripts/store-copy.py 1.41 --english rewrite the English too +# scripts/store-copy.py 1.41 --dry-run print it, write nothing +# +# One `claude -p` per language rather than one call holding all of them. Each +# agent is given that locale's own description.txt and the notes of the release +# before it, so it reaches for the words the listing already uses in that +# language instead of translating the English afresh every release. They run at +# the same time, and a language that comes back wrong is retried on its own. +# +# A second agent then reads the draft against the English, in the same language, +# and rewrites what reads as English wearing that language's words. `--no-review` +# skips it. +# +# The English is written from the CHANGELOG.md section of that version, or from +# Unreleased while the heading is still open. A file that is already there is +# left alone and translated, since that is the copy that was reviewed. +# +# Nothing here uploads: `scripts/store-notes.py` checks and stages what this +# writes, and the release run uploads it. + +import argparse +import concurrent.futures +import importlib.util +import subprocess +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent + + +def load(path, name): + """Import a sibling script, whose file name is not an identifier.""" + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +notes = load(ROOT / "scripts" / "store-notes.py", "store_notes") +changelog = load(ROOT / ".github" / "scripts" / "changelog-section.py", "changelog_section") + +SOURCE = "en-US" + +# What each locale directory is asking to be written in. A locale with no name +# here is refused rather than guessed at, since the guess would be uploaded. +LANGUAGES = { + "de-DE": "German", + "en-US": "English", + "es-ES": "Spanish, as written in Spain", + "fr-FR": "French", + "hi": "Hindi", + "it": "Italian", + "pl": "Polish", + "pt-BR": "Portuguese, as written in Brazil", + "ru": "Russian", + "sv": "Swedish", + "tr": "Turkish", +} + +APP = ( + "OpenDocument Reader, an iOS app for reading and editing documents made with " + "LibreOffice and OpenOffice" +) + +ENGLISH_PROMPT = """You are writing the App Store "What's New" text for version {version} of {app}. + +Below is the developer-facing changelog of this release, and the text that was written for the release before it. + +Write the same release for the people who use the app: +- one line per change, each starting with "- " +- four lines at most; leave out anything nobody would notice from the outside +- plain words. No jargon, no version numbers, no names of internals, nothing that reads like marketing +- say what is different for them, not what was implemented +- no full stop at the end of a line, matching the sample + +Reply with those lines and nothing else. + + +{section} + + + +{previous} + +""" + +TRANSLATION_PROMPT = """You are translating the App Store "What's New" text of {app} into {language}, for its {locale} listing. + +The app has said things in {language} before. Its store description is below, and so are the notes of an earlier release where there are any. Use the words they use for the parts of the app - document, page, search, edit, save - rather than translating the English afresh. + +- one line out for every line in, in the same order +- keep the leading "- " +- write it as {language} is written, not as English word order carried over. Keep it as short as the English +- leave "OpenDocument Reader" and the format names (ODT, ODS, ODP, PDF) alone + +Reply with the translated lines and nothing else. + + +{english} + + + +{description} + + + +{previous} + +""" + +REVIEW_PROMPT = """You are a {language} speaker reading the App Store "What's New" text of {app} before it goes out in the {locale} listing. It has been translated from the English below, and you are the last person to see it. + +Change a line when it says something the English does not, when it drops something the English says, or when it reads like translated English rather than {language}: a word borrowed as it sounds rather than as it means, English word order carried over, an English word left standing where {language} has an ordinary one of its own, or a word nobody would use for that part of the app. The store description below is how the app already speaks {language}; a line should not contradict it. + +This is read by someone using the app, not building it, so a word out of the workshop - engine, render, parser - is wrong even where it is accurate. + +Leave alone a line that is already right. A rewrite that is only different is worse than no rewrite. + +Reply with the lines as they should go out - the ones you changed and the ones you did not - and nothing else. One line for every line in the English, in the same order, each starting with "- ", no full stop at the end. + + +{english} + + + +{draft} + + + +{description} + +""" + + +def version_key(name): + return tuple(int(part) for part in name.split(".")) + + +def previous_copy(locale, version): + """The newest release before this one that has copy in this locale, or "".""" + folder = notes.METADATA / locale / "changelogs" + if not folder.is_dir(): + return "" + + earlier = [] + for path in folder.glob("*.txt"): + try: + key = version_key(path.stem) + except ValueError: + continue # README.md and anything else not named after a version + if key < version_key(version): + earlier.append((key, path)) + + if not earlier: + return "" + return max(earlier)[1].read_text(encoding="utf-8").strip() + + +def ask(prompt, model): + """One agent, one answer. Raises RuntimeError with what the CLI said.""" + result = subprocess.run( + [ + "claude", + "--print", + "--output-format", "text", + "--model", model, + # nothing here needs the repository, and a tool call would only be a + # way for the answer to arrive as something other than the text + "--disallowed-tools", "Bash,Edit,Write,Read,Glob,Grep,WebFetch,WebSearch,Task", + "--strict-mcp-config", + "--no-session-persistence", + ], + input=prompt, + capture_output=True, + text=True, + encoding="utf-8", + ) + if result.returncode != 0: + raise RuntimeError(result.stderr.strip() or f"claude exited {result.returncode}") + + answer = result.stdout.strip() + if not answer: + raise RuntimeError("claude answered with nothing") + return answer + + +def check(text, against=None): + """What is wrong with a piece of copy, or None.""" + lines = text.splitlines() + if not lines: + return "it is empty" + if len(text) > notes.LIMIT: + return f"it is {len(text)} characters, over the store's {notes.LIMIT}" + if any(not line.startswith("- ") for line in lines): + return "not every line is a bullet" + if against is not None and len(lines) != len(against.splitlines()): + return f"it has {len(lines)} lines against the English text's {len(against.splitlines())}" + return None + + +def write(locale, version, text, dry_run): + path = notes.copy_path(locale, version) + if dry_run: + print(f"\n--- {path.relative_to(ROOT)}\n{text}") + return + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text + "\n", encoding="utf-8") + + +def produce(prompt, model, attempts, against=None): + """Ask until the answer holds up. Raises RuntimeError with the last reason.""" + reason = None + for attempt in range(attempts): + try: + answer = ask(prompt, model) + except RuntimeError as failure: + reason = str(failure) + continue + reason = check(answer, against=against) + if reason is None: + return answer + raise RuntimeError(reason) + + +def english(version, model, attempts): + """The source text: what is on disk, or a fresh one from the changelog.""" + try: + section = changelog.section((ROOT / "CHANGELOG.md").read_text(encoding="utf-8"), version) + wrote = version + except ValueError: + # the heading is still open, which is where a version being cut sits + section = changelog.section((ROOT / "CHANGELOG.md").read_text(encoding="utf-8"), "Unreleased") + wrote = "Unreleased" + print(f"writing the English from the {wrote} section of CHANGELOG.md") + + return produce( + ENGLISH_PROMPT.format( + version=version, app=APP, section=section, previous=previous_copy(SOURCE, version) + ), + model, + attempts, + ) + + +def translate(locale, version, source, model, attempts, review=True): + description = (notes.METADATA / locale / "description.txt").read_text(encoding="utf-8").strip() + + draft = produce( + TRANSLATION_PROMPT.format( + app=APP, + language=LANGUAGES[locale], + locale=locale, + english=source, + description=description, + previous=previous_copy(locale, version), + ), + model, + attempts, + against=source, + ) + if not review: + return draft + + # A second reader of the same language, because what a first draft gets + # wrong is not something the draft can see: a word borrowed for its sound + # rather than its sense reads fine to whoever wrote it. + return produce( + REVIEW_PROMPT.format( + app=APP, + language=LANGUAGES[locale], + locale=locale, + english=source, + draft=draft, + description=description, + ), + model, + attempts, + against=source, + ) + + +def main(argv=None): + parser = argparse.ArgumentParser( + description="Write the store copy of one release, one agent per language." + ) + parser.add_argument("version", help="marketing version, e.g. 1.41") + parser.add_argument( + "--english", + action="store_true", + help="rewrite the English text even though there is one", + ) + parser.add_argument( + "--locales", + help="only these, comma separated - to redo one language that came out wrong", + ) + parser.add_argument("--dry-run", action="store_true", help="print the copy, write nothing") + parser.add_argument("--model", default="opus", help="model the agents run on") + parser.add_argument("--jobs", type=int, default=5, help="languages translated at once") + parser.add_argument("--attempts", type=int, default=2, help="tries per language") + parser.add_argument( + "--no-review", + action="store_false", + dest="review", + help="take the first draft, without a second reader of that language", + ) + args = parser.parse_args(argv) + + version = args.version.strip().removeprefix("v") + + try: + known = notes.locales() + except (OSError, ValueError) as reason: + print(reason, file=sys.stderr) + return 1 + + unnamed = [locale for locale in known if locale not in LANGUAGES] + if unnamed: + print( + f"no language written down for {', '.join(unnamed)}: add it to LANGUAGES in " + f"{Path(__file__).name} rather than let an agent guess", + file=sys.stderr, + ) + return 1 + + wanted = known + if args.locales: + wanted = [locale.strip() for locale in args.locales.split(",") if locale.strip()] + unknown = [locale for locale in wanted if locale not in known] + if unknown: + print(f"no such locale: {', '.join(unknown)}", file=sys.stderr) + return 1 + + source_path = notes.copy_path(SOURCE, version) + if args.english or not source_path.is_file(): + try: + source = english(version, args.model, args.attempts) + except RuntimeError as reason: + print(f"{SOURCE}: {reason}", file=sys.stderr) + return 1 + write(SOURCE, version, source, args.dry_run) + else: + source = source_path.read_text(encoding="utf-8").strip() + print(f"translating the {source_path.relative_to(ROOT)} already written") + + targets = [ + locale + for locale in wanted + if locale != SOURCE and (args.english or args.locales or not notes.copy_path(locale, version).is_file()) + ] + if not targets: + print(f"every locale already has copy for {version}") + return 0 + + print(f"translating into {', '.join(targets)}") + + failed = [] + with concurrent.futures.ThreadPoolExecutor(max_workers=args.jobs) as pool: + running = { + pool.submit( + translate, locale, version, source, args.model, args.attempts, args.review + ): locale + for locale in targets + } + for done in concurrent.futures.as_completed(running): + locale = running[done] + try: + write(locale, version, done.result(), args.dry_run) + except (RuntimeError, OSError) as reason: + failed.append(locale) + print(f"{locale}: {reason}", file=sys.stderr) + else: + print(f"{locale} done") + + if failed: + print( + f"\n{len(failed)} came back wrong. Run again with " + f"--locales {','.join(failed)} to redo only those.", + file=sys.stderr, + ) + return 1 + + print(f"\nread the diff before committing it - it goes to the store as written") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/store-notes.py b/scripts/store-notes.py new file mode 100755 index 0000000..d2685cd --- /dev/null +++ b/scripts/store-notes.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python3 +# +# The store copy of one release: where it is kept, and the deliver tree built +# out of it. +# +# App Store Connect keeps only the notes of the submission in flight, so the +# history it throws away is kept here instead: one file per locale per marketing +# version, `fastlane/metadata//changelogs/1.41.txt`. +# +# deliver reads none of that. It reads `release_notes.txt` beside it, one per +# locale, and uploads every metadata file it finds - so the upload is pointed at +# a directory staged from these files and holding nothing else, which keeps the +# descriptions checked in here out of it. +# +# scripts/store-notes.py --version 1.41 check every locale has copy +# scripts/store-notes.py --version 1.41 --stage DIR also write the deliver tree +# +# A release run checks before it builds, so a version missing a translation +# fails in seconds rather than once both apps are uploaded. +# `scripts/store-copy.py` writes the files this reads. + +import argparse +import os +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +METADATA = ROOT / "fastlane" / "metadata" + +# what App Store Connect takes in one locale's "What's New" +LIMIT = 4000 + + +def locales(metadata=METADATA): + """The locales the listing has, in order.""" + # `review_information` and the loose category files sit beside them, so a + # description is what makes a directory one of them + found = sorted(d.name for d in metadata.iterdir() if (d / "description.txt").is_file()) + if not found: + raise ValueError(f"{metadata} holds no locale directories") + return found + + +def copy_path(locale, version, metadata=METADATA): + """Where one locale's copy for one version lives.""" + return metadata / locale / "changelogs" / f"{version}.txt" + + +def collect(version, metadata=METADATA): + """The copy of every locale. Returns (texts by locale, reasons it is not usable).""" + texts = {} + problems = [] + + for locale in locales(metadata): + path = copy_path(locale, version, metadata) + display = path.relative_to(ROOT) if path.is_relative_to(ROOT) else path + + if not path.is_file(): + problems.append(f"{locale}: no {display}") + continue + + text = path.read_text(encoding="utf-8").strip() + if not text: + problems.append(f"{locale}: {display} is empty") + elif len(text) > LIMIT: + problems.append(f"{locale}: {display} is {len(text)} characters, over the store's {LIMIT}") + else: + texts[locale] = text + + return texts, problems + + +def stage(texts, directory): + """Write the metadata tree deliver uploads: one release_notes.txt per locale.""" + directory = Path(directory) + for locale, text in texts.items(): + folder = directory / locale + folder.mkdir(parents=True, exist_ok=True) + (folder / "release_notes.txt").write_text(text + "\n", encoding="utf-8") + return directory + + +def fail(message): + if os.environ.get("GITHUB_ACTIONS"): + # also surfaces as an annotation on the run, not only inside the step log + print(f"::error::{message}") + else: + print(message, file=sys.stderr) + return 1 + + +def main(argv=None): + parser = argparse.ArgumentParser( + description="Check the store copy of one release, and stage it for deliver." + ) + parser.add_argument("--version", required=True, help="marketing version, e.g. 1.41") + parser.add_argument( + "--stage", + metavar="DIR", + help="also write the deliver metadata tree into DIR", + ) + args = parser.parse_args(argv) + + version = args.version.strip().removeprefix("v") + + try: + texts, problems = collect(version) + except (OSError, ValueError) as reason: + return fail(str(reason)) + + if problems: + return fail( + f"no store copy to release {version} with:\n " + + "\n ".join(problems) + + f"\nRun scripts/store-copy.py {version} to write it." + ) + + if args.stage: + try: + stage(texts, args.stage) + except OSError as reason: + return fail(str(reason)) + print(f"staged {len(texts)} locales for {version} in {args.stage}") + else: + print(f"{version} has store copy in all {len(texts)} locales: {', '.join(texts)}") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) From a7e481cc215073e902b45c930c2f4f88470e177f Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 16 Aug 2026 09:49:32 +0200 Subject: [PATCH 2/6] Translate the app again Every language but English showed English for the onboarding buttons, the privacy screen and the banner - nineteen of the forty-four strings. Danish, Catalan, Turkish and Czech showed it for most of the rest, and the Chinese introduction named a different app. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Xryx81PvamT674wzzQujjg --- CHANGELOG.md | 10 ++- .../ca.lproj/Localizable.strings | 76 ++++++++++++----- .../cs.lproj/Localizable.strings | 76 ++++++++++++----- .../da.lproj/Localizable.strings | 80 +++++++++++++----- .../de.lproj/Localizable.strings | 62 ++++++++++---- .../es.lproj/Localizable.strings | 72 ++++++++++++---- .../fr.lproj/Localizable.strings | 66 +++++++++++---- .../ga.lproj/Localizable.strings | 81 +++++++++++++----- .../it.lproj/Localizable.strings | 68 +++++++++++---- .../ja.lproj/Localizable.strings | 81 +++++++++++++----- .../pl.lproj/Localizable.strings | 73 +++++++++++++---- .../pt-BR.lproj/Localizable.strings | 74 ++++++++++++----- .../ru.lproj/Localizable.strings | 52 ++++++++++-- .../sl.lproj/Localizable.strings | 74 ++++++++++++----- .../tr.lproj/Localizable.strings | 80 +++++++++++++----- .../zh-Hans.lproj/Localizable.strings | 82 +++++++++++++------ 16 files changed, 828 insertions(+), 279 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23bdbee..f2ebd10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,8 @@ Developer-facing changes to OpenDocument Reader for iOS, in [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format. Changes to the shared OpenDocument core are listed under the release that shipped them. The shorter "What's New" copy the store shows lives in -`fastlane/metadata/en-US/changelogs/`. +`fastlane/metadata//changelogs/`, written from these entries by +`scripts/store-copy.py`. Entries go under `Unreleased` in the pull request that makes the change. The heading is cut when the release is **submitted**, in one pull request that also @@ -31,6 +32,13 @@ once the version tag exists. it. Saving has left the menu; discarding is still there and now leaves edit mode. +### Fixed + +- The app is translated again. Every language but English was showing English + for the onboarding buttons, the privacy screen and the banner, and Danish, + Catalan, Turkish and Czech showed it for most of the rest. +- The Chinese introduction named a different app. + ### Known issues - Tapping a document sets no cursor, so edit mode cannot be typed into. The diff --git a/OpenDocumentReader/ca.lproj/Localizable.strings b/OpenDocumentReader/ca.lproj/Localizable.strings index cd57d19..d5d0ac7 100644 --- a/OpenDocumentReader/ca.lproj/Localizable.strings +++ b/OpenDocumentReader/ca.lproj/Localizable.strings @@ -2,70 +2,70 @@ "toast_error_generic" = "Hi ha hagut un problema. No s'ha pogut obrir el fitxer."; /* */ -"ok" = "OK"; +"ok" = "D'acord"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Tens canvis sense desar"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Vols desar-los ara?"; /* */ -"yes" = "Yes"; +"yes" = "Sí"; /* */ "no" = "No"; /* */ -"menu_edit" = "Edit document"; +"menu_edit" = "Edita el document"; /* */ -"action_edit_save" = "Save"; +"action_edit_save" = "Desa"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Descarta els canvis"; /* */ "menu_fullscreen" = "Mode de pantalla completa"; /* */ -"menu_cloud_print" = "Google Cloud Print"; +"menu_cloud_print" = "Imprimeix el document"; /* */ -"action_edit_help" = "Help!?"; +"action_edit_help" = "Ajuda!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "Cancel·la"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Document desat"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "No s'ha pogut desar el fitxer. Escriu a support@opendocument.app"; /* */ -"toast_error_password_protected" = "El document està protegit per contrasenya"; +"toast_error_password_protected" = "El document està protegit amb contrasenya"; /* */ -"intro_title_open" = "Open and read your ODF file on the go!"; +"intro_title_open" = "Llegeix els teus fitxers ODF allà on siguis!"; /* */ -"intro_title_edit" = "Found a typo in your document? Now supports modification!"; +"intro_title_edit" = "Has trobat una errada al document? Ara també el pots modificar!"; /* */ -"intro_title_apps" = "Read your documents from within other apps"; +"intro_title_apps" = "Llegeix els documents des d'altres apps"; /* */ -"intro_description_open" = "OpenDocument Reader allows you to view documents that are stored in OpenDocument format (.odt, .ods, .odp and .odg). These files are usually created using LibreOffice or OpenOffice. This app allows to open such files on your mobile device too, so you can read them on the go."; +"intro_description_open" = "L'OpenDocument Reader et permet veure documents desats en format OpenDocument (.odt, .ods, .odp i .odg). Aquests fitxers se solen crear amb el LibreOffice o l'OpenOffice. Amb aquesta app també els pots obrir al mòbil i llegir-los allà on siguis."; /* */ -"intro_description_edit" = "OpenDocument Reader not only allows to read documents on your mobile device, but also supports modifying them too. Typos are fixed in a breeze, even on the train!"; +"intro_description_edit" = "L'OpenDocument Reader no només et deixa llegir documents al mòbil: també et permet modificar-los. Corregir una errada és qüestió de segons, fins i tot al tren!"; /* */ -"intro_description_apps" = "OpenDocument Reader supports a huge range of other apps to open documents from. A colleague sent a presentation via Gmail? Click the attachment and this app is going to open right away!"; +"intro_description_apps" = "L'OpenDocument Reader es pot obrir des de moltes altres apps. Un company t'ha enviat una presentació per Gmail? Toca l'adjunt i l'app s'obrirà a l'instant!"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Torna als documents"; /* */ "loading" = "S'està carregant"; @@ -73,3 +73,39 @@ /* */ "error" = "Error"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Següent"; +"intro_skip" = "Omet"; +"intro_start" = "Comença"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Privadesa"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Opcions de privadesa dels anuncis"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Permís de seguiment"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "L'iOS demana el permís de seguiment una sola vegada. El pots canviar quan vulguis a Configuració, a Privadesa i seguretat → Seguiment. Si el canvies allà, l'app es tancarà."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Obre la configuració"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Dona'ns suport"; +"house_ad_support_headline" = "Fes costat a l'OpenDocument Reader"; +"house_ad_support_subline" = "Passa a Pro: mai més anuncis"; + +"house_ad_adfree_short" = "Sense anuncis"; +"house_ad_adfree_headline" = "Llegeix sense anuncis"; +"house_ad_adfree_subline" = "ODR Pro: un únic pagament"; + +"house_ad_source_short" = "Codi obert"; +"house_ad_source_headline" = "Codi obert i gratuït"; +"house_ad_source_subline" = "El Pro ho paga i treu els anuncis"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Passa a Pro"; +"house_ad_cta_get_pro" = "Obtén Pro"; diff --git a/OpenDocumentReader/cs.lproj/Localizable.strings b/OpenDocumentReader/cs.lproj/Localizable.strings index c2ce058..253e351 100644 --- a/OpenDocumentReader/cs.lproj/Localizable.strings +++ b/OpenDocumentReader/cs.lproj/Localizable.strings @@ -1,20 +1,20 @@ /* */ -"toast_error_generic" = "Něco se pokazilo. Nelze otevřít soubor."; +"toast_error_generic" = "Něco se pokazilo. Soubor se nepodařilo otevřít."; /* */ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Máte neuložené změny"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Uložit je nyní?"; /* */ -"yes" = "Yes"; +"yes" = "Ano"; /* */ -"no" = "No"; +"no" = "Ne"; /* */ "menu_edit" = "Upravit dokument"; @@ -23,53 +23,89 @@ "action_edit_save" = "Uložit"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Zahodit změny"; /* */ "menu_fullscreen" = "Celá obrazovka"; /* */ -"menu_cloud_print" = "Google Cloud Print"; +"menu_cloud_print" = "Vytisknout dokument"; /* */ -"action_edit_help" = "Help!?"; +"action_edit_help" = "Nápověda!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "Zrušit"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Dokument byl uložen"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "Soubor se nepodařilo uložit. Napište prosím na support@opendocument.app"; /* */ "toast_error_password_protected" = "Dokument je chráněn heslem"; /* */ -"intro_title_open" = "Open and read your ODF file on the go!"; +"intro_title_open" = "Otevřete si a přečtěte soubory ODF, ať jste kdekoli!"; /* */ -"intro_title_edit" = "Found a typo in your document? Now supports modification!"; +"intro_title_edit" = "Našli jste v dokumentu překlep? Teď ho můžete opravit!"; /* */ -"intro_title_apps" = "Read your documents from within other apps"; +"intro_title_apps" = "Čtěte dokumenty přímo z jiných aplikací"; /* */ -"intro_description_open" = "OpenDocument Reader allows you to view documents that are stored in OpenDocument format (.odt, .ods, .odp and .odg). These files are usually created using LibreOffice or OpenOffice. This app allows to open such files on your mobile device too, so you can read them on the go."; +"intro_description_open" = "OpenDocument Reader umožňuje prohlížet dokumenty uložené ve formátu OpenDocument (.odt, .ods, .odp a .odg). Tyto soubory obvykle vznikají v LibreOffice nebo OpenOffice. S touto aplikací je otevřete i v mobilu, takže si je přečtete, ať jste kdekoli."; /* */ -"intro_description_edit" = "OpenDocument Reader not only allows to read documents on your mobile device, but also supports modifying them too. Typos are fixed in a breeze, even on the train!"; +"intro_description_edit" = "OpenDocument Reader dokumenty v mobilu nejen zobrazí, ale umí je i upravovat. Překlep tak opravíte během chvilky, klidně i ve vlaku."; /* */ -"intro_description_apps" = "OpenDocument Reader supports a huge range of other apps to open documents from. A colleague sent a presentation via Gmail? Click the attachment and this app is going to open right away!"; +"intro_description_apps" = "OpenDocument Reader umí otevřít dokumenty z celé řady dalších aplikací. Poslal vám kolega prezentaci přes Gmail? Klepněte na přílohu a aplikace se hned otevře."; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Zpět na dokumenty"; /* */ -"loading" = "Probíhá načítání"; +"loading" = "Načítání"; /* */ -"error" = "Error"; +"error" = "Chyba"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Další"; +"intro_skip" = "Přeskočit"; +"intro_start" = "Začít"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Soukromí"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Nastavení soukromí u reklam"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Povolení sledování"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS se na povolení sledování zeptá jen jednou. Kdykoli ho můžete změnit v Nastavení v části Soukromí a zabezpečení → Sledování. Po změně se aplikace ukončí."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Otevřít Nastavení"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Podpořte nás"; +"house_ad_support_headline" = "Podpořte OpenDocument Reader"; +"house_ad_support_subline" = "Pořiďte si Pro — bez reklam, navždy"; + +"house_ad_adfree_short" = "Čtěte bez reklam"; +"house_ad_adfree_headline" = "Čtěte bez reklam"; +"house_ad_adfree_subline" = "ODR Pro — jednorázový nákup"; + +"house_ad_source_short" = "Open source"; +"house_ad_source_headline" = "Open source a zdarma"; +"house_ad_source_subline" = "Platí to verze Pro — a ruší reklamy"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Přejít na Pro"; +"house_ad_cta_get_pro" = "Pořídit Pro"; diff --git a/OpenDocumentReader/da.lproj/Localizable.strings b/OpenDocumentReader/da.lproj/Localizable.strings index 1645dae..ba540ec 100644 --- a/OpenDocumentReader/da.lproj/Localizable.strings +++ b/OpenDocumentReader/da.lproj/Localizable.strings @@ -5,71 +5,107 @@ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Du har ændringer, der ikke er arkiveret"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Vil du arkivere dem nu?"; /* */ -"yes" = "Yes"; +"yes" = "Ja"; /* */ -"no" = "No"; +"no" = "Nej"; /* */ -"menu_edit" = "Edit document"; +"menu_edit" = "Rediger dokument"; /* */ -"action_edit_save" = "Save"; +"action_edit_save" = "Arkiver"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Kassér ændringer"; /* */ -"menu_fullscreen" = "Open fullscreen mode"; +"menu_fullscreen" = "Åbn fuld skærm"; /* */ -"menu_cloud_print" = "Print document"; +"menu_cloud_print" = "Udskriv dokument"; /* */ -"action_edit_help" = "Help!?"; +"action_edit_help" = "Hjælp!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "Annuller"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Dokumentet er arkiveret"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "Filen kunne ikke arkiveres. Skriv til support@opendocument.app"; /* */ -"toast_error_password_protected" = "Dokumentet er låst med et kodeord"; +"toast_error_password_protected" = "Dokumentet er beskyttet med en adgangskode"; /* */ -"intro_title_open" = "Open and read your ODF file on the go!"; +"intro_title_open" = "Åbn og læs dine ODF-filer, når du er på farten!"; /* */ -"intro_title_edit" = "Found a typo in your document? Now supports modification!"; +"intro_title_edit" = "Fundet en tastefejl i dit dokument? Nu kan du også rette i det!"; /* */ -"intro_title_apps" = "Read your documents from within other apps"; +"intro_title_apps" = "Læs dine dokumenter direkte fra andre apps"; /* */ -"intro_description_open" = "OpenDocument Reader allows you to view documents that are stored in OpenDocument format (.odt, .ods, .odp and .odg). These files are usually created using LibreOffice or OpenOffice. This app allows to open such files on your mobile device too, so you can read them on the go."; +"intro_description_open" = "Med OpenDocument Reader kan du se dokumenter, der er gemt i OpenDocument-formatet (.odt, .ods, .odp og .odg). De filer bliver som regel lavet i LibreOffice eller OpenOffice. Med appen kan du også åbne dem på din telefon og læse dem, når du er på farten."; /* */ -"intro_description_edit" = "OpenDocument Reader not only allows to read documents on your mobile device, but also supports modifying them too. Typos are fixed in a breeze, even on the train!"; +"intro_description_edit" = "OpenDocument Reader kan ikke bare læse dine dokumenter på telefonen – du kan også rette i dem. Tastefejl er hurtigt væk, selv i toget!"; /* */ -"intro_description_apps" = "OpenDocument Reader supports a huge range of other apps to open documents from. A colleague sent a presentation via Gmail? Click the attachment and this app is going to open right away!"; +"intro_description_apps" = "OpenDocument Reader kan åbne dokumenter fra en lang række andre apps. Har en kollega sendt en præsentation i Gmail? Tryk på den vedhæftede fil, så åbner appen med det samme."; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Tilbage til dokumenter"; /* */ "loading" = "Indlæser"; /* */ -"error" = "Error"; +"error" = "Fejl"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Næste"; +"intro_skip" = "Spring over"; +"intro_start" = "Start"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Anonymitet"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Valg om annoncer"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Tilladelse til sporing"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS spørger kun én gang om tilladelse til sporing. Du kan altid ændre den i Indstillinger under Anonymitet og sikkerhed → Sporing. Appen lukker, når du ændrer den der."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Åbn Indstillinger"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Støt os"; +"house_ad_support_headline" = "Støt OpenDocument Reader"; +"house_ad_support_subline" = "Få Pro – helt uden annoncer"; + +"house_ad_adfree_short" = "Læs uden annoncer"; +"house_ad_adfree_headline" = "Læs uden annoncer"; +"house_ad_adfree_subline" = "ODR Pro – et engangskøb"; + +"house_ad_source_short" = "Open source"; +"house_ad_source_headline" = "Open source og stadig gratis"; +"house_ad_source_subline" = "Pro betaler for det – og fjerner annoncerne"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Skift til Pro"; +"house_ad_cta_get_pro" = "Få Pro"; diff --git a/OpenDocumentReader/de.lproj/Localizable.strings b/OpenDocumentReader/de.lproj/Localizable.strings index 9338648..6b49853 100644 --- a/OpenDocumentReader/de.lproj/Localizable.strings +++ b/OpenDocumentReader/de.lproj/Localizable.strings @@ -1,14 +1,14 @@ /* */ -"toast_error_generic" = "Etwas schlimmes ist passiert. Datei konnte nicht geöffnet werden."; +"toast_error_generic" = "Da ist etwas schiefgelaufen. Die Datei konnte nicht geöffnet werden."; /* */ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "Du hast ungespeicherte Änderungen"; +"alert_unsaved_changes" = "Sie haben ungespeicherte Änderungen"; /* */ -"alert_save_now" = "Änderungen speichern?"; +"alert_save_now" = "Jetzt speichern?"; /* */ "yes" = "Ja"; @@ -26,7 +26,7 @@ "menu_discard_changes" = "Änderungen verwerfen"; /* */ -"menu_fullscreen" = "Vollbildmodus aktivieren"; +"menu_fullscreen" = "Vollbildmodus öffnen"; /* */ "menu_cloud_print" = "Dokument drucken"; @@ -41,37 +41,71 @@ "toast_edit_status_saved" = "Dokument gespeichert"; /* */ -"toast_error_save_failed" = "Dokument konnte nicht gespeichert werden. Bitte kontaktiere uns unter support@opendocument.app"; +"toast_error_save_failed" = "Die Datei konnte nicht gespeichert werden. Bitte wenden Sie sich an support@opendocument.app"; /* */ -"toast_error_password_protected" = "Dokument ist passwort-geschützt"; +"toast_error_password_protected" = "Dieses Dokument ist passwortgeschützt"; /* */ -"intro_title_open" = "Öffnen und lesen Sie Ihre ODF-Datei unterwegs!"; +"intro_title_open" = "Öffnen und lesen Sie Ihre ODF-Dateien unterwegs!"; /* */ -"intro_title_edit" = "Einen Tippfehler gefunden? Änderungen werden jetzt auch unterstützt!"; +"intro_title_edit" = "Tippfehler im Dokument gefunden? Jetzt lässt es sich auch bearbeiten!"; /* */ "intro_title_apps" = "Lesen Sie Ihre Dokumente aus anderen Apps heraus"; /* */ -"intro_description_open" = "OpenDocument Reader kann Dokumente anzeigen, die im OpenDocument-Format (.odt, .ods, .odp und .odg) gespeichert sind. Diese Dateien werden in der Regel mit LibreOffice oder OpenOffice erstellt. Diese App ermöglicht es solche Dateien auf Ihrem mobilen Gerät zu öffnen, so dass Sie unterwegs gelesen werden können."; +"intro_description_open" = "OpenDocument Reader zeigt Dokumente an, die im OpenDocument-Format (.odt, .ods, .odp und .odg) gespeichert sind. Diese Dateien werden meist mit LibreOffice oder OpenOffice erstellt. Mit dieser App öffnen Sie solche Dateien auch auf Ihrem Gerät und lesen sie unterwegs."; /* */ -"intro_description_edit" = "OpenDocument Reader erlaubt nicht nur Dokumente auf Ihrem mobilen Gerät zu lesen, sondern unterstützt auch, sie zu ändern. Tippfehler sind schnell behoben, auch unterwegs!"; +"intro_description_edit" = "Mit OpenDocument Reader können Sie Dokumente auf Ihrem Gerät nicht nur lesen, sondern auch bearbeiten. Tippfehler sind im Nu behoben – sogar im Zug!"; /* */ -"intro_description_apps" = "OpenDocument Reader unterstützt eine Vielzahl anderer Apps, um Dokumente zu öffnen. Ein Kollege hat eine Präsentation via Gmail gesendet? Klicken Sie auf den Anhang und diese App wird sofort geöffnet!"; +"intro_description_apps" = "OpenDocument Reader öffnet Dokumente aus einer Vielzahl anderer Apps. Ein Kollege hat eine Präsentation über Gmail geschickt? Tippen Sie auf den Anhang und die App öffnet sich sofort!"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Zurück zu den Dokumenten"; /* */ -"loading" = "Lädt"; +"loading" = "Wird geladen"; /* */ -"error" = "Error"; +"error" = "Fehler"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Weiter"; +"intro_skip" = "Überspringen"; +"intro_start" = "Starten"; +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Datenschutz"; +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Datenschutz bei Werbung"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Tracking-Berechtigung"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS fragt einmal nach der Tracking-Berechtigung. Sie können sie jederzeit in den Einstellungen unter „Datenschutz & Sicherheit“ → „Tracking“ ändern. Dabei wird die App beendet."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Einstellungen öffnen"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Unterstützen"; +"house_ad_support_headline" = "Unterstützen Sie OpenDocument Reader"; +"house_ad_support_subline" = "Mit Pro – ganz ohne Werbung"; + +"house_ad_adfree_short" = "Ohne Werbung"; +"house_ad_adfree_headline" = "Ohne Werbung lesen"; +"house_ad_adfree_subline" = "ODR Pro – einmalig kaufen"; + +"house_ad_source_short" = "Open Source"; +"house_ad_source_headline" = "Open Source und kostenlos"; +"house_ad_source_subline" = "Pro finanziert die App – und entfernt die Werbung"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Pro holen"; +"house_ad_cta_get_pro" = "Pro kaufen"; diff --git a/OpenDocumentReader/es.lproj/Localizable.strings b/OpenDocumentReader/es.lproj/Localizable.strings index e8916d5..9383553 100644 --- a/OpenDocumentReader/es.lproj/Localizable.strings +++ b/OpenDocumentReader/es.lproj/Localizable.strings @@ -1,75 +1,111 @@ /* */ -"toast_error_generic" = "Ha pasado algo malo. No se ha podido abrir el archivo."; +"toast_error_generic" = "Ha ocurrido un error. No se ha podido abrir el archivo."; /* */ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Tiene cambios sin guardar"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "¿Quiere guardarlos ahora?"; /* */ -"yes" = "Yes"; +"yes" = "Sí"; /* */ "no" = "No"; /* */ -"menu_edit" = "Editar"; +"menu_edit" = "Editar documento"; /* */ "action_edit_save" = "Guardar"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Descartar cambios"; /* */ -"menu_fullscreen" = "Modo a pantalla completa"; +"menu_fullscreen" = "Abrir en pantalla completa"; /* */ -"menu_cloud_print" = "Imprimir"; +"menu_cloud_print" = "Imprimir documento"; /* */ "action_edit_help" = "¿Ayuda?"; /* */ -"cancel" = "Cancel"; +"cancel" = "Cancelar"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Documento guardado"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "No se ha podido guardar el archivo. Escríbanos a support@opendocument.app"; /* */ -"toast_error_password_protected" = "El documento está protegido con contraseña."; +"toast_error_password_protected" = "El documento está protegido con contraseña"; /* */ "intro_title_open" = "¡Abra y lea su archivo ODF desde cualquier lugar!"; /* */ -"intro_title_edit" = "¿Encontró un error tipográfico en su documento? ¡Ahora permite hacer modificaciones!"; +"intro_title_edit" = "¿Ha encontrado una errata en su documento? ¡Ahora también puede modificarlo!"; /* */ "intro_title_apps" = "Lea sus documentos desde otras aplicaciones"; /* */ -"intro_description_open" = "OpenDocument Reader le permite ver documentos almacenados en formato OpenDocument (.odt, .ods, .odp y .odg). Estos archivos se suelen crear utilizando LibreOffice u OpenOffice. Esta aplicación permite abrir estos archivos también en su dispositivo móvil, para que pueda leerlos desde cualquier lugar."; +"intro_description_open" = "OpenDocument Reader le permite ver documentos almacenados en formato OpenDocument (.odt, .ods, .odp y .odg). Estos archivos se suelen crear con LibreOffice u OpenOffice. Esta aplicación permite abrirlos también en su dispositivo móvil, para que pueda leerlos desde cualquier lugar."; /* */ -"intro_description_edit" = "OpenDocument Reader no solo permite leer documentos en su dispositivo móvil, sino que también puede modificarlos. ¡Los errores tipográficos se arreglan en un abrir y cerrar de ojos, incluso en el tren!"; +"intro_description_edit" = "OpenDocument Reader no solo permite leer documentos en su dispositivo móvil, sino que también puede modificarlos. ¡Las erratas se corrigen en un abrir y cerrar de ojos, incluso en el tren!"; /* */ -"intro_description_apps" = "OpenDocument Reader es compatible con una amplia gama de aplicaciones, y puede abrir los documentos creados con ellas. ¿Un compañero ha enviado una presentación a través de Gmail? ¡Haga clic en el archivo adjunto y la aplicación se abrirá de inmediato!"; +"intro_description_apps" = "OpenDocument Reader puede abrir documentos desde muchísimas otras aplicaciones. ¿Un compañero le ha enviado una presentación por Gmail? ¡Toque el archivo adjunto y la aplicación se abrirá al instante!"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Volver a los documentos"; /* */ -"loading" = "S'està carregan"; +"loading" = "Cargando"; /* */ "error" = "Error"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Siguiente"; +"intro_skip" = "Omitir"; +"intro_start" = "Empezar"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Privacidad"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Privacidad de los anuncios"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Permiso de rastreo"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS pide el permiso de rastreo una sola vez. Puede cambiarlo cuando quiera en Ajustes, en Privacidad y seguridad → Rastreo. Al cambiarlo, la aplicación se cierra."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Abrir Ajustes"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Apóyenos"; +"house_ad_support_headline" = "Apoye a OpenDocument Reader"; +"house_ad_support_subline" = "Con Pro no hay anuncios, nunca"; + +"house_ad_adfree_short" = "Sin anuncios"; +"house_ad_adfree_headline" = "Lea sin anuncios"; +"house_ad_adfree_subline" = "ODR Pro: un único pago"; + +"house_ad_source_short" = "Código abierto"; +"house_ad_source_headline" = "Código abierto y gratuito"; +"house_ad_source_subline" = "Pro lo financia y quita los anuncios"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Hágase Pro"; +"house_ad_cta_get_pro" = "Obtener Pro"; diff --git a/OpenDocumentReader/fr.lproj/Localizable.strings b/OpenDocumentReader/fr.lproj/Localizable.strings index d572cb4..55859cb 100644 --- a/OpenDocumentReader/fr.lproj/Localizable.strings +++ b/OpenDocumentReader/fr.lproj/Localizable.strings @@ -1,53 +1,53 @@ /* */ -"toast_error_generic" = "Une erreur est survenue. Impossible d'ouvrir le fichier."; +"toast_error_generic" = "Une erreur est survenue. Impossible d’ouvrir le fichier."; /* */ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Vous avez des modifications non enregistrées"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Les enregistrer maintenant ?"; /* */ -"yes" = "Yes"; +"yes" = "Oui"; /* */ -"no" = "No"; +"no" = "Non"; /* */ -"menu_edit" = "Modifier"; +"menu_edit" = "Modifier le document"; /* */ "action_edit_save" = "Enregistrer"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Ignorer les modifications"; /* */ "menu_fullscreen" = "Mode plein écran"; /* */ -"menu_cloud_print" = "Imprimer"; +"menu_cloud_print" = "Imprimer le document"; /* */ "action_edit_help" = "Aide"; /* */ -"cancel" = "Cancel"; +"cancel" = "Annuler"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Document enregistré"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "Impossible d’enregistrer le fichier. Contactez support@opendocument.app"; /* */ "toast_error_password_protected" = "Ce document est protégé par mot de passe"; /* */ -"intro_title_open" = "Ouvrez et lisez votre fichier ODF n’importe où !"; +"intro_title_open" = "Ouvrez et lisez votre fichier ODF n’importe où !"; /* */ "intro_title_edit" = "Vous avez trouvé une faute de frappe dans votre document ? Il est désormais possible de la corriger !"; @@ -62,14 +62,50 @@ "intro_description_edit" = "OpenDocument Reader permet non seulement de lire des documents mais aussi de les modifier sur votre appareil mobile. Vous pouvez corriger les fautes de frappe y compris dans le train !"; /* */ -"intro_description_apps" = "OpenDocument Reader prend en charge un grand nombre d’autres applications depuis lesquelles il est possible d’ouvrir des documents. Un collègue a envoyé une présentation via Gmail ? Cliquez sur la pièce jointe et cette application s’ouvrira instantanément !"; +"intro_description_apps" = "OpenDocument Reader prend en charge un grand nombre d’autres applications depuis lesquelles il est possible d’ouvrir des documents. Un collègue a envoyé une présentation via Gmail ? Cliquez sur la pièce jointe et cette application s’ouvrira instantanément !"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Retour aux documents"; /* */ "loading" = "Chargement en cours"; /* */ -"error" = "Error"; +"error" = "Erreur"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Suivant"; +"intro_skip" = "Passer"; +"intro_start" = "Commencer"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Confidentialité"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Confidentialité publicitaire"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Autorisation de suivi"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS ne demande l’autorisation de suivi qu’une seule fois. Vous pouvez la modifier à tout moment dans Réglages, sous Confidentialité et sécurité → Suivi. La modifier ferme l’application."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Ouvrir Réglages"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Soutenez-nous"; +"house_ad_support_headline" = "Soutenez OpenDocument Reader"; +"house_ad_support_subline" = "Passez à Pro — plus aucune publicité"; + +"house_ad_adfree_short" = "Sans publicité"; +"house_ad_adfree_headline" = "Lisez sans publicité"; +"house_ad_adfree_subline" = "ODR Pro — un achat unique"; + +"house_ad_source_short" = "Open source"; +"house_ad_source_headline" = "Open source et gratuit"; +"house_ad_source_subline" = "Pro le finance — et retire les publicités"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Passer à Pro"; +"house_ad_cta_get_pro" = "Obtenir Pro"; diff --git a/OpenDocumentReader/ga.lproj/Localizable.strings b/OpenDocumentReader/ga.lproj/Localizable.strings index fb529e2..0d38afa 100644 --- a/OpenDocumentReader/ga.lproj/Localizable.strings +++ b/OpenDocumentReader/ga.lproj/Localizable.strings @@ -1,74 +1,111 @@ /* */ -"toast_error_generic" = "Tharla taisme. Níorbh fhéidir an comhad a oscailt."; +"toast_error_generic" = "Tharla earráid. Níorbh fhéidir an comhad a oscailt."; /* */ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Tá athruithe gan sábháil agat"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Ar mhaith leat iad a shábháil anois?"; /* */ -"yes" = "Yes"; +"yes" = "Tá"; /* */ -"no" = "No"; +"no" = "Níl"; /* */ "menu_edit" = "Cuir an cháipéis in eagar"; /* */ -"action_edit_save" = "Taisc"; +"action_edit_save" = "Sábháil"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Cuir na hathruithe ar ceal"; /* */ -"menu_fullscreen" = "Lánscáileán"; +"menu_fullscreen" = "Oscail an mód lánscáileáin"; /* */ -"menu_cloud_print" = "Clóbhuail an cháipéis"; +"menu_cloud_print" = "Priontáil an cháipéis"; /* */ "action_edit_help" = "Cabhair!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "Cealaigh"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Sábháladh an cháipéis"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "Níorbh fhéidir an comhad a shábháil. Déan teagmháil le support@opendocument.app, le do thoil."; /* */ -"toast_error_password_protected" = "Tá an cháipéis faoi chosaint focal faire"; +"toast_error_password_protected" = "Tá an cháipéis seo cosanta le focal faire"; /* */ -"intro_title_open" = "Oscail agus léigh do chomhad ODF agus tú ar shiúl!"; +"intro_title_open" = "Oscail agus léigh do chomhad ODF agus tú ar do bhealach!"; /* */ -"intro_title_edit" = "Léigh do chuid cáipéisí ó laistigh d'fheidhmchláiríní eile"; +"intro_title_edit" = "Botún cló i do cháipéis? Is féidir í a chur in eagar anois!"; /* */ -"intro_title_apps" = "Read your documents from within other apps"; +"intro_title_apps" = "Léigh do chuid cáipéisí ó fheidhmchláir eile"; /* */ -"intro_description_open" = "OpenDocument Reader allows you to view documents that are stored in OpenDocument format (.odt, .ods, .odp and .odg). These files are usually created using LibreOffice or OpenOffice. This app allows to open such files on your mobile device too, so you can read them on the go."; +"intro_description_open" = "Ligeann OpenDocument Reader duit cáipéisí atá sábháilte i bhformáid OpenDocument (.odt, .ods, .odp agus .odg) a léamh. Is le LibreOffice nó OpenOffice a chruthaítear na comhaid seo de ghnáth. Leis an bhfeidhmchlár seo is féidir leat iad a oscailt ar do ghuthán freisin, le go mbeidh tú in ann iad a léamh agus tú ar do bhealach."; /* */ -"intro_description_edit" = "OpenDocument Reader not only allows to read documents on your mobile device, but also supports modifying them too. Typos are fixed in a breeze, even on the train!"; +"intro_description_edit" = "Ní hamháin gur féidir leat cáipéisí a léamh ar do ghuthán le OpenDocument Reader, ach is féidir leat iad a chur in eagar chomh maith. Ceartaítear botúin chló gan stró, fiú amháin ar an traein!"; /* */ -"intro_description_apps" = "OpenDocument Reader supports a huge range of other apps to open documents from. A colleague sent a presentation via Gmail? Click the attachment and this app is going to open right away!"; +"intro_description_apps" = "Tacaíonn OpenDocument Reader le raidhse mhór feidhmchlár eile as ar féidir cáipéisí a oscailt. Ar sheol comhghleacaí láithreoireacht chugat le Gmail? Cliceáil an ceangaltán agus osclóidh an feidhmchlár seo láithreach!"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Ar ais go dtí na cáipéisí"; /* */ -"loading" = "Ag luchtú"; +"loading" = "Á luchtú"; /* */ -"error" = "Error"; +"error" = "Earráid"; + +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Ar aghaidh"; +"intro_skip" = "Ná bac"; +"intro_start" = "Tosaigh"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Príobháideachas"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Roghanna príobháideachais fógraí"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Cead rianaithe"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "Ní iarrann iOS cead rianaithe ort ach uair amháin. Is féidir leat é a athrú am ar bith i Settings, faoi Privacy & Security → Tracking. Dúnfar an feidhmchlár nuair a athraíonn tú ansin é."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Oscail Settings"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Tacaigh linn"; +"house_ad_support_headline" = "Tacaigh le OpenDocument Reader"; +"house_ad_support_subline" = "Faigh Pro — gan fógraí go deo"; + +"house_ad_adfree_short" = "Gan fógraí"; +"house_ad_adfree_headline" = "Léigh gan fógraí"; +"house_ad_adfree_subline" = "ODR Pro — ceannach aonuaire"; + +"house_ad_source_short" = "Foinse oscailte"; +"house_ad_source_headline" = "Foinse oscailte, saor in aisce"; +"house_ad_source_subline" = "Íocann Pro as — agus imíonn na fógraí"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Faigh Pro"; +"house_ad_cta_get_pro" = "Ceannaigh Pro"; diff --git a/OpenDocumentReader/it.lproj/Localizable.strings b/OpenDocumentReader/it.lproj/Localizable.strings index 6e3e8bf..e62ddf3 100644 --- a/OpenDocumentReader/it.lproj/Localizable.strings +++ b/OpenDocumentReader/it.lproj/Localizable.strings @@ -5,13 +5,13 @@ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Hai modifiche non salvate"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Vuoi salvarle ora?"; /* */ -"yes" = "Yes"; +"yes" = "Sì"; /* */ "no" = "No"; @@ -23,53 +23,89 @@ "action_edit_save" = "Salva"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Ignora modifiche"; /* */ -"menu_fullscreen" = "Apri in modalità schermo intero"; +"menu_fullscreen" = "Apri a schermo intero"; /* */ -"menu_cloud_print" = "Stampa il documento"; +"menu_cloud_print" = "Stampa documento"; /* */ "action_edit_help" = "Aiuto!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "Annulla"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Documento salvato"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "Impossibile salvare il file. Scrivi a support@opendocument.app"; /* */ -"toast_error_password_protected" = "Il documento è protetto da password."; +"toast_error_password_protected" = "Il documento è protetto da password"; /* */ "intro_title_open" = "Apri e leggi il tuo file ODF mentre sei in movimento!"; /* */ -"intro_title_edit" = "Hai trovato un errore nel tuo documento? Ora la modifica è supportata!"; +"intro_title_edit" = "Hai trovato un errore di battitura nel documento? Ora puoi anche modificarlo!"; /* */ "intro_title_apps" = "Leggi i tuoi documenti da altre app"; /* */ -"intro_description_open" = "OpenDocument Reader ti consente di visualizzare documenti archiviati in formato OpenDocument (.odt, .ods, .odp e .odg). Questi file vengono generalmente creati usando LibreOffice od OpenOffice. Questa app consente di aprire tali file anche sul tuo dispositivo mobile, in modo che tu possa leggerli mentre sei in movimento."; +"intro_description_open" = "OpenDocument Reader ti permette di visualizzare i documenti salvati in formato OpenDocument (.odt, .ods, .odp e .odg). Di solito questi file vengono creati con LibreOffice o OpenOffice. Con questa app puoi aprirli anche sul tuo dispositivo mobile e leggerli ovunque tu sia."; /* */ -"intro_description_edit" = "OpenDocument Reader non solo consente di leggere documenti sul tuo dispositivo mobile, ma supporta anche la modifica di questi. Correggere gli errori di battitura è un gioco da ragazzi, anche sul treno!"; +"intro_description_edit" = "OpenDocument Reader non ti permette solo di leggere i documenti sul tuo dispositivo mobile, ma anche di modificarli. Correggere un errore di battitura è un attimo, perfino in treno!"; /* */ -"intro_description_apps" = "OpenDocument Reader supporta una vasta gamma di altre app da cui aprire documenti. Un collega ha inviato una presentazione tramite Gmail? Fai clic sull'allegato e questa app si aprirà subito!"; +"intro_description_apps" = "Con OpenDocument Reader puoi aprire i documenti da tantissime altre app. Un collega ti ha mandato una presentazione via Gmail? Tocca l'allegato e l'app si apre subito!"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Torna ai documenti"; /* */ "loading" = "Caricamento in corso"; /* */ -"error" = "Error"; +"error" = "Errore"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Avanti"; +"intro_skip" = "Salta"; +"intro_start" = "Inizia"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Privacy"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Opzioni privacy degli annunci"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Autorizzazione al tracciamento"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS chiede l'autorizzazione al tracciamento una sola volta. Puoi cambiarla quando vuoi in Impostazioni, alla voce Privacy e sicurezza → Tracciamento. Se la cambi lì, l'app si chiude."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Apri Impostazioni"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Sostienici"; +"house_ad_support_headline" = "Sostieni OpenDocument Reader"; +"house_ad_support_subline" = "Passa a Pro: mai più pubblicità"; + +"house_ad_adfree_short" = "Senza pubblicità"; +"house_ad_adfree_headline" = "Leggi senza pubblicità"; +"house_ad_adfree_subline" = "ODR Pro, un acquisto una tantum"; + +"house_ad_source_short" = "Open source"; +"house_ad_source_headline" = "Open source, e resta gratuito"; +"house_ad_source_subline" = "Pro lo sostiene e toglie la pubblicità"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Passa a Pro"; +"house_ad_cta_get_pro" = "Ottieni Pro"; diff --git a/OpenDocumentReader/ja.lproj/Localizable.strings b/OpenDocumentReader/ja.lproj/Localizable.strings index 87f5e69..ff3848a 100644 --- a/OpenDocumentReader/ja.lproj/Localizable.strings +++ b/OpenDocumentReader/ja.lproj/Localizable.strings @@ -1,20 +1,20 @@ /* */ -"toast_error_generic" = "何か問題が発生しました。ファイルを開くことができませんでした。"; +"toast_error_generic" = "問題が発生しました。ファイルを開けませんでした。"; /* */ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "保存されていない変更があります"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "今すぐ保存しますか?"; /* */ -"yes" = "Yes"; +"yes" = "はい"; /* */ -"no" = "No"; +"no" = "いいえ"; /* */ "menu_edit" = "ドキュメントを編集"; @@ -23,52 +23,89 @@ "action_edit_save" = "保存"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "変更を破棄"; /* */ -"menu_fullscreen" = "全画面表示を開く"; +"menu_fullscreen" = "全画面表示にする"; /* */ -"menu_cloud_print" = "ドキュメントを印刷"; +"menu_cloud_print" = "ドキュメントをプリント"; /* */ -"action_edit_help" = "ヘルプ!?"; +"action_edit_help" = "ヘルプ!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "キャンセル"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "ドキュメントを保存しました"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "ファイルを保存できませんでした。support@opendocument.app までご連絡ください。"; /* */ -"toast_error_password_protected" = "ドキュメントがパスワードで保護されています"; +"toast_error_password_protected" = "このドキュメントはパスワードで保護されています"; /* */ -"intro_title_open" = "外出先で ODF ファイルを開いたり読み込みます!"; +"intro_title_open" = "外出先でも ODF ファイルを開いて読めます"; /* */ -"intro_title_edit" = "ドキュメントにタイプミスを発見しましたか? 変更をサポートするようになりました!"; +"intro_title_edit" = "誤字を見つけたら、その場で直せます"; /* */ -"intro_title_apps" = "他のアプリを使用してドキュメントを読む"; +"intro_title_apps" = "ほかのアプリからドキュメントを開けます"; /* */ -"intro_description_open" = "OpenDocument リーダーは OpenDocument 形式 (.odt、.ods、.odp、.odg) で格納されているドキュメントを表示することができます。通常これらのファイルは、LibreOffice または OpenOffice を使用して作成されます。このアプリは、モバイルデバイスでこのようなファイルを開くことができるので、外出先でそれらを読み取ることができます。"; +"intro_description_open" = "OpenDocument Reader は、OpenDocument 形式(.odt、.ods、.odp、.odg)で保存されたドキュメントを表示できます。これらのファイルは通常 LibreOffice や OpenOffice で作成されます。このアプリならモバイルデバイスでも開けるので、外出先でも読むことができます。"; /* */ -"intro_description_edit" = "OpenDocument リーダーは、お使いのモバイルデバイス上でドキュメントを読むことができるだけでなく、変更もサポートしています。タイプミスは、電車の中でもすぐに修正できます!"; +"intro_description_edit" = "OpenDocument Reader は、モバイルデバイスでドキュメントを読むだけでなく、編集にも対応しています。誤字なら電車の中でもすぐに直せます。"; /* */ -"intro_description_apps" = "OpenDocument リーダーは、ドキュメントを開く他のアプリを幅広くサポートしています。同僚が Gmail でプレゼンテーションを送信しましたか? 添付ファイルをクリックすると、このアプリがすぐに開くことができます!"; +"intro_description_apps" = "OpenDocument Reader は、ドキュメントを開く元となるアプリを幅広くサポートしています。同僚が Gmail でプレゼンテーションを送ってきたら、添付ファイルをタップするだけでこのアプリがすぐに開きます。"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "ドキュメントに戻る"; /* */ -"loading" = "読み込んでいます"; +"loading" = "読み込み中"; /* */ -"error" = "Error"; +"error" = "エラー"; + +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "次へ"; +"intro_skip" = "スキップ"; +"intro_start" = "はじめる"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "プライバシー"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "広告のプライバシー設定"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "トラッキングの許可"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "トラッキングの許可は、iOS が一度だけ確認します。設定の「プライバシーとセキュリティ」→「トラッキング」でいつでも変更できます。そこで変更すると、アプリは終了します。"; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "設定を開く"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "応援する"; +"house_ad_support_headline" = "OpenDocument Reader を応援する"; +"house_ad_support_subline" = "Pro なら広告は表示されません"; + +"house_ad_adfree_short" = "広告なしで読む"; +"house_ad_adfree_headline" = "広告なしで読む"; +"house_ad_adfree_subline" = "ODR Pro は買い切りです"; + +"house_ad_source_short" = "オープンソース"; +"house_ad_source_headline" = "オープンソースのまま、無料で"; +"house_ad_source_subline" = "Pro の購入が開発を支え、広告も消えます"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Pro にする"; +"house_ad_cta_get_pro" = "Pro を入手"; diff --git a/OpenDocumentReader/pl.lproj/Localizable.strings b/OpenDocumentReader/pl.lproj/Localizable.strings index e41ed6c..31daeb0 100644 --- a/OpenDocumentReader/pl.lproj/Localizable.strings +++ b/OpenDocumentReader/pl.lproj/Localizable.strings @@ -1,20 +1,20 @@ /* */ -"toast_error_generic" = "Jest jakaś przeszkoda. Nie można otworzyć pliku."; +"toast_error_generic" = "Coś poszło nie tak. Nie można otworzyć pliku."; /* */ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Masz niezapisane zmiany"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Zapisać je teraz?"; /* */ -"yes" = "Yes"; +"yes" = "Tak"; /* */ -"no" = "No"; +"no" = "Nie"; /* */ "menu_edit" = "Edytuj dokument"; @@ -23,7 +23,7 @@ "action_edit_save" = "Zapisz"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Odrzuć zmiany"; /* */ "menu_fullscreen" = "Otwórz tryb pełnoekranowy"; @@ -32,43 +32,80 @@ "menu_cloud_print" = "Drukuj dokument"; /* */ -"action_edit_help" = "Potrzebujesz pomocy?"; +"action_edit_help" = "Pomocy!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "Anuluj"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Dokument zapisany"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "Nie udało się zapisać pliku. Napisz na adres support@opendocument.app"; /* */ -"toast_error_password_protected" = "Dokument zabezpieczony jest hasłem"; +"toast_error_password_protected" = "Ten dokument jest chroniony hasłem"; /* */ "intro_title_open" = "Otwórz i czytaj swój plik ODF nawet w podróży!"; /* */ -"intro_title_edit" = "Znajdujesz literówkę w swoim dokumencie? Czytnik obsługuje teraz zmiany!"; +"intro_title_edit" = "Literówka w dokumencie? Teraz możesz ją poprawić!"; /* */ -"intro_title_apps" = "Czytaj swoje dokumenty pochodzące z innych aplikacji"; +"intro_title_apps" = "Czytaj dokumenty prosto z innych aplikacji"; /* */ "intro_description_open" = "Przeglądarka OpenDocument Reader umożliwia przeglądanie dokumentów przechowywanych w formacie OpenDocument (.odt, .ods, .odp i .odg). Pliki te są zazwyczaj tworzone przy użyciu programów LibreOffice lub OpenOffice. Ta aplikacja umożliwia również otwieranie tego typu plików na urządzeniu mobilnym, dzięki czemu możesz je czytać również w podróży."; /* */ -"intro_description_edit" = "Przeglądarka OpenDocument Reader nie tylko pozwala czytać dokumenty na urządzeniu mobilnym, ale także obsługuje ich modyfikowanie. Literówki są usuwane natychmiast, nawet w pociągu!"; +"intro_description_edit" = "Przeglądarka OpenDocument Reader nie tylko pozwala czytać dokumenty na urządzeniu mobilnym, ale także obsługuje ich modyfikowanie. Literówkę poprawisz w mgnieniu oka, nawet w pociągu!"; /* */ -"intro_description_apps" = "Przeglądarka OpenDocument Reader obsługuje wiele różnych aplikacji, umożliwiając otwieranie w nich dokumentów. Kolega wysłał prezentację za pośrednictwem poczty Gmail? Kliknij załącznik i aplikacja ta natychmiast się otworzy!"; +"intro_description_apps" = "Przeglądarka OpenDocument Reader obsługuje wiele innych aplikacji, z których możesz otwierać dokumenty. Kolega wysłał prezentację przez Gmaila? Kliknij załącznik, a aplikacja od razu się otworzy!"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Powrót do dokumentów"; /* */ -"loading" = "Pobieranie"; +"loading" = "Ładowanie"; /* */ -"error" = "Error"; +"error" = "Błąd"; + +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Dalej"; +"intro_skip" = "Pomiń"; +"intro_start" = "Rozpocznij"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Prywatność"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Opcje prywatności reklam"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Zgoda na śledzenie"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS pyta o zgodę na śledzenie tylko raz. Możesz ją zmienić w dowolnej chwili w Ustawieniach, w sekcji Prywatność i ochrona → Śledzenie. Zmiana tam zamyka aplikację."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Otwórz Ustawienia"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Wesprzyj nas"; +"house_ad_support_headline" = "Wesprzyj OpenDocument Reader"; +"house_ad_support_subline" = "Kup Pro — koniec z reklamami"; + +"house_ad_adfree_short" = "Bez reklam"; +"house_ad_adfree_headline" = "Czytaj bez reklam"; +"house_ad_adfree_subline" = "ODR Pro — jednorazowy zakup"; + +"house_ad_source_short" = "Open source"; +"house_ad_source_headline" = "Open source i wciąż za darmo"; +"house_ad_source_subline" = "Pro to finansuje — i usuwa reklamy"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Przejdź na Pro"; +"house_ad_cta_get_pro" = "Kup Pro"; diff --git a/OpenDocumentReader/pt-BR.lproj/Localizable.strings b/OpenDocumentReader/pt-BR.lproj/Localizable.strings index 64989fd..2da9941 100644 --- a/OpenDocumentReader/pt-BR.lproj/Localizable.strings +++ b/OpenDocumentReader/pt-BR.lproj/Localizable.strings @@ -5,71 +5,107 @@ "ok" = "OK"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Você tem alterações não salvas"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Deseja salvá-las agora?"; /* */ -"yes" = "Yes"; +"yes" = "Sim"; /* */ -"no" = "No"; +"no" = "Não"; /* */ -"menu_edit" = "Editar"; +"menu_edit" = "Editar documento"; /* */ "action_edit_save" = "Salvar"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Descartar alterações"; /* */ -"menu_fullscreen" = "Modo de tela inteira"; +"menu_fullscreen" = "Abrir em tela cheia"; /* */ -"menu_cloud_print" = "Imprimir"; +"menu_cloud_print" = "Imprimir documento"; /* */ "action_edit_help" = "Ajuda!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "Cancelar"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Documento salvo"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "Não foi possível salvar o arquivo. Entre em contato com support@opendocument.app"; /* */ -"toast_error_password_protected" = "O documento está protegido por senha"; +"toast_error_password_protected" = "Este documento está protegido por senha"; /* */ "intro_title_open" = "Abra e leia seu arquivo ODF em qualquer lugar!"; /* */ -"intro_title_edit" = "Encontrou um erro de digitação em seu documento? Agora suporta modificação!"; +"intro_title_edit" = "Achou um erro de digitação no documento? Agora dá para corrigir!"; /* */ -"intro_title_apps" = "Leia seus documentos de dentro de outros apps"; +"intro_title_apps" = "Leia seus documentos direto de outros apps"; /* */ -"intro_description_open" = "O OpenDocument Reader permite que você veja documentos que são armazenados no formato OpenDocument (.odt, .ods, .odp e .odg). Estes arquivos geralmente são criados usando o LibreOffice ou OpenOffice. Este aplicativo permite abrir esses arquivos também no seu dispositivo móvel, então você pode lê-los em qualquer lugar."; +"intro_description_open" = "O OpenDocument Reader permite visualizar documentos no formato OpenDocument (.odt, .ods, .odp e .odg). Esses arquivos costumam ser criados no LibreOffice ou no OpenOffice. Com este app você também os abre no seu dispositivo móvel e lê onde estiver."; /* */ -"intro_description_edit" = "O OpenDocument Reader não só permite ler documentos no seu dispositivo móvel, como também suporta modificá-los também. Os erros de digitação são corrigidos em uma brisa, mesmo no trem!"; +"intro_description_edit" = "O OpenDocument Reader não só lê documentos no seu dispositivo móvel: ele também permite modificá-los. Corrija erros de digitação num piscar de olhos, até no trem!"; /* */ -"intro_description_apps" = "O OpenDocument Reader suporta uma grande variedade de outros aplicativos para abrir documentos. Um colega enviou uma apresentação através do Gmail? Clique no anexo e este aplicativo vai abrir imediatamente!"; +"intro_description_apps" = "O OpenDocument Reader abre documentos a partir de muitos outros apps. Um colega enviou uma apresentação pelo Gmail? Toque no anexo e o app abre na hora!"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Voltar aos documentos"; /* */ "loading" = "Carregando"; /* */ -"error" = "Error"; +"error" = "Erro"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Avançar"; +"intro_skip" = "Pular"; +"intro_start" = "Começar"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Privacidade"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Privacidade dos anúncios"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Permissão de rastreamento"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "O iOS pede a permissão de rastreamento uma única vez. Você pode alterá-la quando quiser nos Ajustes, em Privacidade e Segurança → Rastreamento. Alterar essa opção fecha o app."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Abrir Ajustes"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Apoie-nos"; +"house_ad_support_headline" = "Apoie o OpenDocument Reader"; +"house_ad_support_subline" = "Com o Pro, nunca mais anúncios"; + +"house_ad_adfree_short" = "Sem anúncios"; +"house_ad_adfree_headline" = "Leia sem anúncios"; +"house_ad_adfree_subline" = "ODR Pro — compra única"; + +"house_ad_source_short" = "Código aberto"; +"house_ad_source_headline" = "Código aberto e gratuito"; +"house_ad_source_subline" = "O Pro custeia o app — e tira os anúncios"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Quero o Pro"; +"house_ad_cta_get_pro" = "Obter o Pro"; diff --git a/OpenDocumentReader/ru.lproj/Localizable.strings b/OpenDocumentReader/ru.lproj/Localizable.strings index bbd2320..92db1fa 100644 --- a/OpenDocumentReader/ru.lproj/Localizable.strings +++ b/OpenDocumentReader/ru.lproj/Localizable.strings @@ -2,10 +2,10 @@ "toast_error_generic" = "Произошла ошибка. Не удалось открыть файл."; /* */ -"ok" = "ОК"; +"ok" = "OK"; /* */ -"alert_unsaved_changes" = "У вас есть несохраненные изменения."; +"alert_unsaved_changes" = "Есть несохраненные изменения"; /* */ "alert_save_now" = "Сохранить их?"; @@ -41,28 +41,28 @@ "toast_edit_status_saved" = "Документ сохранен"; /* */ -"toast_error_save_failed" = "Файл не сохранен. Пожалуйста, свяжитесь с support@opendocument.app"; +"toast_error_save_failed" = "Не удалось сохранить файл. Напишите нам на support@opendocument.app"; /* */ -"toast_error_password_protected" = "Документ защищён паролем"; +"toast_error_password_protected" = "Документ защищен паролем"; /* */ "intro_title_open" = "Открывайте и читайте файлы ODF прямо на ходу!"; /* */ -"intro_title_edit" = "Нашли ошибку в своем документе? Теперь вы можете внести в него изменения!"; +"intro_title_edit" = "Нашли опечатку в документе? Теперь его можно редактировать!"; /* */ -"intro_title_apps" = "Читайте ваши документы из других приложений"; +"intro_title_apps" = "Читайте документы прямо из других приложений"; /* */ "intro_description_open" = "OpenDocument Reader позволяет просматривать документы, сохраненные в формате OpenDocument (.odt, .ods, .odp и .odg). Эти файлы обычно создаются в программах LibreOffice или OpenOffice. С помощью приложения вы также можете открывать такие файлы на мобильном устройстве и читать их прямо на ходу."; /* */ -"intro_description_edit" = "OpenDocument Reader позволяет не только читать документы с мобильного устройства, но и поддерживает возможность вносить в них изменения. Исправляйте ошибки легко, даже в поезде!"; +"intro_description_edit" = "OpenDocument Reader позволяет не только читать документы на мобильном устройстве, но и редактировать их. Исправить опечатку легко даже в поезде!"; /* */ -"intro_description_apps" = "OpenDocument Reader поддерживает возможность открывать документы из многих других приложений. Коллега отправил вам презентацию через Gmail? Нажмите на вложение, и приложение немедленно откроется!"; +"intro_description_apps" = "OpenDocument Reader открывает документы из множества других приложений. Коллега прислал презентацию по Gmail? Нажмите на вложение, и приложение откроется сразу же!"; /* */ "back_to_documents" = "Вернуться к документам"; @@ -73,3 +73,39 @@ /* */ "error" = "Ошибка"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Далее"; +"intro_skip" = "Пропустить"; +"intro_start" = "Начать"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Конфиденциальность"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Настройки рекламы"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Разрешение на отслеживание"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS запрашивает разрешение на отслеживание один раз. Изменить его можно в любой момент в Настройках, в разделе «Конфиденциальность и безопасность» → «Отслеживание». После изменения приложение закроется."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Открыть Настройки"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Поддержать"; +"house_ad_support_headline" = "Поддержите OpenDocument Reader"; +"house_ad_support_subline" = "Pro — навсегда без рекламы"; + +"house_ad_adfree_short" = "Без рекламы"; +"house_ad_adfree_headline" = "Читайте без рекламы"; +"house_ad_adfree_subline" = "ODR Pro — разовая покупка"; + +"house_ad_source_short" = "Открытый код"; +"house_ad_source_headline" = "Открытый код и бесплатно"; +"house_ad_source_subline" = "Pro оплачивает разработку и убирает рекламу"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Перейти на Pro"; +"house_ad_cta_get_pro" = "Купить Pro"; diff --git a/OpenDocumentReader/sl.lproj/Localizable.strings b/OpenDocumentReader/sl.lproj/Localizable.strings index 75a0d5d..ec05e77 100644 --- a/OpenDocumentReader/sl.lproj/Localizable.strings +++ b/OpenDocumentReader/sl.lproj/Localizable.strings @@ -2,74 +2,110 @@ "toast_error_generic" = "Nekaj je šlo narobe. Datoteke ni bilo mogoče odpreti."; /* */ -"ok" = "OK"; +"ok" = "V redu"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Imate neshranjene spremembe"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Ali jih želite shraniti zdaj?"; /* */ -"yes" = "Yes"; +"yes" = "Da"; /* */ -"no" = "No"; +"no" = "Ne"; /* */ -"menu_edit" = "Uredi"; +"menu_edit" = "Uredi dokument"; /* */ "action_edit_save" = "Shrani"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Zavrzi spremembe"; /* */ "menu_fullscreen" = "Celozaslonski način"; /* */ -"menu_cloud_print" = "Natisni"; +"menu_cloud_print" = "Natisni dokument"; /* */ "action_edit_help" = "Pomoč!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "Prekliči"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Dokument je shranjen"; /* */ -"toast_error_save_failed" = "Datoteke ni bilo mogoče shraniti. Prosimo, pišite na support@opendocument.app"; +"toast_error_save_failed" = "Datoteke ni bilo mogoče shraniti. Pišite nam na support@opendocument.app"; /* */ "toast_error_password_protected" = "Dokument je zaščiten z geslom"; /* */ -"intro_title_open" = "Odprite in berite vašo datoteko ODF na poti!!"; +"intro_title_open" = "Odprite in berite svoje datoteke ODF, kjer koli ste!"; /* */ -"intro_title_edit" = "Ste v dokumentu našli napako? Sedaj podpira tudi urejanje!"; +"intro_title_edit" = "Ste v dokumentu našli tipkarsko napako? Zdaj ga lahko tudi uredite!"; /* */ -"intro_title_apps" = "Berite svoje dokumente iz drugih programov"; +"intro_title_apps" = "Berite dokumente kar iz drugih aplikacij"; /* */ -"intro_description_open" = "OpenDocument Reader omogoča ogled dokumentov, ki so shranjeni v obliki OpenDocument (.odt, .ods, .odp in .odg). Te datoteke se običajno ustvarijo z LibreOfficeom ali OpenOfficeom. Ta program omogoča odpiranje takih datotek tudi na vaši prenosni napravi, da jih lahko berete na poti."; +"intro_description_open" = "OpenDocument Reader omogoča ogled dokumentov v zapisu OpenDocument (.odt, .ods, .odp in .odg). Take datoteke običajno nastanejo v LibreOfficeu ali OpenOfficeu. S to aplikacijo jih odprete tudi na mobilni napravi in jih berete na poti."; /* */ -"intro_description_edit" = "OpenDocument Reader ne omogoča samo branje dokumentov na vaši prenosni napravi, ampak tudi njihovo urejanje. Napake lahko popravite v trenutku, tudi na vlaku!"; +"intro_description_edit" = "Z OpenDocument Readerjem dokumentov ne le berete na mobilni napravi, ampak jih lahko tudi urejate. Tipkarsko napako popravite v hipu, tudi na vlaku!"; /* */ -"intro_description_apps" = "OpenDocument Reader supports a huge range of other apps to open documents from. A colleague sent a presentation via Gmail? Click the attachment and this app is going to open right away!"; +"intro_description_apps" = "OpenDocument Reader podpira odpiranje dokumentov iz številnih drugih aplikacij. Vam je sodelavec po Gmailu poslal predstavitev? Tapnite priponko in aplikacija se odpre takoj!"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Nazaj na dokumente"; /* */ "loading" = "Nalaganje"; /* */ -"error" = "Error"; +"error" = "Napaka"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "Naprej"; +"intro_skip" = "Preskoči"; +"intro_start" = "Začni"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Zasebnost"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Zasebnost pri oglasih"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "Dovoljenje za sledenje"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS za dovoljenje za sledenje vpraša samo enkrat. Kadar koli ga lahko spremenite v aplikaciji Settings, pod Privacy & Security → Tracking. Ob spremembi se aplikacija zapre."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Odpri Settings"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Podprite nas"; +"house_ad_support_headline" = "Podprite OpenDocument Reader"; +"house_ad_support_subline" = "S Pro ni oglasov, nikoli"; + +"house_ad_adfree_short" = "Brez oglasov"; +"house_ad_adfree_headline" = "Berite brez oglasov"; +"house_ad_adfree_subline" = "ODR Pro – enkraten nakup"; + +"house_ad_source_short" = "Odprta koda"; +"house_ad_source_headline" = "Odprta koda, še naprej brezplačna"; +"house_ad_source_subline" = "Pro to omogoča – in odstrani oglase"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Izberite Pro"; +"house_ad_cta_get_pro" = "Kupite Pro"; diff --git a/OpenDocumentReader/tr.lproj/Localizable.strings b/OpenDocumentReader/tr.lproj/Localizable.strings index 0bad640..15e8f13 100644 --- a/OpenDocumentReader/tr.lproj/Localizable.strings +++ b/OpenDocumentReader/tr.lproj/Localizable.strings @@ -1,75 +1,111 @@ /* */ -"toast_error_generic" = "Kötü bir şey oldu. Dosya açılamadı."; +"toast_error_generic" = "Bir sorun oluştu. Dosya açılamadı."; /* */ -"ok" = "OK"; +"ok" = "Tamam"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "Kaydedilmemiş değişiklikleriniz var"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "Şimdi kaydedilsin mi?"; /* */ -"yes" = "Yes"; +"yes" = "Evet"; /* */ -"no" = "No"; +"no" = "Hayır"; /* */ -"menu_edit" = "Edit document"; +"menu_edit" = "Belgeyi düzenle"; /* */ "action_edit_save" = "Kaydet"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "Değişiklikleri sil"; /* */ -"menu_fullscreen" = "Open fullscreen mode"; +"menu_fullscreen" = "Tam ekranda aç"; /* */ -"menu_cloud_print" = "Print document"; +"menu_cloud_print" = "Belgeyi yazdır"; /* */ "action_edit_help" = "Yardım!?"; /* */ -"cancel" = "Cancel"; +"cancel" = "İptal"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "Belge kaydedildi"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "Dosya kaydedilemedi. Lütfen support@opendocument.app adresine yazın."; /* */ -"toast_error_password_protected" = "Belge parola korumalı"; +"toast_error_password_protected" = "Bu belge parola korumalı"; /* */ -"intro_title_open" = "Open and read your ODF file on the go!"; +"intro_title_open" = "ODF dosyalarınızı nerede olursanız olun açın ve okuyun!"; /* */ -"intro_title_edit" = "Found a typo in your document? Now supports modification!"; +"intro_title_edit" = "Belgenizde yazım hatası mı var? Artık düzenleme de yapabilirsiniz!"; /* */ -"intro_title_apps" = "Read your documents from within other apps"; +"intro_title_apps" = "Belgelerinizi diğer uygulamaların içinden okuyun"; /* */ -"intro_description_open" = "OpenDocument Reader allows you to view documents that are stored in OpenDocument format (.odt, .ods, .odp and .odg). These files are usually created using LibreOffice or OpenOffice. This app allows to open such files on your mobile device too, so you can read them on the go."; +"intro_description_open" = "OpenDocument Reader, OpenDocument biçiminde (.odt, .ods, .odp ve .odg) saklanan belgeleri görüntülemenizi sağlar. Bu dosyalar genellikle LibreOffice veya OpenOffice ile oluşturulur. Bu uygulama sayesinde onları mobil cihazınızda da açabilir, hareket halindeyken okuyabilirsiniz."; /* */ -"intro_description_edit" = "OpenDocument Reader not only allows to read documents on your mobile device, but also supports modifying them too. Typos are fixed in a breeze, even on the train!"; +"intro_description_edit" = "OpenDocument Reader belgeleri mobil cihazınızda okumakla kalmaz, düzenlemenize de olanak tanır. Yazım hatalarını trende bile kolayca düzeltirsiniz!"; /* */ -"intro_description_apps" = "OpenDocument Reader supports a huge range of other apps to open documents from. A colleague sent a presentation via Gmail? Click the attachment and this app is going to open right away!"; +"intro_description_apps" = "OpenDocument Reader, belgeleri çok sayıda başka uygulamadan açmayı destekler. Bir iş arkadaşınız Gmail ile sunum mu gönderdi? Eke dokunmanız yeterli, uygulama hemen açılır!"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "Belgelere dön"; /* */ "loading" = "Yükleniyor"; /* */ -"error" = "Error"; +"error" = "Hata"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "İleri"; +"intro_skip" = "Atla"; +"intro_start" = "Başla"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "Gizlilik"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "Reklam gizliliği seçenekleri"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "İzleme izni"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS izleme iznini yalnızca bir kez sorar. Bu izni istediğiniz zaman Ayarlar'da Gizlilik ve Güvenlik → İzleme bölümünden değiştirebilirsiniz. Orada yaptığınız değişiklik uygulamayı kapatır."; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "Ayarlar'ı aç"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "Destek olun"; +"house_ad_support_headline" = "OpenDocument Reader'a destek olun"; +"house_ad_support_subline" = "Pro ile reklamlar tamamen kalkar"; + +"house_ad_adfree_short" = "Reklamsız okuyun"; +"house_ad_adfree_headline" = "Reklamsız okuyun"; +"house_ad_adfree_subline" = "ODR Pro — tek seferlik satın alma"; + +"house_ad_source_short" = "Açık kaynak"; +"house_ad_source_headline" = "Açık kaynak, ücretsiz kalıyor"; +"house_ad_source_subline" = "Pro bunu karşılıyor ve reklamları kaldırıyor"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "Pro'ya geç"; +"house_ad_cta_get_pro" = "Pro'yu al"; diff --git a/OpenDocumentReader/zh-Hans.lproj/Localizable.strings b/OpenDocumentReader/zh-Hans.lproj/Localizable.strings index 8fd3395..a4968bd 100644 --- a/OpenDocumentReader/zh-Hans.lproj/Localizable.strings +++ b/OpenDocumentReader/zh-Hans.lproj/Localizable.strings @@ -1,75 +1,111 @@ /* */ -"toast_error_generic" = "出现了一些错误,无法打开文件。"; +"toast_error_generic" = "出错了,无法打开此文件。"; /* */ -"ok" = "OK"; +"ok" = "好"; /* */ -"alert_unsaved_changes" = "You have unsaved changes"; +"alert_unsaved_changes" = "您有尚未存储的更改"; /* */ -"alert_save_now" = "Save them now?"; +"alert_save_now" = "要现在存储吗?"; /* */ -"yes" = "Yes"; +"yes" = "是"; /* */ -"no" = "No"; +"no" = "否"; /* */ -"menu_edit" = "编辑文档"; +"menu_edit" = "编辑文稿"; /* */ -"action_edit_save" = "保存"; +"action_edit_save" = "存储"; /* */ -"menu_discard_changes" = "Discard changes"; +"menu_discard_changes" = "放弃更改"; /* */ -"menu_fullscreen" = "打开全屏模式"; +"menu_fullscreen" = "进入全屏模式"; /* */ -"menu_cloud_print" = "打印文档"; +"menu_cloud_print" = "打印文稿"; /* */ "action_edit_help" = "帮助"; /* */ -"cancel" = "cancel"; +"cancel" = "取消"; /* */ -"toast_edit_status_saved" = "Document saved"; +"toast_edit_status_saved" = "文稿已存储"; /* */ -"toast_error_save_failed" = "File could not be saved. Please contact support@opendocument.app"; +"toast_error_save_failed" = "无法存储文件,请联系 support@opendocument.app"; /* */ -"toast_error_password_protected" = "此文档受密码保护。"; +"toast_error_password_protected" = "此文稿受密码保护"; /* */ "intro_title_open" = "随时随地打开并阅读您的 ODF 文件!"; /* */ -"intro_title_edit" = "发现文件存在一处文稿错误?支持修改!"; +"intro_title_edit" = "文稿里有错别字?现在可以直接修改了!"; /* */ -"intro_title_apps" = "通过其他app阅读文件"; +"intro_title_apps" = "在其他 App 里阅读您的文稿"; /* */ -"intro_description_open" = "您可以使用 OpenDocument 阅读器查看以 OpenDocument 格式(.odt, .ods, .odp 和 .odg)储存的文档文件。这些文件通常是使用 LibreOffice 或 OpenOffice 创建的。本应用允许您在移动设备上打开这些文档,助您随时随地阅读它们。"; +"intro_description_open" = "OpenDocument Reader 可以查看以 OpenDocument 格式(.odt、.ods、.odp 和 .odg)存储的文稿,这些文件通常由 LibreOffice 或 OpenOffice 创建。有了这款 App,您也能在移动设备上打开它们,随时随地阅读。"; /* */ -"intro_description_edit" = "超级文件管理大师不仅允许用户在移动设备上阅读文件,同时还支持文件修改。用户即使在火车上也可轻松修改文稿错误。"; +"intro_description_edit" = "OpenDocument Reader 不只能在移动设备上阅读文稿,还能修改文稿。就算在火车上,改个错别字也很轻松。"; /* */ -"intro_description_apps" = "超级文件管理大师支持通过大量其他的app打开文件。一位同事通过Gmail发来一份演示文稿?只需点击附件,立刻将其打开!"; +"intro_description_apps" = "OpenDocument Reader 支持从大量其他 App 中打开文稿。同事用 Gmail 发来一份演示文稿?点一下附件,这款 App 就会立即打开它。"; /* */ -"back_to_documents" = "Back to documents"; +"back_to_documents" = "返回文稿列表"; /* */ -"loading" = "正在加载"; +"loading" = "正在载入"; /* */ -"error" = "error"; +"error" = "错误"; +/* Onboarding buttons. Were hardcoded English in Constants.swift before. */ +"intro_next" = "下一步"; +"intro_skip" = "跳过"; +"intro_start" = "开始使用"; + +/* Entry point in the document browser that reopens the advertising consent choices */ +"privacy" = "隐私"; + +/* Reopens the Google UMP consent form */ +"privacy_ad_choices" = "广告隐私选项"; + +/* Leads to the iOS tracking permission for this app */ +"privacy_tracking" = "跟踪权限"; + +/* Explains that ATT is asked once per install and lives in iOS Settings afterwards */ +"privacy_tracking_message" = "iOS 只会请求一次跟踪权限。您可以随时在“设置”中更改:“隐私与安全性”→“跟踪”。在那里更改后,App 会关闭。"; + +/* Opens this app's page in the Settings app */ +"privacy_open_settings" = "打开“设置”"; + +/* House ad shown in the banner slot when no ad is available. "short" variants are used on narrow screens. */ +"house_ad_support_short" = "支持我们"; +"house_ad_support_headline" = "支持 OpenDocument Reader"; +"house_ad_support_subline" = "升级到 Pro,从此没有广告"; + +"house_ad_adfree_short" = "无广告阅读"; +"house_ad_adfree_headline" = "无广告阅读"; +"house_ad_adfree_subline" = "ODR Pro,一次购买"; + +"house_ad_source_short" = "开源"; +"house_ad_source_headline" = "开源,始终免费"; +"house_ad_source_subline" = "Pro 支持开发,也去掉广告"; + +/* Buttons on the house ad */ +"house_ad_cta_go_pro" = "升级 Pro"; +"house_ad_cta_get_pro" = "获取 Pro"; From b4d24326b5b206fb68f0c4e07efc3ddcbea7b917 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 16 Aug 2026 09:56:04 +0200 Subject: [PATCH 3/6] Translate the store listing from what it says now Every listing but the English one was a translation of an older, shorter listing: six of the nine features and the whole list of formats the app opens were missing, and so were the notes about ads and where to send feedback. The Swedish one called an office suite office supplies. The 1.41 notes say PDFs fit the screen and take a password like everything else, rather than which engine draws them. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Xryx81PvamT674wzzQujjg --- CHANGELOG.md | 9 ++--- fastlane/metadata/de-DE/changelogs/1.41.txt | 7 ++-- fastlane/metadata/de-DE/description.txt | 38 ++++++++++-------- fastlane/metadata/en-US/changelogs/1.41.txt | 2 +- fastlane/metadata/es-ES/changelogs/1.41.txt | 7 ++-- fastlane/metadata/es-ES/description.txt | 42 +++++++++++++++----- fastlane/metadata/fr-FR/changelogs/1.41.txt | 7 ++-- fastlane/metadata/fr-FR/description.txt | 42 +++++++++++--------- fastlane/metadata/hi/changelogs/1.41.txt | 7 ++-- fastlane/metadata/hi/description.txt | 38 ++++++++++-------- fastlane/metadata/it/changelogs/1.41.txt | 7 ++-- fastlane/metadata/it/description.txt | 42 +++++++++++++++----- fastlane/metadata/pl/changelogs/1.41.txt | 7 ++-- fastlane/metadata/pl/description.txt | 42 +++++++++++++++----- fastlane/metadata/pt-BR/changelogs/1.41.txt | 7 ++-- fastlane/metadata/pt-BR/description.txt | 42 +++++++++++++++----- fastlane/metadata/ru/changelogs/1.41.txt | 7 ++-- fastlane/metadata/ru/description.txt | 44 +++++++++++---------- fastlane/metadata/sv/changelogs/1.41.txt | 7 ++-- fastlane/metadata/sv/description.txt | 42 +++++++++++++++----- fastlane/metadata/tr/changelogs/1.41.txt | 5 ++- fastlane/metadata/tr/description.txt | 42 +++++++++++++++----- 22 files changed, 325 insertions(+), 168 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2ebd10..a7aaf0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,9 @@ once the version tag exists. ### Fixed +- Flat XML documents (`.fodt`, `.fodp`, `.fods`, `.fodg`), `.otm`, `.xlt` and + `.xlm` can be picked in the document browser instead of being greyed out. + odrcore rendered them already; the app claimed no type that reached them. - The app is translated again. Every language but English was showing English for the onboarding buttons, the privacy screen and the banner, and Danish, Catalan, Turkish and Czech showed it for most of the rest. @@ -44,12 +47,6 @@ once the version tag exists. - Tapping a document sets no cursor, so edit mode cannot be typed into. The cause is in odrcore; `EditWorkflowTests` pins it until the fix ships. -### Fixed - -- Flat XML documents (`.fodt`, `.fodp`, `.fods`, `.fodg`), `.otm`, `.xlt` and - `.xlm` can be picked in the document browser instead of being greyed out. - odrcore rendered them already; the app claimed no type that reached them. - ## [1.40] ### Changed diff --git a/fastlane/metadata/de-DE/changelogs/1.41.txt b/fastlane/metadata/de-DE/changelogs/1.41.txt index dca4afb..6987b12 100644 --- a/fastlane/metadata/de-DE/changelogs/1.41.txt +++ b/fastlane/metadata/de-DE/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- PDFs zeigt die App jetzt selbst an – sie passen sich dem Bildschirm an und verhalten sich wie jedes andere Dokument -- Die Schaltflächen zum Suchen und Bearbeiten gibt es nur bei Dokumenten, die sich durchsuchen oder bearbeiten lassen -- Beim Bearbeiten wird aus dem Stift eine Speichern-Schaltfläche – so speichern Sie mit einem Fingertipp +- PDFs passen sich jetzt dem Bildschirm an und verhalten sich wie jedes andere Dokument, auch passwortgeschützte +- Die Schaltflächen zum Suchen und Bearbeiten erscheinen nur bei Dokumenten, die sich durchsuchen oder bearbeiten lassen +- Flache XML-Dokumente von LibreOffice, Globaldokument-Vorlagen und Excel-Vorlagen lassen sich jetzt im Dateimanager öffnen, statt ausgegraut zu sein +- Beim Bearbeiten wird der Stift zur Schaltfläche zum Speichern – ein Antippen genügt diff --git a/fastlane/metadata/de-DE/description.txt b/fastlane/metadata/de-DE/description.txt index fe9bb81..806c9da 100644 --- a/fastlane/metadata/de-DE/description.txt +++ b/fastlane/metadata/de-DE/description.txt @@ -1,20 +1,24 @@ -Lese und bearbeite Dokumente, die mit LibreOffice oder OpenOffice erstellt wurden, unterwegs mit OpenDocument Reader! +Sehen und bearbeiten Sie unterwegs Dokumente, die mit LibreOffice oder OpenOffice erstellt wurden – mit dem Dokumentenbetrachter und Dokumenteneditor! -Alle Funktionen von OpenDocument Reader auf einen Blick: -- ODT, ODS, ODP und ODG ohne Probleme öffnen -- einfache Bearbeitung von Dokumenten, um Tippfehler zu beheben, Sätze hinzuzufügen, etc -- passwortgeschützte Dokumente öffnen -- nach Wörtern im Dokument suchen und diese hervorheben -- Dokumente ausdrucken, wenn Ihr Gerät mit einem Drucker verbunden ist -- Dokumente im Vollbildmodus lesen, um Ablenkungen zu vermeiden -- Texte markieren und aus dem Dokument herauskopieren -- Dokumente auch ohne Internetverbindung genießen - vollständig offline verfügbar +Mit dem Dateibetrachter und Dokumenteneditor öffnen Sie ODF-Dateien (Open Document Format) aus LibreOffice oder OpenOffice überall dort, wo Sie gerade sind. Sie sitzen im Bus auf dem Weg zur Schule und wollen vor der großen Prüfung noch einen Blick auf Ihre Notizen werfen? Kein Problem! Mit dem Dokumentenbetrachter öffnen Sie Ihre Dateien, wo immer Sie möchten, und lesen und durchsuchen Ihre Dokumente unterwegs – übersichtlich und einfach. Fehlt nur noch ein letzter Tippfehler, bevor das Dokument an die Kollegen geht? Der Dateieditor beherrscht jetzt auch das Bearbeiten von Dokumenten! Schnell, einfach und gut integriert. -OpenDocument Reader erlaubt Ihnen Ihre ODF* (Open Document Format) Dokumente wo auch immer Sie sind zu lesen , welche mittels LibreOffice oder OpenOffice erstellt wurden. Sie sind im Bus auf dem Weg zur Schule und wollen noch einen Letzten Blick auf Ihre Notizen werfen vor der großen Prüfung? Kein Problem! Mit OpenDocument Reader können Sie Ihre Dokumente auf einfache und schnelle Weise lesen und durchsuchen. Gibt es nur noch einen letzten Tippfehler, der in Ihrem Dokument korrigiert werden muss bevor Sie es an Kollegen verschicken? OpenDocument Reader unterstützt jetzt die Änderung von Dokumenten! Schnell, einfach und gut integriert. +Dateien im ODF-Format (ODT, ODS und viele mehr), die Sie mit Libre Office oder OpenOffice erstellt haben, öffnen Sie auch direkt aus anderen Apps heraus. Unterstützt werden unter anderem GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox und viele weitere! Oder nutzen Sie unseren integrierten Dateimanager, um Dateien auf Ihrem Gerät zu öffnen. -Sie können Ihre Dokumente aus anderen Apps heraus öffnen. Unterstützte Apps beinhalten GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox und viele mehr! Oder nutzen Sie stattdessen unseren integrierten Dateimanager um lokale Dateien auf Ihrem Gerät zu öffnen. +DOKUMENTENBETRACHTER UND DOKUMENTENEDITOR IN EINER APP -Zusätzlich zielt OpenDocument Reader darauf ab, verschiedene andere Dateiformate so gut wie möglich zu unterstützen: +*ODF-Dateien ohne Umwege öffnen: ODT (Writer), ODS (Calc), ODP und ODG +*Dokumente mit dem Dateieditor bearbeiten, um Tippfehler zu beheben, Sätze zu ergänzen und mehr +*passwortgeschützte Dokumente sicher öffnen +*in ODT (Writer), ODS (Calc) oder ODG nach Stichwörtern suchen und sie hervorheben +*Dokumente drucken, wenn Ihr Gerät mit einem Drucker verbunden ist +*Dokumente im Vollbildmodus lesen und Ablenkungen vermeiden +*Text markieren und aus Ihren Dokumenten herauskopieren +*Dokumente auch ohne Internetverbindung genießen – vollständig offlinefähig +*Dokumente per Text-to-Speech vorlesen lassen + +DOKUMENTE FÜR UNTERWEGS – WO IMMER SIE MÖCHTEN + +Darüber hinaus unterstützen Dokumentenbetrachter und Dokumenteneditor viele weitere Dateiformate so gut wie möglich: - Portable Document Format (PDF) - Archive: ZIP - Bilder: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG, etc @@ -22,12 +26,12 @@ Zusätzlich zielt OpenDocument Reader darauf ab, verschiedene andere Dateiformat - Audio: MP3, OGG, etc - Textdateien: CSV, TXT, HTML, RTF - Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) -- Apple iWork: Seiten, Numbers, Keynote -- Libre Office und Open Office OpenDocument Format: ODF* (ODT, ODS, ODP, ODG) +- Apple iWork: Pages, Numbers, Keynote +- Libre Office und Open Office ODF (ODT, ODS, ODP, ODG) - PostScript (EPS) - AutoCAD (DXF) - Photoshop (PSD) -Diese App ist Open Source. Wir arbeiten nicht mit OpenOffice, LibreOffice oder ähnlichen zusammen. Made in Austria. +Diese App ist Open Source. Wir stehen in keiner Verbindung zu OpenOffice, LibreOffice oder ähnlichen Projekten. Made in Austria. Werbung wird eingeblendet, um die Entwicklung dieser App zu unterstützen. Sie lässt sich über das Menü in der App vorübergehend entfernen. Über Rückmeldungen jeder Art per E-Mail freuen wir uns sehr. -* ODF (Open Document Format) ist das Format, das von Office-Suiten wie Open Office und Libre Office verwendet wird. Sowohl Textdokumente (Writer, ODT), als auch Tabellenkalkulationen (Calc, ODS) und Präsentationen (Impress, ODP) werden unterstützt, einschließlich komplexer Formatierungen und eingebetteter Bilder. Graphen sind auch kein Problem mit dieser App. Wenn Sie Ihre Daten sichern möchten, können Sie auch passwortgeschützte Dokumente öffnen. Weitere Anwendungen, die dieses Format verwenden, sind LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office und 602Office. +ODF ist das Format, das Office-Suiten wie Open Office und Libre Office verwenden. Unterstützt werden Textdokumente (Writer, ODT) ebenso wie Tabellenkalkulationen (Calc, ODS) und Präsentationen (Impress, ODP) – der Dateieditor kommt dabei auch mit komplexen Formatierungen und eingebetteten Bildern zurecht. Diagramme sind ebenfalls kein Problem. Und wenn Sie Ihre Daten schützen möchten, öffnen Sie sogar passwortgeschützte Dokumente. Weitere Anwendungen, die dieses Format verwenden, sind LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office und 602Office. diff --git a/fastlane/metadata/en-US/changelogs/1.41.txt b/fastlane/metadata/en-US/changelogs/1.41.txt index 1986e18..4c72dbf 100644 --- a/fastlane/metadata/en-US/changelogs/1.41.txt +++ b/fastlane/metadata/en-US/changelogs/1.41.txt @@ -1,4 +1,4 @@ -- PDFs are drawn by the app's own engine, so they fit the screen and behave like every other document +- PDFs now fit the screen and behave like every other document, password protected ones included - The search and edit buttons are there only for documents that can be searched or edited - LibreOffice's flat XML documents, master document templates and Excel templates can be opened from the document browser instead of being greyed out - Editing a document turns the pencil into a save button, so saving is one tap away diff --git a/fastlane/metadata/es-ES/changelogs/1.41.txt b/fastlane/metadata/es-ES/changelogs/1.41.txt index a4bab9d..1473d99 100644 --- a/fastlane/metadata/es-ES/changelogs/1.41.txt +++ b/fastlane/metadata/es-ES/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- Los PDF se muestran con el motor propio de la aplicación: se ajustan a la pantalla y funcionan como cualquier otro documento -- Los botones de búsqueda y edición solo aparecen en los documentos que se pueden buscar o editar -- Al editar un documento, el lápiz se convierte en un botón de guardar: basta con un toque +- Los PDF ahora se ajustan a la pantalla y se comportan como cualquier otro documento, incluidos los protegidos con contraseña +- Los botones de búsqueda y edición solo aparecen en los documentos que se pueden buscar o modificar +- Los documentos en XML plano de LibreOffice, las plantillas de documento maestro y las plantillas de Excel ya se pueden abrir desde el explorador de archivos en lugar de aparecer atenuados +- Al modificar un documento, el lápiz se convierte en un botón de guardar, así que guardar es cuestión de un toque diff --git a/fastlane/metadata/es-ES/description.txt b/fastlane/metadata/es-ES/description.txt index 7654558..840890c 100644 --- a/fastlane/metadata/es-ES/description.txt +++ b/fastlane/metadata/es-ES/description.txt @@ -1,15 +1,37 @@ -¡Visualice y modifique documentos creados con OpenOffice o LibreOffice desde cualquier lugar usando OpenDocument Reader! +¡Vea y modifique documentos creados con LibreOffice u OpenOffice esté donde esté, con el lector y editor de documentos! -OpenDocument Reader le permite leer sus documentos ODF* (OpenDocument Format, creados usando LibreOffice u OpenOffice) dondequiera que esté. ¿En el autobús de camino a la escuela? ¡No hay problema! Con OpenDocument Reader, puede leer y buscar en sus documentos de una manera muy directa y sencilla. ¿Queda algún último error tipográfico por corregir en el documento? ¡Ahora también permite la modificación de documentos! Rápido, simple y bien integrado. +El lector de archivos y editor de documentos le permite abrir archivos ODF (Open Document Format) creados con LibreOffice u OpenOffice desde cualquier lugar. ¿Va en el autobús camino de clase y quiere repasar los apuntes antes del examen? ¡Ningún problema! Con el lector de documentos puede abrir sus archivos donde quiera y leerlos y buscar en ellos de forma clara y sencilla. ¿Le queda una última errata por corregir antes de enviar el documento a sus compañeros? ¡El editor de archivos ya permite modificar documentos! Rápido, sencillo y bien integrado. -Puede comenzar a leer los documentos que tenga en otras aplicaciones. Las aplicaciones compatibles incluyen Gmail, Google Drive, Box.net, Dropbox y muchos más. +También puede abrir archivos ODF (ODT, ODS y muchos más) creados con LibreOffice u OpenOffice desde otras aplicaciones. Entre las compatibles están GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox y muchas más. O use nuestro explorador de archivos integrado para abrir los documentos que tenga en el dispositivo. -Todas las características de un vistazo: -- abra .odt, .ods y .odp sin problemas -- edición básica de documentos para corregir errores tipográficos, añadir frases, etc. -- opción para trabajar desconectado -- tamaño de aplicación muy pequeño +EL LECTOR Y EDITOR DE DOCUMENTOS TODO EN UNO -* ODF es el formato utilizado por suites ofimáticas como OpenOffice y LibreOffice. Se admiten documentos de texto (.odt), así como hojas de cálculo (.ods) y también presentaciones (.odp), incluido el soporte para formatos complejos e imágenes incrustadas. Las gráficas tampoco son un problema. Si desea proteger sus datos, puede abrir incluso documentos protegidos con contraseña. +*abra archivos ODF: ODT (writer), ODS (calc), ODP y ODG sin complicaciones +*edite documentos de forma básica con el editor de archivos para corregir erratas, añadir frases, etc. +*abra con seguridad documentos protegidos con contraseña +*busque palabras clave en sus ODT (writer), ODS (calc) u ODG y resáltelas +*imprima documentos si su dispositivo está conectado a una impresora +*lea sus documentos a pantalla completa para evitar distracciones +*seleccione y copie el texto de sus documentos +*disfrute de sus documentos aunque no tenga internet: funciona totalmente sin conexión +*escuche sus documentos en voz alta con la tecnología de texto a voz -Esta aplicación es de código abierto. No estamos afiliados con OpenOffice, LibreOffice ni programas similares. Desarrollada en Austria. +SUS DOCUMENTOS, DONDEQUIERA QUE VAYA + +Además, el lector y editor de documentos procura admitir lo mejor posible muchos otros formatos de archivo: +- Portable Document Format (PDF) +- Archivos comprimidos: ZIP +- Imágenes: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG, etc. +- Vídeos: MP4, WEBM, etc. +- Audio: MP3, OGG, etc. +- Archivos de texto: CSV, TXT, HTML, RTF +- Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) +- Apple iWork: Pages, Numbers, Keynote +- Libre Office y Open Office ODF (ODT, ODS, ODP, ODG) +- PostScript (EPS) +- AutoCAD (DXF) +- Photoshop (PSD) + +Esta aplicación es de código abierto. No estamos afiliados con OpenOffice, LibreOffice ni programas similares. Desarrollada en Austria. Mostramos anuncios para financiar el desarrollo de la aplicación y puede quitarlos temporalmente desde el menú de la propia aplicación. Agradecemos muchísimo cualquier comentario por correo electrónico. + +ODF es el formato que utilizan las suites ofimáticas como Open Office y Libre Office. Se admiten documentos de texto (Writer, ODT), hojas de cálculo (Calc, ODS) y presentaciones (Impress, ODP), incluida la compatibilidad del editor de archivos con los formatos complejos y las imágenes incrustadas. Las gráficas tampoco son un problema. Y si quiere proteger sus datos, puede abrir incluso documentos protegidos con contraseña. Otras aplicaciones que utilizan este formato son LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office y 602Office. diff --git a/fastlane/metadata/fr-FR/changelogs/1.41.txt b/fastlane/metadata/fr-FR/changelogs/1.41.txt index 62c0e3d..8bada93 100644 --- a/fastlane/metadata/fr-FR/changelogs/1.41.txt +++ b/fastlane/metadata/fr-FR/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- Le moteur intégré affiche désormais les PDF : ils s'adaptent à l'écran et se comportent comme tous les autres documents -- Les boutons de recherche et de modification n'apparaissent que pour les documents qui les prennent en charge -- Pendant la modification, le crayon devient un bouton d'enregistrement : il suffit d'un appui +- Les PDF s'adaptent maintenant à l'écran et se comportent comme tout autre document, y compris ceux protégés par mot de passe +- Les boutons de recherche et de modification n'apparaissent que pour les documents que l'on peut modifier ou dans lesquels on peut faire une recherche +- Les documents XML plat de LibreOffice, les modèles de document maître et les modèles Excel s'ouvrent depuis l'explorateur de fichiers au lieu d'être grisés +- Pendant la modification d'un document, le crayon devient un bouton d'enregistrement : il suffit d'un appui pour enregistrer diff --git a/fastlane/metadata/fr-FR/description.txt b/fastlane/metadata/fr-FR/description.txt index 0134dd2..0b41bae 100644 --- a/fastlane/metadata/fr-FR/description.txt +++ b/fastlane/metadata/fr-FR/description.txt @@ -1,33 +1,37 @@ -Consultez et modifiez les documents créés avec OpenOffice ou LibreOffice en utilisant OpenDocument Reader ! +Consultez et modifiez où que vous soyez les documents créés avec LibreOffice ou OpenOffice grâce à la visionneuse et à l'éditeur de documents ! -Toutes les fonctionnalités d'OpenDocument Reader d'un seul coup d’œil : -- Ouvrez facilement les fichiers ODT, ODS, ODP et ODG -- Modifiez les documents pour corriger de petites fautes ou ajouter des phrases, etc -- Ouvrez les documents protégés par mot de passe -- Recherchez dans votre document et mettez en évidence les occurrences des mots trouvés -- Imprimez des documents si votre appareil est connecté à une imprimante -- Lisez vos documents en plein écran pour éviter les distractions -- Sélectionnez et copiez le texte de vos documents -- Travaillez sur vos documents sans connexion à Internet +La visionneuse et l'éditeur de documents vous permettent d'ouvrir partout vos fichiers ODF (Open Document Format) créés avec LibreOffice ou OpenOffice. Dans le bus, sur le chemin de l'école, vous voulez relire vos notes avant le grand examen ? Aucun souci ! Avec la visionneuse, vous ouvrez vos fichiers où bon vous semble, puis vous lisez vos documents et y faites des recherches, simplement et clairement. Il ne reste qu'une faute de frappe à corriger avant d'envoyer votre document à vos collègues ? L'éditeur prend désormais en charge la modification des documents ! Rapide, simple et bien intégré. -OpenDocument Reader vous permet de lire vos documents ODF (Open Document Format) créé en utilisant LibreOffice ou OpenOffice où que vous soyez. Dans le bus, sur le chemin à l'école, vous souhaitez relire vos notes avant l'examen ? Aucun souci ! Avec OpenDocument Reader, vous pouvez lire vos documents simplement et rechercher facilement dans vos documents .Une faute de frappe à corriger dans votre document avant de l'envoyer ? Désormais OpenDocument Reader permet la modification des documents ! Une application rapide, simple et intégrée. +Vos fichiers ODF (ODT, ODS et bien d'autres) créés avec Libre Office ou OpenOffice s'ouvrent aussi depuis d'autres applications. Parmi celles qui sont prises en charge : GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox et beaucoup d'autres ! Ou utilisez notre explorateur de fichiers intégré pour ouvrir les fichiers de votre appareil. -Vous pouvez lancer la lecture de vos documents depuis d'autres applications. Les applications prises en charge incluent Gmail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox et beaucoup d'autres ! Ou utilisez notre explorateur de fichiers intégré pour ouvrir les fichiers locaux de votre appareil. +LA VISIONNEUSE ET L'ÉDITEUR DE DOCUMENTS TOUT-EN-UN -Par ailleurs OpenDocument Reader a pour objectif de prendre en charge d'autres formats de fichiers : -- Format de document portable (PDF) +*ouvrez sans effort les fichiers ODF : ODT (writer), ODS (calc), ODP et ODG +*modifiez vos documents pour corriger une faute de frappe, ajouter une phrase, etc +*ouvrez en toute sécurité les documents protégés par mot de passe +*recherchez des mots-clés dans vos ODT (writer), ODS (calc) ou ODG et mettez-les en évidence +*imprimez vos documents si votre appareil est connecté à une imprimante +*lisez vos documents en plein écran pour éviter les distractions +*sélectionnez et copiez le texte de vos documents +*profitez de vos documents même sans connexion à Internet - tout fonctionne hors ligne +*faites lire vos documents à voix haute grâce à la synthèse vocale + +VOS DOCUMENTS AVEC VOUS - OÙ QUE VOUS SOYEZ + +Par ailleurs, la visionneuse et l'éditeur de documents ont pour objectif de prendre en charge au mieux de nombreux autres formats de fichiers : +- Portable Document Format (PDF) - Archives : ZIP - Images : JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG, etc - Vidéos : MP4, WEBM, etc - Audio : MP3, OGG, etc -- Fichiers textes : CSV, TXT, HTML, RTF +- Fichiers texte : CSV, TXT, HTML, RTF - Microsoft Office (OOXML) : Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) -- Apple iWork : Pages, Numéros, Keynote -- Libre Office et Open Office au format OpenDocument : ODF* (ODT, ODS, ODP, ODG) +- Apple iWork : Pages, Numbers, Keynote +- Libre Office et Open Office ODF (ODT, ODS, ODP, ODG) - PostScript (EPS) - AutoCAD (DXF) - Photoshop (PSD) -Cette application est open source. Nous ne sommes affiliés ni à OpenOffice ni à LibreOffice. Fabriqué en Autriche. +Cette application est open source. Nous ne sommes affiliés ni à OpenOffice, ni à LibreOffice, ni à aucun projet similaire. Fabriquée en Autriche. Des publicités sont affichées afin de soutenir le développement de l'application. Vous pouvez les retirer temporairement, gratuitement, depuis le menu de l'application. Tous vos retours par e-mail sont les bienvenus. -ODF (Open Document Format) est le format utilisé par les suites bureautiques comme Open Office et Libre Office. Les documents textes (Writer, .odt) comme les feuilles de calcul (Calc, .ods) et les présentations (Impress, .odp) sont supportés, y compris les mises en formes complexes et les images embarquées. Les graphiques, eux non plus, ne posent aucun problème. Si vous souhaitez sécuriser vos données, vous pouvez même ouvrir les documents protégés par mot de passe. Les autres applications qui utilisent ce format sont LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office et 602Office. +ODF est le format utilisé par les suites bureautiques comme Open Office et Libre Office. Les documents texte (Writer, ODT), les feuilles de calcul (Calc, ODS) et les présentations (Impress, ODP) sont pris en charge, y compris, avec l'éditeur, les mises en forme complexes et les images intégrées. Les graphiques ne posent pas non plus de problème. Et pour protéger vos données, vous pouvez même ouvrir des documents protégés par mot de passe. Les autres applications qui utilisent ce format sont LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office et 602Office. diff --git a/fastlane/metadata/hi/changelogs/1.41.txt b/fastlane/metadata/hi/changelogs/1.41.txt index 9e77d18..37b4927 100644 --- a/fastlane/metadata/hi/changelogs/1.41.txt +++ b/fastlane/metadata/hi/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- अब PDF को ऐप का अपना इंजन दिखाता है, इसलिए वे स्क्रीन पर ठीक बैठते हैं और बाकी डॉक्यूमेंट्स की तरह ही काम करते हैं -- खोज और एडिट के बटन सिर्फ उन्हीं डॉक्यूमेंट्स पर दिखते हैं जिन्हें खोजा या एडिट किया जा सकता है -- डॉक्यूमेंट एडिट करते ही पेंसिल सेव बटन में बदल जाती है, फिर सेव करना बस एक टैप का काम है +- अब PDF स्क्रीन में फिट होते हैं और बाकी डॉक्यूमेंट की तरह चलते हैं, पासवर्ड से सुरक्षित PDF भी +- खोज और एडिट के बटन सिर्फ उन्हीं डॉक्यूमेंट पर दिखते हैं जिनमें खोजा या बदलाव किया जा सकता है +- LibreOffice के फ्लैट XML डॉक्यूमेंट, मास्टर डॉक्यूमेंट टेम्पलेट और Excel टेम्पलेट अब फाइल एक्सप्लोरर में फीके नहीं पड़े रहते, वहीं से खुल जाते हैं +- डॉक्यूमेंट एडिट करते ही पेंसिल सेव बटन बन जाती है, सेव करना बस एक टैप दूर diff --git a/fastlane/metadata/hi/description.txt b/fastlane/metadata/hi/description.txt index 9e49845..8b8d73e 100644 --- a/fastlane/metadata/hi/description.txt +++ b/fastlane/metadata/hi/description.txt @@ -1,20 +1,24 @@ -आप राह चलते भी OpenDocument Reader का उपयोग कर सकते हैं और LibreOffice या OpenOffice के जरिये बनाए डॉक्यूमेंट्स को देख सकते हैं व संशोधित कर सकते हैं! +चलते-फिरते भी Document Reader & Document Editor से LibreOffice या OpenOffice में बने डॉक्यूमेंट देखें और उनमें बदलाव करें! -चाहे आप कहीं भी हों, OpenDocument Reader आपको अपने उन ODF* (ओपन डॉक्यूमेंट फॉर्मेट) डॉक्यूमेंट्स को पढ़ने की सुविधा देता है जिन्हें LibreOffice या OpenOffice के जरिये बनाया गया है। आपका कोई महत्वपूर्ण इम्तहान है और आप स्कूल जाते हुए बस में बैठे-बैठे नोट्स पर एक नजर डाल लेना चाहते हैं? तो कोई दिक्कत नहीं है! OpenDocument Reader की मदद से आप अपने डॉक्यूमेंट्स में मनचाही चीज पढ़ व खोज सकते हैं, वह भी एकदम आसानी से व साफ-सुथरे रूप में। डॉक्यूमेंट अपने साथियों को भेजने से ठीक पहले इसमें एक गड़बड़ी ठीक करने से रह गई दिख रही है? OpenDocument Reader के जरिये अब आप डॉक्यूमेंट्स में सुधार भी कर सकते हैं! झटपट, आसानी से और एकीकृत रूप में। +यह फाइल रीडर और डॉक्यूमेंट एडिटर आपको LibreOffice या OpenOffice में बनी ODF (ओपन डॉक्यूमेंट फॉर्मेट) फाइलें कहीं भी खोलने देता है। बड़े इम्तहान से पहले स्कूल जाती बस में अपने नोट्स पर एक नजर डालनी है? कोई दिक्कत नहीं! Document Reader से आप फाइलें जहाँ चाहें खोल सकते हैं और अपने डॉक्यूमेंट साफ-सुथरे, आसान तरीके से पढ़ सकते हैं और उनमें खोज सकते हैं। साथियों को डॉक्यूमेंट भेजने से पहले बस एक आखिरी टाइपिंग की गलती सुधारनी रह गई है? File Editor अब डॉक्यूमेंट एडिट करने की सुविधा भी देता है! तेज, आसान और ऐप में पूरी तरह घुला-मिला। -आप दूसरे ऐप्स के भीतर भी अपने डॉक्यूमेंट्स पढ़ना शुरू कर सकते हैं। सपोर्टेड ऐप्स में GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox और कई अन्य शामिल हैं! या, अपनी डिवाइस पर स्थानीय फाइलें खोलने के लिए, इसके बजाय हमारे इंटीग्रेटेड फाइल एक्सप्लोरर का भी इस्तेमाल कर सकते हैं। +LibreOffice या OpenOffice में बनी ODF फाइलें (ODT, ODS और कई और) आप दूसरे ऐप्स के भीतर से भी खोल सकते हैं। सपोर्ट किए जाने वाले ऐप्स में GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox और कई अन्य शामिल हैं! या फिर अपनी डिवाइस पर रखी फाइलें खोलने के लिए हमारे इंटीग्रेटेड फाइल एक्सप्लोरर का इस्तेमाल करें। -सभी फीचर्स एक झलक में: -- बिना किसी झंझट के ODT, ODS, ODP और ODG फाइलें खोलें -- डॉक्यूमेंट में टाइपिंग की गड़बड़ियाँ ठीक करने, वाक्य जोड़ने आदि जैसी सामान्य एडिटिंग की सुविधा -- पासवर्ड-सुरक्षित डॉक्यूमेंट्स को सुरक्षित ढंग से खोलने की सुविधा -- आपके डॉक्यूमेंट में मौजूद कीवर्ड खोजना और उन्हें हाइलाइट करना -- डिवाइस के प्रिंटर से कनेक्ट होने पर डॉक्यूमेंट प्रिंट करना -- ध्यान भटकने से बचने के लिए अपने डॉक्यूमेंट को फुलस्क्रीन में पढ़ें -- अपने डॉक्यूमेंट्स से टेक्स्ट चुनकर कॉपी करें -- बिना इंटरनेट के भी अपने डॉक्यूमेंट पढ़ें - ऑफलाइन सुविधा +एक ही ऐप में डॉक्यूमेंट रीडर और डॉक्यूमेंट एडिटर -इसके साथ ही, OpenDocument Reader कई अन्य फाइल फॉर्मेट को भी, जहाँ तक संभव हो, सपोर्ट करता है, जैसे कि: +*बिना किसी झंझट के ODF फाइलें खोलें: ODT (writer), ODS (calc), ODP और ODG +*फाइल एडिटर से डॉक्यूमेंट में सामान्य एडिट करें - टाइपिंग की गलती सुधारें, वाक्य जोड़ें वगैरह +*पासवर्ड से सुरक्षित डॉक्यूमेंट सुरक्षित ढंग से खोलें +*अपने ODT (writer), ODS (calc) या ODG में कीवर्ड खोजें और उन्हें हाइलाइट करें +*डिवाइस प्रिंटर से जुड़ी हो तो डॉक्यूमेंट प्रिंट करें +*ध्यान भटके बिना पढ़ने के लिए डॉक्यूमेंट फुलस्क्रीन में देखें +*अपने डॉक्यूमेंट से टेक्स्ट चुनें और कॉपी करें +*इंटरनेट न हो तब भी डॉक्यूमेंट पढ़ें - पूरी तरह ऑफलाइन चलता है +*Text-To-Speech तकनीक से अपने डॉक्यूमेंट सुनें + +डॉक्यूमेंट साथ लेकर चलें - जहाँ भी आप जाएँ + +इसके अलावा यह डॉक्यूमेंट रीडर और डॉक्यूमेंट एडिटर कई दूसरे फाइल फॉर्मेट को भी जहाँ तक हो सके सपोर्ट करता है: - पोर्टेबल डॉक्यूमेंट फॉर्मेट (PDF) - आर्काइव: ZIP - इमेज: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG आदि @@ -22,10 +26,12 @@ - ऑडियो: MP3, OGG आदि - टेक्स्ट फाइलें: CSV, TXT, HTML, RTF - Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) -- Apple iWork: पेज, नंबर, की-नोट -- Libre Office और Open Office का OpenDocument फॉर्मेट: ODF* (ODT, ODS, ODP, ODG) +- Apple iWork: Pages, Numbers, Keynote +- Libre Office और Open Office ODF (ODT, ODS, ODP, ODG) - PostScript (EPS) - AutoCAD (DXF) - Photoshop (PSD) -* ODF (ओपन डॉक्यूमेंट फॉर्मेट) वह फॉर्मेट है जो Open Office और Libre Office जैसे ऑफिस सुइट द्वारा इस्तेमाल होता है। टेक्स्ट डॉक्यूमेंट (Writer, ODT) के साथ ही स्प्रेडशीट (Calc, ODS), प्रेजेंटेशन (Impress, ODP) को भी सपोर्ट किया जाता है। इसमें जटिल फॉर्मेटिंग और इम्बेडेड इमेज को भी सपोर्ट शामिल है। ग्राफ़ में भी कोई समस्या नहीं है। अगर आप अपने डेटा की सुरक्षा के लिए काफी सतर्क रहते हैं, तो आप पासवर्ड-सुरक्षित डॉक्यूमेंट भी खोल सकते हैं। इस फॉर्मेट को इस्तेमाल करने वाले अन्य ऐप्लिकेशन में LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office और 602Office शामिल हैं। +यह ऐप ओपन सोर्स है। OpenOffice, LibreOffice या इनसे मिलते-जुलते किसी भी संगठन से हमारा कोई संबंध नहीं है। ऑस्ट्रिया में बना। ऐप का विकास जारी रखने के लिए इसमें विज्ञापन दिखाए जाते हैं। ऐप के मेन्यू से उन्हें कुछ समय के लिए मुफ्त में हटाया जा सकता है। हर तरह की राय ईमेल से भेजें, हमें बहुत अच्छा लगेगा। + +ODF वह फॉर्मेट है जिसे Open Office और Libre Office जैसे ऑफिस सुइट इस्तेमाल करते हैं। टेक्स्ट डॉक्यूमेंट (Writer, ODT) के साथ स्प्रेडशीट (Calc, ODS) और प्रेजेंटेशन (Impress, ODP) भी सपोर्ट किए जाते हैं, और फाइल एडिटर जटिल फॉर्मेटिंग व इम्बेडेड इमेज को भी संभाल लेता है। ग्राफ भी कोई समस्या नहीं। अपने डेटा को सुरक्षित रखना चाहें तो पासवर्ड से सुरक्षित डॉक्यूमेंट भी खोल सकते हैं। इस फॉर्मेट को इस्तेमाल करने वाले दूसरे ऐप्लिकेशन हैं LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office और 602Office। diff --git a/fastlane/metadata/it/changelogs/1.41.txt b/fastlane/metadata/it/changelogs/1.41.txt index 6916cad..8afe282 100644 --- a/fastlane/metadata/it/changelogs/1.41.txt +++ b/fastlane/metadata/it/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- I PDF vengono visualizzati dal motore interno dell'app: si adattano allo schermo e si comportano come ogni altro documento -- I pulsanti di ricerca e modifica compaiono solo nei documenti che si possono cercare o modificare -- Quando modifichi un documento, la matita diventa un pulsante di salvataggio: salvi con un tocco +- I PDF ora si adattano allo schermo e si comportano come ogni altro documento, compresi quelli protetti da password +- I pulsanti di ricerca e modifica compaiono solo per i documenti in cui si può cercare o che si possono modificare +- I documenti XML piatti di LibreOffice, i modelli di documento master e i modelli di Excel si aprono dall'esplora file invece di restare in grigio +- Mentre modifichi un documento la matita diventa un pulsante di salvataggio: salvi con un tocco diff --git a/fastlane/metadata/it/description.txt b/fastlane/metadata/it/description.txt index 6e70b08..1b8e5a2 100644 --- a/fastlane/metadata/it/description.txt +++ b/fastlane/metadata/it/description.txt @@ -1,15 +1,37 @@ -Visualizza e modifica i documenti creati usando OpenOffice o LibreOffice mentre sei in movimento usando OpenDocument Reader! +Visualizza e modifica ovunque tu sia i documenti creati con LibreOffice o OpenOffice, con Document Reader & Document Editor! -OpenDocument Reader ti permette di leggere i tuoi documenti ODF * (OpenDocument Format, creati con LibreOffice o OpenOffice) ovunque tu sia. Sei sull'autobus verso scuola? Nessun problema! Con OpenDocument Reader puoi leggere e cercare tra i tuoi documenti in modo molto semplice e pulito. C'è solo un errore di battitura rimasto da correggere nel documento? Ora supporta anche la modifica dei documenti! Veloce, semplice e ben integrato. +Il lettore di file ed editor di documenti ti permette di aprire i file ODF (Open Document Format) creati con LibreOffice o OpenOffice ovunque ti trovi. Sei sull'autobus verso scuola e vuoi ripassare gli appunti prima dell'esame? Nessun problema! Con Document Reader apri i file dove vuoi e leggi e cerchi nei tuoi documenti in modo semplice e pulito. È rimasto un ultimo errore di battitura da correggere prima di mandare il documento ai colleghi? Ora l'editor di file supporta anche la modifica dei documenti! Veloce, semplice e ben integrato. - Puoi iniziare a leggere i tuoi documenti da altre app. Le app supportate includono GMail, Google Drive, Box.net, Dropbox e molte altre! +I file ODF (ODT, ODS e molti altri) creati con Libre Office o OpenOffice puoi aprirli anche dall'interno di altre app. Tra quelle supportate ci sono GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox e tante altre! Oppure usa il nostro esplora file integrato per aprire i file che hai sul dispositivo. -Tutte le funzionalità in un colpo d'occhio: -- apri .odt, .ods e .odp senza - - modifica di base dei documenti per correggere errori di battitura, aggiungere frasi, ecc. - - completamente funzionante offline - - app di piccole dimensioni +IL LETTORE ED EDITOR DI DOCUMENTI TUTTO IN UNO - * ODF è il formato utilizzato da pacchetti di office come OpenOffice e LibreOffice. Sono supportati documenti di testo (.odt), fogli di calcolo (.ods) e anche presentazioni (.odp), incluso il supporto per la formattazione complessa e le immagini incorporate. Anche i grafici non sono un problema. Se vuoi proteggere i tuoi dati puoi persino aprire documenti protetti da password. +*apri senza complicazioni i file ODF: ODT (Writer), ODS (Calc), ODP e ODG +*modifica di base dei documenti con l'editor di file, per correggere errori di battitura, aggiungere frasi e altro ancora +*apri in tutta sicurezza i documenti protetti da password +*cerca parole chiave nei tuoi ODT (Writer), ODS (Calc) o ODG ed evidenziale +*stampa i documenti se il dispositivo è collegato a una stampante +*leggi i documenti a schermo intero, senza distrazioni +*seleziona e copia il testo dai tuoi documenti +*consulta i documenti anche senza connessione: l'app funziona completamente offline +*ascolta i tuoi documenti letti ad alta voce con la sintesi vocale -Questa app è open-source. Non siamo affiliati con OpenOffice, LibreOffice o simili. Made in Austria. +I TUOI DOCUMENTI SEMPRE CON TE, OVUNQUE TU VADA + +Oltre a questo, il lettore ed editor di documenti punta a supportare al meglio anche molti altri formati di file: +- Portable Document Format (PDF) +- Archivi: ZIP +- Immagini: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG, ecc. +- Video: MP4, WEBM, ecc. +- Audio: MP3, OGG, ecc. +- File di testo: CSV, TXT, HTML, RTF +- Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) +- Apple iWork: Pages, Numbers, Keynote +- Libre Office e Open Office ODF (ODT, ODS, ODP, ODG) +- PostScript (EPS) +- AutoCAD (DXF) +- Photoshop (PSD) + +Questa app è open source. Non siamo affiliati a OpenOffice, LibreOffice o simili. Made in Austria. La pubblicità serve a sostenere lo sviluppo dell'app e puoi rimuoverla temporaneamente dal menu dell'app. Ogni tuo commento via email è sempre benvenuto. + +ODF è il formato usato dalle suite per ufficio come Open Office e Libre Office. Sono supportati i documenti di testo (Writer, ODT), i fogli di calcolo (Calc, ODS) e anche le presentazioni (Impress, ODP), con un editor di file che gestisce la formattazione complessa e le immagini incorporate. Nemmeno i grafici sono un problema. Se vuoi proteggere i tuoi dati, puoi persino aprire documenti protetti da password. Altre applicazioni che usano questo formato sono LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office e 602Office. diff --git a/fastlane/metadata/pl/changelogs/1.41.txt b/fastlane/metadata/pl/changelogs/1.41.txt index 9804f0a..10597c8 100644 --- a/fastlane/metadata/pl/changelogs/1.41.txt +++ b/fastlane/metadata/pl/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- Pliki PDF wyświetla własny silnik aplikacji, więc dopasowują się do ekranu i działają jak każdy inny dokument -- Przyciski wyszukiwania i edycji pojawiają się tylko w dokumentach, które można przeszukiwać lub edytować -- Podczas edycji dokumentu ołówek zamienia się w przycisk zapisu — zapisujesz jednym dotknięciem +- Pliki PDF dopasowują się teraz do ekranu i działają jak każdy inny dokument, także te chronione hasłem +- Przyciski wyszukiwania i edycji pojawiają się tylko przy dokumentach, które można przeszukać lub edytować +- Dokumenty LibreOffice w płaskim XML, szablony dokumentów głównych i szablony Excela otworzysz z eksploratora plików, zamiast oglądać je wyszarzone +- Podczas edycji dokumentu ołówek zmienia się w przycisk zapisu, więc zapiszesz jednym dotknięciem diff --git a/fastlane/metadata/pl/description.txt b/fastlane/metadata/pl/description.txt index ba2c2ff..7a7795c 100644 --- a/fastlane/metadata/pl/description.txt +++ b/fastlane/metadata/pl/description.txt @@ -1,15 +1,37 @@ -Za pomocą aplikacji OpenDocument Reader przeglądaj i modyfikuj w podróży dokumenty utworzone przy użyciu pakietów biurowych OpenOffice lub LibreOffice. +Przeglądaj i edytuj w podróży dokumenty utworzone w LibreOffice lub OpenOffice — dzięki przeglądarce i edytorowi dokumentów w jednym! -Przeglądarka OpenDocument Reader umożliwia Ci czytanie dokumentów ODF* (OpenDocument Format, utworzonych przy użyciu pakietów LibreOffice lub OpenOffice) wszędzie, gdziekolwiek się znajdujesz. W autobusie w drodze do szkoły? Nie ma żadnego problemu! Dzięki przeglądarce OpenDocument Reader możesz czytać i przeszukiwać swoje dokumenty w bardzo prosty sposób. Czy w Twoim dokumencie pozostała jeszcze jakaś literówka do usunięcia? Teraz obsługuje ona również modyfikacje dokumentów! Szybka, prosta i dobrze zintegrowana. +Przeglądarka i edytor plików pozwala otwierać dokumenty ODF (Open Document Format) utworzone w LibreOffice lub OpenOffice wszędzie tam, gdzie jesteś. Jedziesz autobusem do szkoły i chcesz jeszcze zerknąć w notatki przed ważnym egzaminem? Żaden problem! Dzięki przeglądarce dokumentów otworzysz pliki, gdziekolwiek chcesz, a swoje dokumenty przeczytasz i przeszukasz w prosty, przejrzysty sposób. Została Ci do poprawienia ostatnia literówka, zanim wyślesz dokument współpracownikom? Edytor plików obsługuje teraz modyfikowanie dokumentów! Szybko, prosto i dobrze zintegrowane. - Możesz czytać dokumenty pochodzące z innych aplikacji. Obsługiwane są następujące aplikacje: GMail, Google Drive, Box.net, Dropbox, a także wiele innych! +Pliki ODF (ODT, ODS i wiele innych) utworzone w LibreOffice lub OpenOffice otworzysz także prosto z innych aplikacji. Obsługiwane są między innymi GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox i wiele więcej! Możesz też skorzystać z wbudowanego eksploratora plików i otworzyć dokumenty zapisane na urządzeniu. -Wszystkie funkcje w jednej chwili: -- błyskawiczne otwieraj pliki .odt, .ods i .odp -- podstawowe edytowanie dokumentów polegające na usuwaniu literówek, dodawaniu zdań itd. -- możliwość pracy w pełnym trybie offline -- niewielki rozmiar aplikacji +PRZEGLĄDARKA I EDYTOR DOKUMENTÓW — WSZYSTKO W JEDNYM -* format ODF wykorzystywany jest przez takie pakiety biurowe jak OpenOffice i LibreOffice. Obsługiwane są dokumenty tekstowe (.odt), a także arkusze kalkulacyjne (.ods) oraz prezentacje (.odp), w tym złożone formatowanie i osadzanie obrazów. Również wykresy nie stanowią żadnego problemu. Jeśli chcesz zabezpieczyć swoje dane, możesz nawet otwierać dokumenty chronione hasłem. +*otwieraj bez trudu pliki ODF: ODT (Writer), ODS (Calc), ODP i ODG +*poprawiaj literówki, dopisuj zdania i wprowadzaj inne podstawowe zmiany w edytorze plików +*bezpiecznie otwieraj dokumenty chronione hasłem +*wyszukuj słowa kluczowe w plikach ODT (Writer), ODS (Calc) i ODG oraz podświetlaj wyniki +*drukuj dokumenty, jeśli urządzenie jest połączone z drukarką +*czytaj dokumenty w trybie pełnoekranowym, bez rozpraszaczy +*zaznaczaj i kopiuj tekst ze swoich dokumentów +*korzystaj z dokumentów nawet bez internetu — pełna praca offline +*słuchaj swoich dokumentów dzięki technologii zamiany tekstu na mowę -Niniejsza aplikacja jest typu open-source. Nie jesteśmy powiązani z pakietem OpenOffice, LibreOffice lub podobnymi. Made in Austria. +DOKUMENTY POD RĘKĄ — GDZIEKOLWIEK JESTEŚ + +Poza tym przeglądarka i edytor dokumentów stara się jak najlepiej obsługiwać również wiele innych formatów plików: +- Portable Document Format (PDF) +- Archiwa: ZIP +- Obrazy: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG i inne +- Filmy: MP4, WEBM i inne +- Dźwięk: MP3, OGG i inne +- Pliki tekstowe: CSV, TXT, HTML, RTF +- Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) +- Apple iWork: Pages, Numbers, Keynote +- Libre Office i Open Office ODF (ODT, ODS, ODP, ODG) +- PostScript (EPS) +- AutoCAD (DXF) +- Photoshop (PSD) + +Ta aplikacja jest oprogramowaniem open source. Nie jesteśmy powiązani z OpenOffice, LibreOffice ani podobnymi projektami. Made in Austria. Reklamy wspierają rozwój aplikacji, a w menu w aplikacji możesz je tymczasowo i bezpłatnie wyłączyć. Bardzo cenimy sobie każdą opinię przesłaną e-mailem. + +Format ODF wykorzystują pakiety biurowe takie jak Open Office i Libre Office. Obsługiwane są dokumenty tekstowe (Writer, ODT), arkusze kalkulacyjne (Calc, ODS), a także prezentacje (Impress, ODP) — edytor plików radzi sobie przy tym ze złożonym formatowaniem i osadzonymi obrazami. Wykresy również nie stanowią problemu. Jeśli chcesz zabezpieczyć swoje dane, otworzysz nawet dokumenty chronione hasłem. Z tego formatu korzystają też inne programy: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office i 602Office. diff --git a/fastlane/metadata/pt-BR/changelogs/1.41.txt b/fastlane/metadata/pt-BR/changelogs/1.41.txt index ec42498..feaa269 100644 --- a/fastlane/metadata/pt-BR/changelogs/1.41.txt +++ b/fastlane/metadata/pt-BR/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- Os PDFs são exibidos pelo próprio app, então cabem na tela e funcionam como qualquer outro documento -- Os botões de pesquisa e edição só aparecem nos documentos que dá para pesquisar ou modificar -- Ao modificar um documento, o lápis vira um botão de salvar, assim você salva com um toque +- Os PDFs agora se ajustam à tela e funcionam como qualquer outro documento, inclusive os protegidos por senha +- Os botões de pesquisar e editar aparecem só nos documentos que dá para pesquisar ou editar +- Documentos em XML plano do LibreOffice, modelos de documento mestre e modelos do Excel podem ser abertos no explorador de arquivos, em vez de ficarem esmaecidos +- Ao editar um documento, o lápis vira botão de salvar, e salvar fica a um toque de distância diff --git a/fastlane/metadata/pt-BR/description.txt b/fastlane/metadata/pt-BR/description.txt index 98cbe3c..b83fb8a 100644 --- a/fastlane/metadata/pt-BR/description.txt +++ b/fastlane/metadata/pt-BR/description.txt @@ -1,15 +1,37 @@ -Visualizar e modificar documentos criados usando OpenOffice ou LibreOffice em qualquer lugar usando OpenDocument Reader! +Visualize e modifique em qualquer lugar os documentos criados no LibreOffice ou no OpenOffice com o leitor e editor de documentos! -O OpenDocument Reader permite que você leia seu ODF* (formato OpenDocument, criado usando o LibreOffice ou OpenOffice) documentos onde quer que você esteja. No ônibus a caminho da escola? Sem problema! Com o OpenDocument Reader você pode ler e pesquisar através de seus documentos de uma forma muito limpa e simples. Há apenas um último erro para corrigir no seu documento? Agora também suporta modificação em documentos! Rápido, simples e bem integrado. +O leitor e editor de arquivos abre documentos ODF (formato OpenDocument) criados no LibreOffice ou no OpenOffice onde você estiver. No ônibus a caminho da escola, querendo revisar as anotações antes da prova? Sem problema! Com o leitor de documentos você abre seus arquivos onde quiser e lê e pesquisa neles de um jeito limpo e simples. Falta corrigir só mais um erro de digitação antes de enviar o documento aos colegas? Agora o editor de arquivos também permite modificar documentos! Rápido, simples e bem integrado. -Você pode começar a ler seus documentos de dentro de outros apps. Apps suportados incluem GMail, Google Drive, Box.net, Dropbox e muitos outros! +Você também pode abrir arquivos ODF (ODT, ODS e muitos outros) criados no Libre Office ou no OpenOffice a partir de outros apps. Entre os apps compatíveis estão GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox e muitos outros! Ou use o nosso explorador de arquivos integrado para abrir os arquivos que já estão no dispositivo. -Todos os recursos em um vislumbre: -- abra .odt, .ods e .odp sem aborrecimentos -- edição básica de documentos para corrigir erros de digitação, adicionar sentenças, etc. -- totalmente off-line com -- tamanho minúsculo do aplicativo +O LEITOR E EDITOR DE DOCUMENTOS COMPLETO -* ODF é o formato usado por suítes de escritório como o OpenOffice e o LibreOffice. Documentos de texto (.odt), bem como planilhas (.ods) e também apresentações (.odp) são suportados, incluindo apoio para imagens complexas de formatação e embutidas. Os gráficos também não são problemas. Se você quiser garantir seus dados, você pode até abrir documentos protegidos por senha. +*abra arquivos ODF: ODT (Writer), ODS (Calc), ODP e ODG sem complicação +*edição básica no editor de arquivos para corrigir erros de digitação, acrescentar frases e mais +*abra com segurança documentos protegidos por senha +*pesquise palavras nos seus ODT (Writer), ODS (Calc) ou ODG e veja-as destacadas +*imprima documentos se o seu dispositivo estiver conectado a uma impressora +*leia em tela cheia, sem distrações +*selecione e copie o texto dos seus documentos +*aproveite seus documentos mesmo sem internet: funciona totalmente offline +*ouça seus documentos em voz alta com a tecnologia de conversão de texto em fala -Este app é de código aberto. Não estamos associados ao OpenOffice, LibreOffice ou similares. Feito na Áustria. +DOCUMENTOS SEMPRE COM VOCÊ, ONDE VOCÊ QUISER + +Além disso, o leitor e editor de documentos procura abrir da melhor forma possível vários outros formatos de arquivo: +- Portable Document Format (PDF) +- Arquivos compactados: ZIP +- Imagens: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG etc +- Vídeos: MP4, WEBM etc +- Áudio: MP3, OGG etc +- Arquivos de texto: CSV, TXT, HTML, RTF +- Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) +- Apple iWork: Pages, Numbers, Keynote +- Libre Office e Open Office ODF (ODT, ODS, ODP, ODG) +- PostScript (EPS) +- AutoCAD (DXF) +- Photoshop (PSD) + +Este app é de código aberto. Não temos vínculo com o OpenOffice, o LibreOffice ou similares. Feito na Áustria. Os anúncios ajudam a custear o desenvolvimento do app e podem ser removidos temporariamente pelo menu do próprio app. Adoramos receber todo tipo de feedback por e-mail. + +O ODF é o formato usado por suítes de escritório como o Open Office e o Libre Office. São compatíveis documentos de texto (Writer, ODT), planilhas (Calc, ODS) e também apresentações (Impress, ODP), com suporte no editor de arquivos a formatações complexas e imagens incorporadas. Gráficos também não são problema. E se você quiser proteger seus dados, dá até para abrir documentos protegidos por senha. Outros aplicativos que usam esse formato são LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office e 602Office. diff --git a/fastlane/metadata/ru/changelogs/1.41.txt b/fastlane/metadata/ru/changelogs/1.41.txt index d38713f..3c703b6 100644 --- a/fastlane/metadata/ru/changelogs/1.41.txt +++ b/fastlane/metadata/ru/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- Файлы PDF теперь показывает само приложение — они подстраиваются под экран и ведут себя как остальные документы -- Кнопки поиска и редактирования есть только у документов, которые это поддерживают -- При редактировании документа карандаш превращается в кнопку сохранения — сохранить можно одним нажатием +- PDF-файлы теперь подстраиваются под экран и ведут себя как остальные документы, в том числе защищённые паролем +- Кнопки поиска и редактирования есть только у документов, в которых можно искать или которые можно редактировать +- Плоские XML-документы LibreOffice, шаблоны составных документов и шаблоны Excel больше не отображаются серым — их можно открыть в проводнике +- При редактировании карандаш превращается в кнопку сохранения, так что сохранить документ можно одним касанием diff --git a/fastlane/metadata/ru/description.txt b/fastlane/metadata/ru/description.txt index 766f793..36d8466 100644 --- a/fastlane/metadata/ru/description.txt +++ b/fastlane/metadata/ru/description.txt @@ -1,33 +1,37 @@ -Просмотр и изменение документов LibreOffice и OpenOffice на ходу с помощью OpenDocument Reader! +Просматривайте и редактируйте документы, созданные в LibreOffice или OpenOffice, прямо на ходу — приложение для чтения и редактирования документов! -OpenDocument Reader позволяет где угодно читать документы формата ODF* (Open Document Format), созданные в программах LibreOffice или OpenOffice. Нужно просмотреть заметки в автобусе на пути в школу перед важным экзаменом? Без проблем! С помощью OpenDocument Reader вы можете легко и просто читать и просматривать свои документы. Нужно исправить ошибку в документе перед тем, как отправить его коллегам? Теперь с приложением OpenDocument Reader можно изменять документы! Быстро, легко и просто. +Приложение открывает файлы формата ODF (Open Document Format), созданные в LibreOffice или OpenOffice, где бы вы ни были. Едете в автобусе и хотите просмотреть конспект перед важным экзаменом? Не проблема! Открывайте файлы в любом месте, читайте документы и ищите в них нужное — просто и без лишних действий. Осталось исправить последнюю опечатку перед тем, как отправить документ коллегам? Теперь документы можно редактировать прямо здесь. Быстро, просто и удобно. -Вы можете просматривать свои документы из других приложений. Поддерживаемые приложения — GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox и многие другие! Вы также можете использовать наш интегрированный проводник, чтобы открыть локальные файлы на своем устройстве. +Файлы ODF (ODT, ODS и многие другие), созданные в Libre Office или OpenOffice, можно открывать и из других приложений: GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox и множества других! Или откройте файлы на устройстве через встроенный проводник. -Краткий обзор всех функций: -- легкое открытие файлов форматов ODT, ODS, ODP и ODG -- простое редактирование документов для исправления ошибок, добавления предложений и т.д. -- безопасное открытие защищенных паролем документов -- поиск и выделение ключевых слов в документе -- распечатка документов, если ваше устройство подключено к принтеру -- чтение документов, раскрытых во весь экран, чтобы не отвлекаться -- выделение и копирование текста в документах -- просмотр документов даже без подключения к интернету, полностью офлайн +ЧТЕНИЕ И РЕДАКТИРОВАНИЕ ДОКУМЕНТОВ В ОДНОМ ПРИЛОЖЕНИИ -Помимо этого, OpenDocument Reader как можно лучше поддерживает другие форматы файлов: +*открывайте файлы ODF: ODT (writer), ODS (calc), ODP и ODG без лишних хлопот +*редактируйте документы: исправляйте опечатки, дописывайте предложения и не только +*безопасно открывайте документы, защищенные паролем +*ищите ключевые слова в ODT (writer), ODS (calc) или ODG — они подсвечиваются +*печатайте документы, если устройство подключено к принтеру +*читайте документы во весь экран, чтобы ничто не отвлекало +*выделяйте и копируйте текст из документов +*работайте с документами без интернета — приложение полностью работает офлайн +*слушайте документы вслух благодаря синтезу речи (Text-To-Speech) + +ДОКУМЕНТЫ ВСЕГДА С ВАМИ + +Кроме того, приложение старается как можно лучше поддерживать и другие форматы файлов: - Portable Document Format (PDF) - Архивы: ZIP -- Изображения: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG и т.д. -- Видео: MP4, WEBM и т.д. -- Аудио: MP3, OGG, и т.д. +- Изображения: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG и др. +- Видео: MP4, WEBM и др. +- Аудио: MP3, OGG и др. - Текстовые файлы: CSV, TXT, HTML, RTF -- Файлы офисного пакета Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) +- Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) - Apple iWork: Pages, Numbers, Keynote -- Libre Office и Open Office OpenDocument Format: ODF* (ODT, ODS, ODP, ODG) +- Libre Office и Open Office ODF (ODT, ODS, ODP, ODG) - PostScript (EPS) - AutoCAD (DXF) - Photoshop (PSD) -Это приложение с открытым кодом. Мы никак не связаны с OpenOffice, LibreOffice или подобными программами. +Это приложение с открытым исходным кодом. Мы никак не связаны с OpenOffice, LibreOffice или подобными проектами. Сделано в Австрии. Реклама помогает развивать приложение, и ее можно временно убрать через меню в приложении. Будем рады любым отзывам по электронной почте. -* ODF (Open Document Format) — формат таких офисных пакетов, как Open Office и Libre Office. Поддерживаются текстовые документы (Writer, ODT), а также электронные таблицы (Calc, ODS) и презентации (Impress, ODP), в том числе сложное форматирование и встроенные изображения. Графики – тоже не проблема. Если вы желаете обеспечить безопасность своих данных, вы можете открыть даже защищенные паролем документы. Другие приложения, использующие этот формат: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office и 602Office. +ODF — это формат офисных пакетов Open Office и Libre Office. Поддерживаются текстовые документы (Writer, ODT), электронные таблицы (Calc, ODS) и презентации (Impress, ODP), в том числе сложное форматирование и встроенные изображения при редактировании. Диаграммы тоже не проблема. А если данные нужно защитить, вы сможете открыть и документы с паролем. Этот формат используют и другие приложения: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office и 602Office. diff --git a/fastlane/metadata/sv/changelogs/1.41.txt b/fastlane/metadata/sv/changelogs/1.41.txt index 102872f..79958c7 100644 --- a/fastlane/metadata/sv/changelogs/1.41.txt +++ b/fastlane/metadata/sv/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- PDF-filer visas med appens egen motor, så de anpassas efter skärmen och fungerar som alla andra dokument -- Sök- och redigeringsknapparna visas bara för dokument som går att söka i eller redigera -- När du redigerar ett dokument blir pennan en sparaknapp, så du sparar med ett tryck +- PDF-filer anpassas nu efter skärmen och fungerar som alla andra dokument, även lösenordsskyddade +- Knapparna för sök och redigera visas bara för dokument som går att söka i eller redigera +- LibreOffices platta XML-dokument, mallar för huvuddokument och Excel-mallar går nu att öppna i filhanteraren i stället för att vara gråmarkerade +- När du redigerar ett dokument blir pennan en sparaknapp – att spara är bara ett tryck bort diff --git a/fastlane/metadata/sv/description.txt b/fastlane/metadata/sv/description.txt index eab5251..5478a86 100644 --- a/fastlane/metadata/sv/description.txt +++ b/fastlane/metadata/sv/description.txt @@ -1,15 +1,37 @@ -Visa och ändra dokument som skapats med OpenOffice eller LibreOffice omedelbart med OpenDocument Reader! +Visa och redigera dokument som skapats i LibreOffice eller OpenOffice var du än är – med dokumentläsaren och dokumentredigeraren! -Med OpenDocument Reader kan du läsa dina ODF * (OpenDocument Format) dokument var du än är. I bussen på väg till skolan? Inga problem! Med OpenDocument Reader kan du läsa och söka igenom dina dokument på ett mycket rent och enkelt sätt. Finns det bara ett sista stavfel kvar att fixa i ditt dokument? Det stöder nu ändring av dokument också! Snabb, enkel och väl integrerad. +Med filläsaren och dokumentredigeraren öppnar du ODF-dokument (Open Document Format) från LibreOffice eller OpenOffice var du än befinner dig. Sitter du på bussen till skolan och vill läsa igenom anteckningarna före det stora provet? Inga problem! Med dokumentläsaren öppnar du dina filer var du vill och läser och söker i dokumenten på ett rent och enkelt sätt. Är det bara ett sista stavfel kvar att rätta innan du skickar dokumentet till kollegorna? Filredigeraren stöder nu redigering av dokument! Snabbt, enkelt och väl integrerat. -Du kan börja läsa dina dokument från andra appar. Stödda appar inkluderar GMail, Google Drive, Box.net, Dropbox och många andra! +Du kan öppna ODF-filer (ODT, ODS och många fler) som du har skapat i LibreOffice eller OpenOffice direkt från andra appar. Bland de appar som stöds finns GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox och många andra! Eller använd vår inbyggda filhanterare för att öppna filer på enheten. -Alla funktioner i ett glimt: -- open .odt, .ods och.odp utan krångel -- basisk redigering av dokument för att fixa stavfel, lägga till meningar, etc. -- helt offline duglig -- liten appstorlek +ALLT-I-ETT FÖR ATT LÄSA OCH REDIGERA DOKUMENT -* ODF är det format som används av kontorsvaror som OpenOffice och LibreOffice. Textdokument (.odt), samt kalkylblad (.ods) och även presentationer (.odp) stöds, inklusive stöd för komplex formatering och inbäddade bilder. Grafer är inga problem heller. Om du vill säkra dina uppgifter kan du även öppna lösenordsskyddade dokument. +*öppna ODF-filer: ODT (Writer), ODS (Calc), ODP och ODG utan krångel +*grundläggande redigering i filredigeraren för att rätta stavfel, lägga till meningar med mera +*öppna lösenordsskyddade dokument på ett säkert sätt +*sök efter ord i dina ODT (Writer), ODS (Calc) eller ODG och få träffarna markerade +*skriv ut dokument när enheten är ansluten till en skrivare +*läs dokumenten i helskärm och slipp störningar +*markera och kopiera text ur dokumenten +*läs dina dokument även utan internet – appen fungerar helt offline +*lyssna på dokumenten med uppläsning (text-till-tal) -Den här appen är öppen källkod. Vi är inte anslutna till OpenOffice, LibreOffice eller liknande. Tillverkad i Österrike. +DOKUMENTEN MED DIG – VAR DU ÄN ÄR + +Dessutom stöder dokumentläsaren och dokumentredigeraren så många andra filformat som möjligt: +- Portable Document Format (PDF) +- Arkiv: ZIP +- Bilder: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG med flera +- Video: MP4, WEBM med flera +- Ljud: MP3, OGG med flera +- Textfiler: CSV, TXT, HTML, RTF +- Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) +- Apple iWork: Pages, Numbers, Keynote +- Libre Office och Open Office ODF (ODT, ODS, ODP, ODG) +- PostScript (EPS) +- AutoCAD (DXF) +- Photoshop (PSD) + +Appen är öppen källkod. Vi har ingen koppling till OpenOffice, LibreOffice eller liknande. Tillverkad i Österrike. Annonser visas för att finansiera utvecklingen av appen, och de går att ta bort tillfälligt via menyn i appen. Vi uppskattar all form av återkoppling via e-post. + +ODF är det format som används av kontorspaket som Open Office och Libre Office. Textdokument (Writer, ODT), kalkylblad (Calc, ODS) och presentationer (Impress, ODP) stöds, och filredigeraren klarar även komplex formatering och inbäddade bilder. Diagram är inte heller något problem. Vill du skydda dina uppgifter kan du dessutom öppna lösenordsskyddade dokument. Andra program som använder formatet är LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office och 602Office. diff --git a/fastlane/metadata/tr/changelogs/1.41.txt b/fastlane/metadata/tr/changelogs/1.41.txt index 162975d..dd1b59a 100644 --- a/fastlane/metadata/tr/changelogs/1.41.txt +++ b/fastlane/metadata/tr/changelogs/1.41.txt @@ -1,3 +1,4 @@ -- PDF'ler uygulamanın kendi motoruyla görüntüleniyor; böylece ekrana sığıyor ve diğer belgeler gibi çalışıyor +- PDF'ler artık ekrana sığıyor ve parola korumalı olanlar dahil diğer belgeler gibi davranıyor - Arama ve düzenleme düğmeleri yalnızca aranabilen veya düzenlenebilen belgelerde görünüyor -- Bir belgeyi düzenlerken kalem simgesi kaydetme düğmesine dönüşüyor; kaydetmek için tek dokunuş yetiyor +- LibreOffice'in düz XML belgeleri, ana belge şablonları ve Excel şablonları artık soluk görünmüyor, dosya gezgininden açılabiliyor +- Belgeyi düzenlerken kalem simgesi kaydetme düğmesine dönüşüyor, kaydetmek için tek dokunuş yeterli diff --git a/fastlane/metadata/tr/description.txt b/fastlane/metadata/tr/description.txt index 56bb397..8132485 100644 --- a/fastlane/metadata/tr/description.txt +++ b/fastlane/metadata/tr/description.txt @@ -1,15 +1,37 @@ -OpenDocument Reader'ı kullanarak hareket halindeyken de OpenOffice veya LibreOffice ile oluşturulmuş belgeleri görüntüleyin ve değiştirin! +Belge Okuyucu ve Belge Düzenleyici ile LibreOffice veya OpenOffice ile oluşturulmuş belgeleri hareket halindeyken görüntüleyin ve düzenleyin! -OpenDocument Reader, ODF* (OpenDocument Format) belgelerinizi nerede olursanız olun okuyabilmenizi sağlar. Otobüsle okula mı gidiyorsunuz? Sorun değil! OpenDocument Reader ile belgelerinizi çok temiz ve basit bir şekilde okuyabilir ve arayabilirsiniz. Belgenizde düzeltilecek son bir yazım hatası mı kaldı? Uygulama artık belgelerin değiştirilmesini de destekliyor! Hızlı, basit ve iyi entegre edilmiş. +Bu dosya okuyucu ve belge düzenleyici, LibreOffice veya OpenOffice ile oluşturulmuş ODF (Open Document Format) belgelerini nerede olursanız olun açmanızı sağlar. Otobüsle okula giderken sınav öncesi notlarınıza bir göz atmak mı istiyorsunuz? Sorun değil! Belge Okuyucu ile dosyalarınızı istediğiniz yerde açar, belgelerinizi temiz ve basit bir görünümde okur, içlerinde arama yaparsınız. Belgenizi iş arkadaşlarınıza göndermeden önce düzeltilecek son bir yazım hatası mı kaldı? Dosya Düzenleyici artık belgelerin düzenlenmesini de destekliyor! Hızlı, basit ve iyi entegre edilmiş. -Belgelerinizi diğer uygulamalardan okumaya başlayabilirsiniz. Desteklenen uygulamalar arasında GMail, Google Drive, Box.net, Dropbox ve daha fazlası sayılabilir! +LibreOffice veya OpenOffice ile oluşturduğunuz ODF dosyalarını (ODT, ODS ve daha birçoğu) diğer uygulamaların içinden de açabilirsiniz. Desteklenen uygulamalar arasında GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox ve daha pek çoğu var! Ya da cihazınızdaki dosyaları açmak için yerleşik dosya gezginimizi kullanın. -Tek bakışta tüm özellikler: -- .odt, .ods ve .odp dosyalarını kolayca açma -- yazım hatalarını düzeltmek, cümleler eklemek vb. için temel belge düzenleme -- tamamen çevrimdışı çalışabilme -- küçük uygulama boyutu +HEPSİ BİR ARADA BELGE OKUYUCU VE BELGE DÜZENLEYİCİ -* ODF, OpenOffice ve LibreOffice gibi ofis paketleri tarafından kullanılan formattır. Karmaşık biçimlendirme ve gömülü resimler için destek de dahil olmak üzere, metin belgeleri (.odt), elektronik tablolar (.ods) ve sunumlar (.odp) desteklenmektedir. Grafikler de sorun teşkil etmez. Verilerinizi korumak istiyorsanız parola korumalı belgeleri bile açabilirsiniz. +*ODF dosyalarını zahmetsizce açın: ODT (writer), ODS (calc), ODP ve ODG +*yazım hatalarını düzeltmek, cümle eklemek gibi işler için belgelerinizi dosya düzenleyiciyle temel düzeyde düzenleyin +*parola korumalı belgeleri güvenle açın +*ODT (writer), ODS (calc) veya ODG belgelerinizde anahtar kelime arayın ve bulunanları vurgulayın +*cihazınız bir yazıcıya bağlıysa belgeleri yazdırın +*dikkatiniz dağılmasın diye belgelerinizi tam ekranda okuyun +*belgelerinizdeki metni seçin ve kopyalayın +*internet bağlantısı olmadan da belgelerinizin keyfini çıkarın - tamamen çevrimdışı çalışır +*belgelerinizi Metin Okuma (Text-To-Speech) teknolojisiyle sesli dinleyin -Bu uygulama açık kaynaklıdır. OpenOffice, LibreOffice veya benzeri programlar ile herhangi bir bağlantımız yoktur. Avusturya'da üretilmiştir. +BELGELERİNİZ YANINIZDA - NEREDE OLURSANIZ OLUN + +Bunlara ek olarak belge okuyucu ve belge düzenleyici, diğer birçok dosya biçimini de elinden geldiğince desteklemeyi amaçlar: +- Portable Document Format (PDF) +- Arşivler: ZIP +- Resimler: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG vb. +- Videolar: MP4, WEBM vb. +- Ses: MP3, OGG vb. +- Metin dosyaları: CSV, TXT, HTML, RTF +- Microsoft Office (OOXML): Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX) +- Apple iWork: Pages, Numbers, Keynote +- Libre Office ve Open Office ODF (ODT, ODS, ODP, ODG) +- PostScript (EPS) +- AutoCAD (DXF) +- Photoshop (PSD) + +Bu uygulama açık kaynaklıdır. OpenOffice, LibreOffice veya benzeri programlarla herhangi bir bağlantımız yoktur. Avusturya'da üretilmiştir. Uygulamanın geliştirilmesini desteklemek için reklam gösterilir. Reklamları uygulama içi menüden geçici olarak kaldırabilirsiniz. Her türlü geri bildiriminizi e-posta ile bize iletmenizden memnuniyet duyarız. + +ODF, Open Office ve Libre Office gibi ofis paketlerinin kullandığı biçimdir. Metin belgeleri (Writer, ODT), elektronik tablolar (Calc, ODS) ve sunumlar (Impress, ODP) desteklenir; dosya düzenleyici karmaşık biçimlendirmeyi ve gömülü resimleri de destekler. Grafikler de sorun değildir. Verilerinizi korumak isterseniz parola korumalı belgeleri bile açabilirsiniz. Bu biçimi kullanan diğer uygulamalar: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office ve 602Office. From 5f0271ab7ffc416b718cc2ce0a2b8ecf7bc0648d Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 16 Aug 2026 10:07:50 +0200 Subject: [PATCH 4/6] Name the app in its own language, and let the release write the listing Eight of the ten storefronts showed an English name and subtitle, both saying the app only reads. Every one showed the same English keywords, so nobody searching in their own language found it. Each listing now leads with LibreOffice, says somewhere that it edits, and spends its keywords on words people there actually type. The release run uploads all of it, not just the release notes, so the store says what is written here. Lite still takes the notes alone: a name has to be unique in the store, and only Pro's listing is checked in. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Xryx81PvamT674wzzQujjg --- .github/workflows/release.yml | 16 ++--- README.md | 13 +++- fastlane/Fastfile | 43 ++++++----- fastlane/README.md | 12 ++-- fastlane/metadata/README.md | 31 ++++++-- fastlane/metadata/de-DE/keywords.txt | 2 +- fastlane/metadata/de-DE/name.txt | 2 +- fastlane/metadata/de-DE/subtitle.txt | 2 +- fastlane/metadata/es-ES/keywords.txt | 2 +- fastlane/metadata/es-ES/name.txt | 2 +- fastlane/metadata/es-ES/subtitle.txt | 2 +- fastlane/metadata/fr-FR/keywords.txt | 2 +- fastlane/metadata/fr-FR/name.txt | 2 +- fastlane/metadata/fr-FR/subtitle.txt | 2 +- fastlane/metadata/hi/keywords.txt | 2 +- fastlane/metadata/hi/name.txt | 2 +- fastlane/metadata/hi/subtitle.txt | 2 +- fastlane/metadata/it/keywords.txt | 2 +- fastlane/metadata/it/name.txt | 2 +- fastlane/metadata/it/subtitle.txt | 2 +- fastlane/metadata/pl/keywords.txt | 2 +- fastlane/metadata/pl/name.txt | 2 +- fastlane/metadata/pl/subtitle.txt | 2 +- fastlane/metadata/pt-BR/keywords.txt | 2 +- fastlane/metadata/pt-BR/name.txt | 2 +- fastlane/metadata/pt-BR/subtitle.txt | 2 +- fastlane/metadata/ru/keywords.txt | 2 +- fastlane/metadata/ru/name.txt | 2 +- fastlane/metadata/ru/subtitle.txt | 2 +- fastlane/metadata/sv/keywords.txt | 2 +- fastlane/metadata/sv/name.txt | 2 +- fastlane/metadata/sv/subtitle.txt | 2 +- fastlane/metadata/tr/keywords.txt | 2 +- fastlane/metadata/tr/name.txt | 2 +- fastlane/metadata/tr/subtitle.txt | 2 +- scripts/store-copy.py | 20 +++--- scripts/{store-notes.py => store-listing.py} | 76 ++++++++++++++++---- 37 files changed, 179 insertions(+), 92 deletions(-) rename scripts/{store-notes.py => store-listing.py} (57%) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4e26c62..e6ee562 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,6 @@ name: release -# Three jobs rather than one so that "Re-run failed jobs" repairs a failed upload +# Several jobs rather than one so that "Re-run failed jobs" repairs a failed upload # against the .ipa already built and signed. See the README. on: @@ -69,13 +69,13 @@ jobs: version: ${{ steps.version.outputs.version }} run: .github/scripts/changelog-section.py --version "$version" - # what the notes job uploads, so a missing translation fails here rather + # what the listing job uploads, so a missing translation fails here rather # than once both apps are up - name: check the store copy is written in every locale if: ${{ steps.version.outputs.version != '' }} env: version: ${{ steps.version.outputs.version }} - run: scripts/store-notes.py --version "$version" + run: scripts/store-listing.py --version "$version" - uses: ruby/setup-ruby@v1 with: @@ -215,10 +215,10 @@ jobs: ASC_KEY_CONTENT: ${{ secrets.ASC_KEY_CONTENT }} run: bundle exec fastlane ios ${{ matrix.lane }} - # its own job because notes stay editable until the version is submitted, + # its own job because the listing stays editable until the version is submitted, # while a build cannot be uploaded twice. No macOS runner: this touches the # listing, not the app - notes: + listing: needs: upload if: ${{ !inputs.dry_run }} runs-on: ubuntu-24.04 @@ -227,9 +227,9 @@ jobs: matrix: include: - app: pro - lane: uploadNotesPro + lane: uploadListingPro - app: lite - lane: uploadNotesLite + lane: uploadListingLite steps: - name: checkout uses: actions/checkout@v7 @@ -244,7 +244,7 @@ jobs: given: ${{ inputs.version }} run: .github/scripts/resolve-version.py --input "$given" --dry-run "$dry_run" - - name: write ${{ matrix.app }}'s release notes + - name: write ${{ matrix.app }}'s listing env: ASC_KEY_ID: ${{ secrets.ASC_KEY_ID }} ASC_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }} diff --git a/README.md b/README.md index 30e4617..22265eb 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ It runs as four jobs: | --- | --- | | `build` | one run producing both signed `.ipa`s, archived on the run | | `upload` | one job per app, uploading its `.ipa` | -| `notes` | one job per app, writing the release notes onto its listing | +| `listing` | one job per app, writing what the store says about it | | `record` | once both landed: tag the build, draft the GitHub release | Both apps always go out together, and nothing chooses one: Pro and Lite are the @@ -151,9 +151,16 @@ heading. The copy lives in `fastlane/metadata//changelogs/1.41.txt`, one file per version per locale, because App Store Connect keeps only the notes of the -submission in flight. `scripts/store-notes.py` checks it - the release run +submission in flight. `scripts/store-listing.py` checks it - the release run refuses a version any locale is missing, before it builds anything - and stages -it into the shape `deliver` reads. See `fastlane/metadata/README.md`. +it into the shape `deliver` reads. + +The rest of the listing goes up with it: name, subtitle, description, keywords +and the URLs are written in `fastlane/metadata/` and pushed by the same job, so +the store says what is committed here rather than what someone last typed into +App Store Connect. Only Pro's listing is checked in, and a name has to be unique +in the store, so Lite takes the release notes alone. `review_information` and the +categories are left out. See `fastlane/metadata/README.md`. Nothing has to be committed to cut a release, and a release leaves no commit behind either. Both halves of the version come from outside the tree: diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 5692f91..778065e 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -5,9 +5,13 @@ require "tmpdir" default_platform(:ios) +# listing: whose App Store text fastlane/metadata holds. It was pulled for Pro, +# and an app's name has to be unique in the store, so pushing it to Lite would +# rename Lite to Pro. Lite takes the release notes and nothing else until its own +# listing is checked in beside Pro's. APPS = { - pro: { name: "pro", scheme: "ODR Full", app_identifier: "at.tomtasche.reader" }, - lite: { name: "lite", scheme: "ODR Lite", app_identifier: "at.tomtasche.reader.lite1" }, + pro: { name: "pro", scheme: "ODR Full", app_identifier: "at.tomtasche.reader", listing: true }, + lite: { name: "lite", scheme: "ODR Lite", app_identifier: "at.tomtasche.reader.lite1", listing: false }, }.freeze # Absolute, because lane bodies run in fastlane/ while actions run one directory @@ -17,7 +21,7 @@ IPA_DIR = File.expand_path("../build").freeze # Absolute for the same reason. It resolves the repository from its own path, so # it does not care which of the two it is called from. -STORE_NOTES = File.expand_path("../scripts/store-notes.py").freeze +STORE_LISTING = File.expand_path("../scripts/store-listing.py").freeze def dry_run? ENV["ODR_DRY_RUN"].to_s.strip == "true" @@ -49,14 +53,14 @@ platform :ios do upload_ipa(APPS[:lite]) end - desc "Write ODR_VERSION's release notes onto the paid app's listing" - lane :uploadNotesPro do - upload_notes(APPS[:pro]) + desc "Write the paid app's listing, and ODR_VERSION's release notes, to the store" + lane :uploadListingPro do + upload_listing(APPS[:pro]) end - desc "Write ODR_VERSION's release notes onto the ad supported app's listing" - lane :uploadNotesLite do - upload_notes(APPS[:lite]) + desc "Write ODR_VERSION's release notes to the ad supported app" + lane :uploadListingLite do + upload_listing(APPS[:lite]) end desc "Build and upload the paid app" @@ -224,16 +228,19 @@ platform :ios do end end - # The "What's New" text of ODR_VERSION, in every locale the listing has. + # What the store says about the app: the "What's New" of ODR_VERSION in every + # locale, and for Pro the rest of the listing text with it. # # deliver uploads every metadata file it finds under metadata_path, so it is - # given a directory staged with nothing but one release_notes.txt per locale. - # The descriptions checked in beside them are a snapshot of the listing, not a - # statement of what it should say. + # given a staged directory rather than fastlane/metadata itself, and + # store-listing.py names what goes into it. What is staged is what this + # repository says the store should say; anything else is left as App Store + # Connect has it. # - # Separate from upload_ipa so a note can be rewritten and pushed again without - # touching the binary, which App Store Connect refuses a second time anyway. - private_lane :upload_notes do |options| + # Separate from upload_ipa so a rejected word can be rewritten and pushed again + # without touching the binary, which App Store Connect refuses a second time + # anyway. + private_lane :upload_listing do |options| version = ENV["ODR_VERSION"].to_s.strip UI.user_error!("no version to write notes for: set ODR_VERSION (e.g. ODR_VERSION=1.41)") if version.empty? @@ -243,7 +250,9 @@ platform :ios do begin # first, so a version some locale has no copy for fails before a key is # ever written to disk - sh(STORE_NOTES, "--version", version, "--stage", notes_dir) + staging = [STORE_LISTING, "--version", version, "--stage", notes_dir] + staging << "--full" if options[:listing] + sh(*staging) key_path = api_key_file upload_to_app_store( diff --git a/fastlane/README.md b/fastlane/README.md index 3e51659..8bdb163 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -47,21 +47,21 @@ Upload an already built Pro .ipa to App Store Connect Upload an already built Lite .ipa -### ios uploadNotesPro +### ios uploadListingPro ```sh -[bundle exec] fastlane ios uploadNotesPro +[bundle exec] fastlane ios uploadListingPro ``` -Write ODR_VERSION's release notes onto the paid app's listing +Write the paid app's listing, and ODR_VERSION's release notes, to the store -### ios uploadNotesLite +### ios uploadListingLite ```sh -[bundle exec] fastlane ios uploadNotesLite +[bundle exec] fastlane ios uploadListingLite ``` -Write ODR_VERSION's release notes onto the ad supported app's listing +Write ODR_VERSION's release notes to the ad supported app ### ios deployPro diff --git a/fastlane/metadata/README.md b/fastlane/metadata/README.md index a6c42ac..9d04361 100644 --- a/fastlane/metadata/README.md +++ b/fastlane/metadata/README.md @@ -2,9 +2,19 @@ What App Store Connect shows about the app, one directory per locale. -Only the release notes are ever uploaded from here. Everything else - -descriptions, keywords, names - is a snapshot of the listing taken with -`deliver init`, kept for reading, and never pushed. +This is where the listing is written, and a release run uploads it: name, +subtitle, description, keywords, the URLs, and the release notes of the version +going out. What the store says is what is committed here. + +Two things are left out of the upload on purpose. `review_information` is the +account's contact details and the note to the reviewer, and the category files +say where the app sits in the store - neither is release copy. +`scripts/store-listing.py` names what is staged, so adding a file to that list is +a decision rather than an accident. + +Only Pro's listing lives here. An app's name has to be unique in the store, so +pushing this to Lite would rename Lite to Pro; Lite takes the release notes and +nothing else until its own listing is checked in beside this one. ## Release notes @@ -22,9 +32,9 @@ files are the history the store does not keep. The limit is 4000 characters per locale. `deliver` does not read this layout. It reads one `release_notes.txt` per -locale, so `scripts/store-notes.py` stages those into a throwaway directory at -upload time - holding nothing else, which is what keeps the descriptions beside -them out of the upload. +locale, so `scripts/store-listing.py` stages the version's file under that name +into a throwaway directory at upload time, with the rest of the listing beside +it. ## Writing them @@ -47,3 +57,12 @@ committing it - it goes to the store as written. The release run refuses a version any locale has no copy for, before it builds anything. + +## Name, subtitle, keywords + +30 characters for the name, 30 for the subtitle, 100 for the keywords, counting +the commas. The App Store indexes name and subtitle as well as keywords, so a +word in one of those is wasted in the other: none of the keyword lists here +repeats a word from its own name or subtitle. Every listing leads with +`LibreOffice`, which is the strongest thing the app has to be found by, and says +somewhere that it edits and does not only read. diff --git a/fastlane/metadata/de-DE/keywords.txt b/fastlane/metadata/de-DE/keywords.txt index d406f4c..dfbcb67 100644 --- a/fastlane/metadata/de-DE/keywords.txt +++ b/fastlane/metadata/de-DE/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,odp,odg,odf,openoffice,libreoffice,dateien,öffnen,tabellen,bearbeiten,viewer,präsentation diff --git a/fastlane/metadata/de-DE/name.txt b/fastlane/metadata/de-DE/name.txt index 32a664d..45cb4e8 100644 --- a/fastlane/metadata/de-DE/name.txt +++ b/fastlane/metadata/de-DE/name.txt @@ -1 +1 @@ -LibreOffice Dokumentbetrachter +Libre Office: Dokument-Editor diff --git a/fastlane/metadata/de-DE/subtitle.txt b/fastlane/metadata/de-DE/subtitle.txt index dcd434a..4503b0d 100644 --- a/fastlane/metadata/de-DE/subtitle.txt +++ b/fastlane/metadata/de-DE/subtitle.txt @@ -1 +1 @@ -Zeige ODT, ODS, ODG und ODP an +Betrachter für ODT, ODS & PDF diff --git a/fastlane/metadata/es-ES/keywords.txt b/fastlane/metadata/es-ES/keywords.txt index d406f4c..6f7fe63 100644 --- a/fastlane/metadata/es-ES/keywords.txt +++ b/fastlane/metadata/es-ES/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,xlsx,odp,odg,odf,openoffice,visor,archivos,texto,hojas,cálculo,presentaciones,ofimática diff --git a/fastlane/metadata/es-ES/name.txt b/fastlane/metadata/es-ES/name.txt index d521711..de1f7f9 100644 --- a/fastlane/metadata/es-ES/name.txt +++ b/fastlane/metadata/es-ES/name.txt @@ -1 +1 @@ -LibreOffice document viewer +LibreOffice: lector y editor diff --git a/fastlane/metadata/es-ES/subtitle.txt b/fastlane/metadata/es-ES/subtitle.txt index 40339d8..2030d71 100644 --- a/fastlane/metadata/es-ES/subtitle.txt +++ b/fastlane/metadata/es-ES/subtitle.txt @@ -1 +1 @@ -View ODT, ODS, ODG, ODP & more +Abrir documentos ODT, ODS, PDF diff --git a/fastlane/metadata/fr-FR/keywords.txt b/fastlane/metadata/fr-FR/keywords.txt index d406f4c..d94dbf9 100644 --- a/fastlane/metadata/fr-FR/keywords.txt +++ b/fastlane/metadata/fr-FR/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,odp,odg,odf,openoffice,bureautique,tableur,texte,fichiers,visionneuse,diaporama,calc,writer diff --git a/fastlane/metadata/fr-FR/name.txt b/fastlane/metadata/fr-FR/name.txt index ba00085..20a7549 100644 --- a/fastlane/metadata/fr-FR/name.txt +++ b/fastlane/metadata/fr-FR/name.txt @@ -1 +1 @@ -Visionneuse LibreOffice +LibreOffice : éditeur ODT/ODS diff --git a/fastlane/metadata/fr-FR/subtitle.txt b/fastlane/metadata/fr-FR/subtitle.txt index 1f0909e..92d1a68 100644 --- a/fastlane/metadata/fr-FR/subtitle.txt +++ b/fastlane/metadata/fr-FR/subtitle.txt @@ -1 +1 @@ -Visualisez les fichiers ODT +Lecteur de documents et PDF diff --git a/fastlane/metadata/hi/keywords.txt b/fastlane/metadata/hi/keywords.txt index d406f4c..6ef5151 100644 --- a/fastlane/metadata/hi/keywords.txt +++ b/fastlane/metadata/hi/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,odp,odg,odf,openoffice,word,excel,ppt,pptx,xls,xlsx,office,viewer,docs,दस्तावेज,ऑफिस diff --git a/fastlane/metadata/hi/name.txt b/fastlane/metadata/hi/name.txt index d521711..7d20dd3 100644 --- a/fastlane/metadata/hi/name.txt +++ b/fastlane/metadata/hi/name.txt @@ -1 +1 @@ -LibreOffice document viewer +LibreOffice: Reader & Editor diff --git a/fastlane/metadata/hi/subtitle.txt b/fastlane/metadata/hi/subtitle.txt index 40339d8..4b1e52b 100644 --- a/fastlane/metadata/hi/subtitle.txt +++ b/fastlane/metadata/hi/subtitle.txt @@ -1 +1 @@ -View ODT, ODS, ODG, ODP & more +ODT, ODS, PDF फाइल एडिट करें diff --git a/fastlane/metadata/it/keywords.txt b/fastlane/metadata/it/keywords.txt index d406f4c..884d7d5 100644 --- a/fastlane/metadata/it/keywords.txt +++ b/fastlane/metadata/it/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,odg,odf,openoffice,file,ufficio,foglio,calcolo,presentazioni,testo,modifica,visualizza,apri diff --git a/fastlane/metadata/it/name.txt b/fastlane/metadata/it/name.txt index d521711..a9f2d23 100644 --- a/fastlane/metadata/it/name.txt +++ b/fastlane/metadata/it/name.txt @@ -1 +1 @@ -LibreOffice document viewer +LibreOffice: Editor Documenti diff --git a/fastlane/metadata/it/subtitle.txt b/fastlane/metadata/it/subtitle.txt index 40339d8..ce6a8d2 100644 --- a/fastlane/metadata/it/subtitle.txt +++ b/fastlane/metadata/it/subtitle.txt @@ -1 +1 @@ -View ODT, ODS, ODG, ODP & more +Lettore ODT, ODS, ODP e PDF diff --git a/fastlane/metadata/pl/keywords.txt b/fastlane/metadata/pl/keywords.txt index d406f4c..b97450b 100644 --- a/fastlane/metadata/pl/keywords.txt +++ b/fastlane/metadata/pl/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,odp,odg,odf,openoffice,arkusz,kalkulacyjny,prezentacje,przeglądarka,biuro,tekst,office,xlsx diff --git a/fastlane/metadata/pl/name.txt b/fastlane/metadata/pl/name.txt index d521711..621db12 100644 --- a/fastlane/metadata/pl/name.txt +++ b/fastlane/metadata/pl/name.txt @@ -1 +1 @@ -LibreOffice document viewer +LibreOffice: edytor dokumentów diff --git a/fastlane/metadata/pl/subtitle.txt b/fastlane/metadata/pl/subtitle.txt index 40339d8..a1108fb 100644 --- a/fastlane/metadata/pl/subtitle.txt +++ b/fastlane/metadata/pl/subtitle.txt @@ -1 +1 @@ -View ODT, ODS, ODG, ODP & more +Czytnik plików ODT, ODS, PDF diff --git a/fastlane/metadata/pt-BR/keywords.txt b/fastlane/metadata/pt-BR/keywords.txt index d406f4c..bc59aea 100644 --- a/fastlane/metadata/pt-BR/keywords.txt +++ b/fastlane/metadata/pt-BR/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,pdf,odt,ods,odp,odg,odf,openoffice,arquivos,escritório,visualizador,apresentação,abrir,ler diff --git a/fastlane/metadata/pt-BR/name.txt b/fastlane/metadata/pt-BR/name.txt index d521711..21acdfc 100644 --- a/fastlane/metadata/pt-BR/name.txt +++ b/fastlane/metadata/pt-BR/name.txt @@ -1 +1 @@ -LibreOffice document viewer +LibreOffice: Leitor e Editor diff --git a/fastlane/metadata/pt-BR/subtitle.txt b/fastlane/metadata/pt-BR/subtitle.txt index 40339d8..e8269a5 100644 --- a/fastlane/metadata/pt-BR/subtitle.txt +++ b/fastlane/metadata/pt-BR/subtitle.txt @@ -1 +1 @@ -View ODT, ODS, ODG, ODP & more +Documentos, planilhas, slides diff --git a/fastlane/metadata/ru/keywords.txt b/fastlane/metadata/ru/keywords.txt index d406f4c..176aedc 100644 --- a/fastlane/metadata/ru/keywords.txt +++ b/fastlane/metadata/ru/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,xlsx,pdf,ods,odp,odg,openoffice,офис,чтение,текст,файлы,ридер,либре,открыть,презентации diff --git a/fastlane/metadata/ru/name.txt b/fastlane/metadata/ru/name.txt index d521711..cabed15 100644 --- a/fastlane/metadata/ru/name.txt +++ b/fastlane/metadata/ru/name.txt @@ -1 +1 @@ -LibreOffice document viewer +LibreOffice: редактор ODF, ODT diff --git a/fastlane/metadata/ru/subtitle.txt b/fastlane/metadata/ru/subtitle.txt index 40339d8..5a3551a 100644 --- a/fastlane/metadata/ru/subtitle.txt +++ b/fastlane/metadata/ru/subtitle.txt @@ -1 +1 @@ -View ODT, ODS, ODG, ODP & more +Просмотр документов и таблиц diff --git a/fastlane/metadata/sv/keywords.txt b/fastlane/metadata/sv/keywords.txt index d406f4c..1dca801 100644 --- a/fastlane/metadata/sv/keywords.txt +++ b/fastlane/metadata/sv/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,odp,odg,odf,openoffice,dokument,kalkylblad,presentation,kontor,visare,öppna,filer,läsare diff --git a/fastlane/metadata/sv/name.txt b/fastlane/metadata/sv/name.txt index d521711..4d5665f 100644 --- a/fastlane/metadata/sv/name.txt +++ b/fastlane/metadata/sv/name.txt @@ -1 +1 @@ -LibreOffice document viewer +LibreOffice: läsa & redigera diff --git a/fastlane/metadata/sv/subtitle.txt b/fastlane/metadata/sv/subtitle.txt index 40339d8..cb3cb7f 100644 --- a/fastlane/metadata/sv/subtitle.txt +++ b/fastlane/metadata/sv/subtitle.txt @@ -1 +1 @@ -View ODT, ODS, ODG, ODP & more +Dokumentläsare, ODT, ODS, PDF diff --git a/fastlane/metadata/tr/keywords.txt b/fastlane/metadata/tr/keywords.txt index d406f4c..55a9ae4 100644 --- a/fastlane/metadata/tr/keywords.txt +++ b/fastlane/metadata/tr/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,odt,ods,odp,odg,odf,opendocumentformat,opendocument,libre office +doc,docx,odp,odg,odf,openoffice,dosya,ofis,editör,tablo,sunum,doküman,okuyucu,elektronik,txt,csv,rtf diff --git a/fastlane/metadata/tr/name.txt b/fastlane/metadata/tr/name.txt index d521711..11fb5bc 100644 --- a/fastlane/metadata/tr/name.txt +++ b/fastlane/metadata/tr/name.txt @@ -1 +1 @@ -LibreOffice document viewer +LibreOffice: Belge Düzenleyici diff --git a/fastlane/metadata/tr/subtitle.txt b/fastlane/metadata/tr/subtitle.txt index 40339d8..5d7aece 100644 --- a/fastlane/metadata/tr/subtitle.txt +++ b/fastlane/metadata/tr/subtitle.txt @@ -1 +1 @@ -View ODT, ODS, ODG, ODP & more +ODT, ODS, PDF Görüntüleyici diff --git a/scripts/store-copy.py b/scripts/store-copy.py index 83c9f17..a011c2d 100755 --- a/scripts/store-copy.py +++ b/scripts/store-copy.py @@ -21,7 +21,7 @@ # Unreleased while the heading is still open. A file that is already there is # left alone and translated, since that is the copy that was reviewed. # -# Nothing here uploads: `scripts/store-notes.py` checks and stages what this +# Nothing here uploads: `scripts/store-listing.py` checks and stages what this # writes, and the release run uploads it. import argparse @@ -42,7 +42,7 @@ def load(path, name): return module -notes = load(ROOT / "scripts" / "store-notes.py", "store_notes") +listing = load(ROOT / "scripts" / "store-listing.py", "store_listing") changelog = load(ROOT / ".github" / "scripts" / "changelog-section.py", "changelog_section") SOURCE = "en-US" @@ -144,7 +144,7 @@ def version_key(name): def previous_copy(locale, version): """The newest release before this one that has copy in this locale, or "".""" - folder = notes.METADATA / locale / "changelogs" + folder = listing.METADATA / locale / "changelogs" if not folder.is_dir(): return "" @@ -195,8 +195,8 @@ def check(text, against=None): lines = text.splitlines() if not lines: return "it is empty" - if len(text) > notes.LIMIT: - return f"it is {len(text)} characters, over the store's {notes.LIMIT}" + if len(text) > listing.LIMIT: + return f"it is {len(text)} characters, over the store's {listing.LIMIT}" if any(not line.startswith("- ") for line in lines): return "not every line is a bullet" if against is not None and len(lines) != len(against.splitlines()): @@ -205,7 +205,7 @@ def check(text, against=None): def write(locale, version, text, dry_run): - path = notes.copy_path(locale, version) + path = listing.copy_path(locale, version) if dry_run: print(f"\n--- {path.relative_to(ROOT)}\n{text}") return @@ -249,7 +249,7 @@ def english(version, model, attempts): def translate(locale, version, source, model, attempts, review=True): - description = (notes.METADATA / locale / "description.txt").read_text(encoding="utf-8").strip() + description = (listing.METADATA / locale / "description.txt").read_text(encoding="utf-8").strip() draft = produce( TRANSLATION_PROMPT.format( @@ -314,7 +314,7 @@ def main(argv=None): version = args.version.strip().removeprefix("v") try: - known = notes.locales() + known = listing.locales() except (OSError, ValueError) as reason: print(reason, file=sys.stderr) return 1 @@ -336,7 +336,7 @@ def main(argv=None): print(f"no such locale: {', '.join(unknown)}", file=sys.stderr) return 1 - source_path = notes.copy_path(SOURCE, version) + source_path = listing.copy_path(SOURCE, version) if args.english or not source_path.is_file(): try: source = english(version, args.model, args.attempts) @@ -351,7 +351,7 @@ def main(argv=None): targets = [ locale for locale in wanted - if locale != SOURCE and (args.english or args.locales or not notes.copy_path(locale, version).is_file()) + if locale != SOURCE and (args.english or args.locales or not listing.copy_path(locale, version).is_file()) ] if not targets: print(f"every locale already has copy for {version}") diff --git a/scripts/store-notes.py b/scripts/store-listing.py similarity index 57% rename from scripts/store-notes.py rename to scripts/store-listing.py index d2685cd..3816cb7 100755 --- a/scripts/store-notes.py +++ b/scripts/store-listing.py @@ -1,26 +1,27 @@ #!/usr/bin/env python3 # -# The store copy of one release: where it is kept, and the deliver tree built -# out of it. +# The App Store listing: where it is kept, and the deliver tree built out of it. # # App Store Connect keeps only the notes of the submission in flight, so the # history it throws away is kept here instead: one file per locale per marketing # version, `fastlane/metadata//changelogs/1.41.txt`. # # deliver reads none of that. It reads `release_notes.txt` beside it, one per -# locale, and uploads every metadata file it finds - so the upload is pointed at -# a directory staged from these files and holding nothing else, which keeps the -# descriptions checked in here out of it. +# locale, and uploads every metadata file it finds - so it is pointed at a +# staged directory rather than at fastlane/metadata itself, and what is copied +# in is named here rather than being whatever happens to be lying around. # -# scripts/store-notes.py --version 1.41 check every locale has copy -# scripts/store-notes.py --version 1.41 --stage DIR also write the deliver tree +# scripts/store-listing.py --version 1.41 check the notes +# scripts/store-listing.py --version 1.41 --stage DIR notes alone +# scripts/store-listing.py --version 1.41 --stage DIR --full the whole listing # # A release run checks before it builds, so a version missing a translation # fails in seconds rather than once both apps are uploaded. -# `scripts/store-copy.py` writes the files this reads. +# `scripts/store-copy.py` writes the release notes this reads. import argparse import os +import shutil import sys from pathlib import Path @@ -30,6 +31,28 @@ # what App Store Connect takes in one locale's "What's New" LIMIT = 4000 +# The text of the listing, per locale, as deliver names it. Listed rather than +# globbed so that adding a file here is a decision: everything in this set is +# pushed over whatever App Store Connect currently says. +LOCALISED = ( + "name.txt", + "subtitle.txt", + "description.txt", + "keywords.txt", + "promotional_text.txt", + "marketing_url.txt", + "support_url.txt", + "privacy_url.txt", +) + +# Attached to the version rather than to a locale. +NON_LOCALISED = ("copyright.txt",) + +# Left behind deliberately, though deliver would take them: `review_information` +# is the account's own contact details and the note to the reviewer, and the +# category files say where the app sits in the store. Neither is release copy, +# and a release is a poor moment to discover either had drifted. + def locales(metadata=METADATA): """The locales the listing has, in order.""" @@ -70,13 +93,36 @@ def collect(version, metadata=METADATA): return texts, problems -def stage(texts, directory): - """Write the metadata tree deliver uploads: one release_notes.txt per locale.""" +def stage(texts, directory, full=False, metadata=METADATA): + """Write the metadata tree deliver uploads. + + The release notes of this version always. With `full`, the rest of the + listing text beside them - which is what makes this repository, rather than + App Store Connect, the place the listing is written. + """ directory = Path(directory) + for locale, text in texts.items(): folder = directory / locale folder.mkdir(parents=True, exist_ok=True) (folder / "release_notes.txt").write_text(text + "\n", encoding="utf-8") + + if not full: + continue + + for name in LOCALISED: + source = metadata / locale / name + # an empty file would say nothing to deliver anyway, which reads it + # as "leave this be" rather than "clear it" + if source.is_file() and source.read_text(encoding="utf-8").strip(): + shutil.copyfile(source, folder / name) + + if full: + for name in NON_LOCALISED: + source = metadata / name + if source.is_file() and source.read_text(encoding="utf-8").strip(): + shutil.copyfile(source, directory / name) + return directory @@ -99,6 +145,11 @@ def main(argv=None): metavar="DIR", help="also write the deliver metadata tree into DIR", ) + parser.add_argument( + "--full", + action="store_true", + help="stage the whole listing, not the release notes alone", + ) args = parser.parse_args(argv) version = args.version.strip().removeprefix("v") @@ -117,10 +168,11 @@ def main(argv=None): if args.stage: try: - stage(texts, args.stage) + stage(texts, args.stage, full=args.full) except OSError as reason: return fail(str(reason)) - print(f"staged {len(texts)} locales for {version} in {args.stage}") + what = "the listing and notes" if args.full else "the notes" + print(f"staged {what} of {len(texts)} locales for {version} in {args.stage}") else: print(f"{version} has store copy in all {len(texts)} locales: {', '.join(texts)}") From 8b20170167f049e1db34c745078318a1e3bd1807 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 16 Aug 2026 10:54:10 +0200 Subject: [PATCH 5/6] Say the same about both apps, except where they differ fastlane/metadata is what Pro and Lite share. fastlane/metadata-pro and -lite hold the rest, read over it. Two things differ: the name, because the store wants a unique one, and the sentence about ads, which Pro has been carrying for years without showing any. That one sentence is a ${ads} in the shared description rather than a second copy of it. The name is no longer translated. OpenDocument is the format's own name, and the App Store indexes the subtitle just as well, so the local words and LibreOffice moved down there. Nothing sells the app as an editor now. It edits text, but not well enough to promise. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Xryx81PvamT674wzzQujjg --- README.md | 9 +- fastlane/Fastfile | 19 ++-- fastlane/README.md | 2 +- fastlane/metadata-lite/all/name.txt | 1 + fastlane/metadata-lite/de-DE/ads.txt | 1 + fastlane/metadata-lite/en-US/ads.txt | 1 + fastlane/metadata-lite/es-ES/ads.txt | 1 + fastlane/metadata-lite/fr-FR/ads.txt | 1 + fastlane/metadata-lite/hi/ads.txt | 1 + fastlane/metadata-lite/it/ads.txt | 1 + fastlane/metadata-lite/pl/ads.txt | 1 + fastlane/metadata-lite/pt-BR/ads.txt | 1 + fastlane/metadata-lite/ru/ads.txt | 1 + fastlane/metadata-lite/sv/ads.txt | 1 + fastlane/metadata-lite/tr/ads.txt | 1 + fastlane/metadata-pro/all/name.txt | 1 + fastlane/metadata/README.md | 49 +++++++-- fastlane/metadata/de-DE/description.txt | 14 +-- fastlane/metadata/de-DE/keywords.txt | 2 +- fastlane/metadata/de-DE/name.txt | 1 - fastlane/metadata/de-DE/subtitle.txt | 2 +- fastlane/metadata/en-US/description.txt | 14 +-- fastlane/metadata/en-US/keywords.txt | 2 +- fastlane/metadata/en-US/name.txt | 1 - fastlane/metadata/en-US/subtitle.txt | 2 +- fastlane/metadata/es-ES/description.txt | 14 +-- fastlane/metadata/es-ES/keywords.txt | 2 +- fastlane/metadata/es-ES/name.txt | 1 - fastlane/metadata/es-ES/subtitle.txt | 2 +- fastlane/metadata/fr-FR/description.txt | 14 +-- fastlane/metadata/fr-FR/keywords.txt | 2 +- fastlane/metadata/fr-FR/name.txt | 1 - fastlane/metadata/fr-FR/subtitle.txt | 2 +- fastlane/metadata/hi/description.txt | 14 +-- fastlane/metadata/hi/keywords.txt | 2 +- fastlane/metadata/hi/name.txt | 1 - fastlane/metadata/hi/subtitle.txt | 2 +- fastlane/metadata/it/description.txt | 14 +-- fastlane/metadata/it/keywords.txt | 2 +- fastlane/metadata/it/name.txt | 1 - fastlane/metadata/it/subtitle.txt | 2 +- fastlane/metadata/pl/description.txt | 14 +-- fastlane/metadata/pl/keywords.txt | 2 +- fastlane/metadata/pl/name.txt | 1 - fastlane/metadata/pl/subtitle.txt | 2 +- fastlane/metadata/pt-BR/description.txt | 14 +-- fastlane/metadata/pt-BR/keywords.txt | 2 +- fastlane/metadata/pt-BR/name.txt | 1 - fastlane/metadata/pt-BR/subtitle.txt | 2 +- fastlane/metadata/ru/description.txt | 12 +-- fastlane/metadata/ru/keywords.txt | 2 +- fastlane/metadata/ru/name.txt | 1 - fastlane/metadata/ru/subtitle.txt | 2 +- fastlane/metadata/sv/description.txt | 14 +-- fastlane/metadata/sv/keywords.txt | 2 +- fastlane/metadata/sv/name.txt | 1 - fastlane/metadata/sv/subtitle.txt | 2 +- fastlane/metadata/tr/description.txt | 14 +-- fastlane/metadata/tr/keywords.txt | 2 +- fastlane/metadata/tr/name.txt | 1 - fastlane/metadata/tr/subtitle.txt | 2 +- scripts/store-copy.py | 6 +- scripts/store-listing.py | 138 +++++++++++++++++++----- 63 files changed, 283 insertions(+), 160 deletions(-) create mode 100644 fastlane/metadata-lite/all/name.txt create mode 100644 fastlane/metadata-lite/de-DE/ads.txt create mode 100644 fastlane/metadata-lite/en-US/ads.txt create mode 100644 fastlane/metadata-lite/es-ES/ads.txt create mode 100644 fastlane/metadata-lite/fr-FR/ads.txt create mode 100644 fastlane/metadata-lite/hi/ads.txt create mode 100644 fastlane/metadata-lite/it/ads.txt create mode 100644 fastlane/metadata-lite/pl/ads.txt create mode 100644 fastlane/metadata-lite/pt-BR/ads.txt create mode 100644 fastlane/metadata-lite/ru/ads.txt create mode 100644 fastlane/metadata-lite/sv/ads.txt create mode 100644 fastlane/metadata-lite/tr/ads.txt create mode 100644 fastlane/metadata-pro/all/name.txt delete mode 100644 fastlane/metadata/de-DE/name.txt delete mode 100644 fastlane/metadata/en-US/name.txt delete mode 100644 fastlane/metadata/es-ES/name.txt delete mode 100644 fastlane/metadata/fr-FR/name.txt delete mode 100644 fastlane/metadata/hi/name.txt delete mode 100644 fastlane/metadata/it/name.txt delete mode 100644 fastlane/metadata/pl/name.txt delete mode 100644 fastlane/metadata/pt-BR/name.txt delete mode 100644 fastlane/metadata/ru/name.txt delete mode 100644 fastlane/metadata/sv/name.txt delete mode 100644 fastlane/metadata/tr/name.txt diff --git a/README.md b/README.md index 22265eb..4fd7121 100644 --- a/README.md +++ b/README.md @@ -158,9 +158,12 @@ it into the shape `deliver` reads. The rest of the listing goes up with it: name, subtitle, description, keywords and the URLs are written in `fastlane/metadata/` and pushed by the same job, so the store says what is committed here rather than what someone last typed into -App Store Connect. Only Pro's listing is checked in, and a name has to be unique -in the store, so Lite takes the release notes alone. `review_information` and the -categories are left out. See `fastlane/metadata/README.md`. +App Store Connect. Both apps say it. What they share is in `fastlane/metadata/` +and what one of them says instead is in `fastlane/metadata-pro/` or +`fastlane/metadata-lite/`, read in that order - which is the name outright, since +an app's name is unique in the store, and the one sentence about ads inside the +description. `review_information` and the categories are left out. See +`fastlane/metadata/README.md`. Nothing has to be committed to cut a release, and a release leaves no commit behind either. Both halves of the version come from outside the tree: diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 778065e..825c34c 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -5,13 +5,12 @@ require "tmpdir" default_platform(:ios) -# listing: whose App Store text fastlane/metadata holds. It was pulled for Pro, -# and an app's name has to be unique in the store, so pushing it to Lite would -# rename Lite to Pro. Lite takes the release notes and nothing else until its own -# listing is checked in beside Pro's. +# name also picks the app's half of the listing: fastlane/metadata is what both +# say, and fastlane/metadata-pro and -lite are where they differ. An app's name +# has to be unique in the store, so that much always differs. APPS = { - pro: { name: "pro", scheme: "ODR Full", app_identifier: "at.tomtasche.reader", listing: true }, - lite: { name: "lite", scheme: "ODR Lite", app_identifier: "at.tomtasche.reader.lite1", listing: false }, + pro: { name: "pro", scheme: "ODR Full", app_identifier: "at.tomtasche.reader" }, + lite: { name: "lite", scheme: "ODR Lite", app_identifier: "at.tomtasche.reader.lite1" }, }.freeze # Absolute, because lane bodies run in fastlane/ while actions run one directory @@ -58,7 +57,7 @@ platform :ios do upload_listing(APPS[:pro]) end - desc "Write ODR_VERSION's release notes to the ad supported app" + desc "Write the ad supported app's listing, and ODR_VERSION's release notes, to the store" lane :uploadListingLite do upload_listing(APPS[:lite]) end @@ -229,7 +228,7 @@ platform :ios do end # What the store says about the app: the "What's New" of ODR_VERSION in every - # locale, and for Pro the rest of the listing text with it. + # locale, and the rest of the listing text with it. # # deliver uploads every metadata file it finds under metadata_path, so it is # given a staged directory rather than fastlane/metadata itself, and @@ -250,9 +249,7 @@ platform :ios do begin # first, so a version some locale has no copy for fails before a key is # ever written to disk - staging = [STORE_LISTING, "--version", version, "--stage", notes_dir] - staging << "--full" if options[:listing] - sh(*staging) + sh(STORE_LISTING, "--version", version, "--stage", notes_dir, "--app", options[:name]) key_path = api_key_file upload_to_app_store( diff --git a/fastlane/README.md b/fastlane/README.md index 8bdb163..cd8c419 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -61,7 +61,7 @@ Write the paid app's listing, and ODR_VERSION's release notes, to the store [bundle exec] fastlane ios uploadListingLite ``` -Write ODR_VERSION's release notes to the ad supported app +Write the ad supported app's listing, and ODR_VERSION's release notes, to the store ### ios deployPro diff --git a/fastlane/metadata-lite/all/name.txt b/fastlane/metadata-lite/all/name.txt new file mode 100644 index 0000000..6b3d24d --- /dev/null +++ b/fastlane/metadata-lite/all/name.txt @@ -0,0 +1 @@ +OpenDocument Reader diff --git a/fastlane/metadata-lite/de-DE/ads.txt b/fastlane/metadata-lite/de-DE/ads.txt new file mode 100644 index 0000000..bb48887 --- /dev/null +++ b/fastlane/metadata-lite/de-DE/ads.txt @@ -0,0 +1 @@ +Werbung wird eingeblendet, um die Entwicklung dieser App zu unterstützen. Sie lässt sich über das Menü in der App vorübergehend entfernen. diff --git a/fastlane/metadata-lite/en-US/ads.txt b/fastlane/metadata-lite/en-US/ads.txt new file mode 100644 index 0000000..c1620b5 --- /dev/null +++ b/fastlane/metadata-lite/en-US/ads.txt @@ -0,0 +1 @@ +Ads are shown in order to support the development of this app. They are free to remove temporarily via the in-app menu. diff --git a/fastlane/metadata-lite/es-ES/ads.txt b/fastlane/metadata-lite/es-ES/ads.txt new file mode 100644 index 0000000..58bda92 --- /dev/null +++ b/fastlane/metadata-lite/es-ES/ads.txt @@ -0,0 +1 @@ +Mostramos anuncios para financiar el desarrollo de la aplicación y puede quitarlos temporalmente desde el menú de la propia aplicación. diff --git a/fastlane/metadata-lite/fr-FR/ads.txt b/fastlane/metadata-lite/fr-FR/ads.txt new file mode 100644 index 0000000..1567741 --- /dev/null +++ b/fastlane/metadata-lite/fr-FR/ads.txt @@ -0,0 +1 @@ +Des publicités sont affichées afin de soutenir le développement de l'application. Vous pouvez les retirer temporairement, gratuitement, depuis le menu de l'application. diff --git a/fastlane/metadata-lite/hi/ads.txt b/fastlane/metadata-lite/hi/ads.txt new file mode 100644 index 0000000..d58ed5c --- /dev/null +++ b/fastlane/metadata-lite/hi/ads.txt @@ -0,0 +1 @@ +ऐप का विकास जारी रखने के लिए इसमें विज्ञापन दिखाए जाते हैं। ऐप के मेन्यू से उन्हें कुछ समय के लिए मुफ्त में हटाया जा सकता है। diff --git a/fastlane/metadata-lite/it/ads.txt b/fastlane/metadata-lite/it/ads.txt new file mode 100644 index 0000000..c8d3e16 --- /dev/null +++ b/fastlane/metadata-lite/it/ads.txt @@ -0,0 +1 @@ +La pubblicità serve a sostenere lo sviluppo dell'app e puoi rimuoverla temporaneamente dal menu dell'app. diff --git a/fastlane/metadata-lite/pl/ads.txt b/fastlane/metadata-lite/pl/ads.txt new file mode 100644 index 0000000..0f28265 --- /dev/null +++ b/fastlane/metadata-lite/pl/ads.txt @@ -0,0 +1 @@ +Reklamy wspierają rozwój aplikacji, a w menu w aplikacji możesz je tymczasowo i bezpłatnie wyłączyć. diff --git a/fastlane/metadata-lite/pt-BR/ads.txt b/fastlane/metadata-lite/pt-BR/ads.txt new file mode 100644 index 0000000..eb51354 --- /dev/null +++ b/fastlane/metadata-lite/pt-BR/ads.txt @@ -0,0 +1 @@ +Os anúncios ajudam a custear o desenvolvimento do app e podem ser removidos temporariamente pelo menu do próprio app. diff --git a/fastlane/metadata-lite/ru/ads.txt b/fastlane/metadata-lite/ru/ads.txt new file mode 100644 index 0000000..e62da98 --- /dev/null +++ b/fastlane/metadata-lite/ru/ads.txt @@ -0,0 +1 @@ +Реклама помогает развивать приложение, и ее можно временно убрать через меню в приложении. diff --git a/fastlane/metadata-lite/sv/ads.txt b/fastlane/metadata-lite/sv/ads.txt new file mode 100644 index 0000000..36b2784 --- /dev/null +++ b/fastlane/metadata-lite/sv/ads.txt @@ -0,0 +1 @@ +Annonser visas för att finansiera utvecklingen av appen, och de går att ta bort tillfälligt via menyn i appen. diff --git a/fastlane/metadata-lite/tr/ads.txt b/fastlane/metadata-lite/tr/ads.txt new file mode 100644 index 0000000..7a39a23 --- /dev/null +++ b/fastlane/metadata-lite/tr/ads.txt @@ -0,0 +1 @@ +Uygulamanın geliştirilmesini desteklemek için reklam gösterilir. Reklamları uygulama içi menüden geçici olarak kaldırabilirsiniz. diff --git a/fastlane/metadata-pro/all/name.txt b/fastlane/metadata-pro/all/name.txt new file mode 100644 index 0000000..1c93360 --- /dev/null +++ b/fastlane/metadata-pro/all/name.txt @@ -0,0 +1 @@ +OpenDocument Reader Pro diff --git a/fastlane/metadata/README.md b/fastlane/metadata/README.md index 9d04361..bf4680f 100644 --- a/fastlane/metadata/README.md +++ b/fastlane/metadata/README.md @@ -1,6 +1,6 @@ # Store metadata -What App Store Connect shows about the app, one directory per locale. +What App Store Connect shows about the apps, one directory per locale. This is where the listing is written, and a release run uploads it: name, subtitle, description, keywords, the URLs, and the release notes of the version @@ -12,9 +12,31 @@ say where the app sits in the store - neither is release copy. `scripts/store-listing.py` names what is staged, so adding a file to that list is a decision rather than an accident. -Only Pro's listing lives here. An app's name has to be unique in the store, so -pushing this to Lite would rename Lite to Pro; Lite takes the release notes and -nothing else until its own listing is checked in beside this one. +## The two apps + +Pro and Lite are the same app, and they say almost the same thing about +themselves. What is here is what they share. Where they have to differ: + +| | | +| --- | --- | +| `fastlane/metadata//` | what both say | +| `fastlane/metadata-/all/` | what this app says instead, in every locale | +| `fastlane/metadata-//` | what this app says instead, here | + +Read in that order, last one wins. `` is `pro` or `lite`. + +Only the name differs outright, and it has to: an app's name is unique in the +store, so one file each, `OpenDocument Reader Pro` and `OpenDocument Reader`. +There is no `name.txt` in this directory - the apps own their names. + +One sentence differs inside otherwise shared text, which is the advertising +line: Lite shows ads and Pro does not. Rather than keep two descriptions per +locale and let them drift, the shared one holds `${ads}` and each app fills it +in from its own `ads.txt` - Lite has one per locale, Pro has none, and a +fill-in nobody answers leaves nothing behind, the space in front of it +included. `FILL_INS` in `scripts/store-listing.py` lists the names one may +have, so a misspelt `${adds}` is an error rather than a sentence that quietly +vanishes from the store. ## Release notes @@ -61,8 +83,17 @@ anything. ## Name, subtitle, keywords 30 characters for the name, 30 for the subtitle, 100 for the keywords, counting -the commas. The App Store indexes name and subtitle as well as keywords, so a -word in one of those is wasted in the other: none of the keyword lists here -repeats a word from its own name or subtitle. Every listing leads with -`LibreOffice`, which is the strongest thing the app has to be found by, and says -somewhere that it edits and does not only read. +the commas. `scripts/store-listing.py` checks all three against what it stages +rather than against what is written here, since an app's own name is what +finally has to fit. + +The name is the same in every storefront and is not translated: `OpenDocument` +is the format's own name and goes untranslated in every language anyway, and one +name is one app that people can pass to each other. Nothing is lost to search by +it, because the App Store indexes name, subtitle and keywords alike - so the +local words, `LibreOffice` among them, live in the subtitle and the keywords +instead. That also means a keyword repeating a word from the name or from its +own subtitle is a wasted slot; none of these do. + +None of it sells the app as an editor. It edits text, but that is young and does +not reach every document, so the listing says so once and calls itself a reader. diff --git a/fastlane/metadata/de-DE/description.txt b/fastlane/metadata/de-DE/description.txt index 806c9da..d5cfb84 100644 --- a/fastlane/metadata/de-DE/description.txt +++ b/fastlane/metadata/de-DE/description.txt @@ -1,13 +1,13 @@ -Sehen und bearbeiten Sie unterwegs Dokumente, die mit LibreOffice oder OpenOffice erstellt wurden – mit dem Dokumentenbetrachter und Dokumenteneditor! +Lesen Sie unterwegs Dokumente, die mit LibreOffice oder OpenOffice erstellt wurden – wo immer Sie sie gespeichert haben, mit dem Dokumentenbetrachter! -Mit dem Dateibetrachter und Dokumenteneditor öffnen Sie ODF-Dateien (Open Document Format) aus LibreOffice oder OpenOffice überall dort, wo Sie gerade sind. Sie sitzen im Bus auf dem Weg zur Schule und wollen vor der großen Prüfung noch einen Blick auf Ihre Notizen werfen? Kein Problem! Mit dem Dokumentenbetrachter öffnen Sie Ihre Dateien, wo immer Sie möchten, und lesen und durchsuchen Ihre Dokumente unterwegs – übersichtlich und einfach. Fehlt nur noch ein letzter Tippfehler, bevor das Dokument an die Kollegen geht? Der Dateieditor beherrscht jetzt auch das Bearbeiten von Dokumenten! Schnell, einfach und gut integriert. +Mit dem Dateibetrachter öffnen Sie ODF-Dateien (Open Document Format) aus LibreOffice oder OpenOffice überall dort, wo Sie gerade sind. Sie sitzen im Bus auf dem Weg zur Schule und wollen vor der großen Prüfung noch einen Blick auf Ihre Notizen werfen? Kein Problem! Mit dem Dokumentenbetrachter öffnen Sie Ihre Dateien, wo immer Sie möchten, und lesen und durchsuchen Ihre Dokumente unterwegs – übersichtlich und einfach. Ein Texteditor ist ebenfalls an Bord, für den letzten Tippfehler, bevor ein Dokument herausgeht. Er ist noch jung und kommt noch nicht mit jedem Dokument zurecht – diese App ist zum Lesen da. Dateien im ODF-Format (ODT, ODS und viele mehr), die Sie mit Libre Office oder OpenOffice erstellt haben, öffnen Sie auch direkt aus anderen Apps heraus. Unterstützt werden unter anderem GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox und viele weitere! Oder nutzen Sie unseren integrierten Dateimanager, um Dateien auf Ihrem Gerät zu öffnen. -DOKUMENTENBETRACHTER UND DOKUMENTENEDITOR IN EINER APP +DOKUMENTENBETRACHTER – ALLES IN EINER APP *ODF-Dateien ohne Umwege öffnen: ODT (Writer), ODS (Calc), ODP und ODG -*Dokumente mit dem Dateieditor bearbeiten, um Tippfehler zu beheben, Sätze zu ergänzen und mehr +*einen Tippfehler beheben oder einen Satz ergänzen – mit dem jungen Texteditor *passwortgeschützte Dokumente sicher öffnen *in ODT (Writer), ODS (Calc) oder ODG nach Stichwörtern suchen und sie hervorheben *Dokumente drucken, wenn Ihr Gerät mit einem Drucker verbunden ist @@ -18,7 +18,7 @@ DOKUMENTENBETRACHTER UND DOKUMENTENEDITOR IN EINER APP DOKUMENTE FÜR UNTERWEGS – WO IMMER SIE MÖCHTEN -Darüber hinaus unterstützen Dokumentenbetrachter und Dokumenteneditor viele weitere Dateiformate so gut wie möglich: +Darüber hinaus unterstützt der Dokumentenbetrachter viele weitere Dateiformate so gut wie möglich: - Portable Document Format (PDF) - Archive: ZIP - Bilder: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG, etc @@ -32,6 +32,6 @@ Darüber hinaus unterstützen Dokumentenbetrachter und Dokumenteneditor viele we - AutoCAD (DXF) - Photoshop (PSD) -Diese App ist Open Source. Wir stehen in keiner Verbindung zu OpenOffice, LibreOffice oder ähnlichen Projekten. Made in Austria. Werbung wird eingeblendet, um die Entwicklung dieser App zu unterstützen. Sie lässt sich über das Menü in der App vorübergehend entfernen. Über Rückmeldungen jeder Art per E-Mail freuen wir uns sehr. +Diese App ist Open Source. Wir stehen in keiner Verbindung zu OpenOffice, LibreOffice oder ähnlichen Projekten. Made in Austria. ${ads} Über Rückmeldungen jeder Art per E-Mail freuen wir uns sehr. -ODF ist das Format, das Office-Suiten wie Open Office und Libre Office verwenden. Unterstützt werden Textdokumente (Writer, ODT) ebenso wie Tabellenkalkulationen (Calc, ODS) und Präsentationen (Impress, ODP) – der Dateieditor kommt dabei auch mit komplexen Formatierungen und eingebetteten Bildern zurecht. Diagramme sind ebenfalls kein Problem. Und wenn Sie Ihre Daten schützen möchten, öffnen Sie sogar passwortgeschützte Dokumente. Weitere Anwendungen, die dieses Format verwenden, sind LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office und 602Office. +ODF ist das Format, das Office-Suiten wie Open Office und Libre Office verwenden. Unterstützt werden Textdokumente (Writer, ODT) ebenso wie Tabellenkalkulationen (Calc, ODS) und Präsentationen (Impress, ODP) – auch mit komplexen Formatierungen und eingebetteten Bildern. Diagramme sind ebenfalls kein Problem. Und wenn Sie Ihre Daten schützen möchten, öffnen Sie sogar passwortgeschützte Dokumente. Weitere Anwendungen, die dieses Format verwenden, sind LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office und 602Office. diff --git a/fastlane/metadata/de-DE/keywords.txt b/fastlane/metadata/de-DE/keywords.txt index dfbcb67..c6048b7 100644 --- a/fastlane/metadata/de-DE/keywords.txt +++ b/fastlane/metadata/de-DE/keywords.txt @@ -1 +1 @@ -doc,docx,odp,odg,odf,openoffice,libreoffice,dateien,öffnen,tabellen,bearbeiten,viewer,präsentation +doc,docx,odt,ods,odp,odg,odf,xlsx,pdf,openoffice,dateien,tabellen,betrachter,präsentation,lesen,büro diff --git a/fastlane/metadata/de-DE/name.txt b/fastlane/metadata/de-DE/name.txt deleted file mode 100644 index 45cb4e8..0000000 --- a/fastlane/metadata/de-DE/name.txt +++ /dev/null @@ -1 +0,0 @@ -Libre Office: Dokument-Editor diff --git a/fastlane/metadata/de-DE/subtitle.txt b/fastlane/metadata/de-DE/subtitle.txt index 4503b0d..2003057 100644 --- a/fastlane/metadata/de-DE/subtitle.txt +++ b/fastlane/metadata/de-DE/subtitle.txt @@ -1 +1 @@ -Betrachter für ODT, ODS & PDF +LibreOffice Dokumente öffnen diff --git a/fastlane/metadata/en-US/description.txt b/fastlane/metadata/en-US/description.txt index e92e15f..a4e1711 100644 --- a/fastlane/metadata/en-US/description.txt +++ b/fastlane/metadata/en-US/description.txt @@ -1,13 +1,13 @@ -View and modify documents created using LibreOffice or OpenOffice on the go using the Document Reader & Document Editor! +Read documents created using LibreOffice or OpenOffice on the go, wherever you keep them, with the Document Reader! -The file reader & document editor allows you to open files like ODF (Open Document Format) documents created using LibreOffice or OpenOffice wherever you are. In the bus on your way to school wanting to look at your notes before the big exam? No problem! With the Document Reader you can open files wherever you like and read & search through your documents to go in a clean and simple way. Is there just one last typo left to fix in your document before sending it out to colleagues? The File Editor supports modification of documents now! Fast, simple and well integrated. +The file reader lets you open files like ODF (Open Document Format) documents created using LibreOffice or OpenOffice wherever you are. In the bus on your way to school wanting to look at your notes before the big exam? No problem! With the Document Reader you can open files wherever you like and read & search through your documents to go in a clean and simple way. There is a text editor in here as well, for the last typo before a document goes out. It is a young one and it does not reach every document yet, so the reader is what this app is for. You can open files from ODF (ODT, ODS & many more) that you have created with Libre Office or OpenOffice also from within other apps. Supported apps include GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox and lots of others! Or use our integrated file explorer instead to open files on your device. -THE ALL IN ONE DOCUMENT READER AND DOCUMENT EDITOR +THE ALL IN ONE DOCUMENT READER *open files with ODF: ODT (writer), ODS (calc), ODP and ODG without a hassle -*basic editing of documents with the file editor to fix typos, add sentences, etc +*fix a typo or add a sentence with the young text editor *securely open password-protected documents *search for keywords in your ODT (writer), ODS (calc) or ODG and highlight them *print documents if your device is connected to a printer @@ -18,7 +18,7 @@ THE ALL IN ONE DOCUMENT READER AND DOCUMENT EDITOR DOCUMENTS TO GO - WHEREVER YOU LIKE -In addition to that, the document reader & document editor aims to support various other file formats as well as possible: +In addition to that, the document reader aims to support various other file formats as well as possible: - Portable Document Format (PDF) - Archives: ZIP - Images: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG, etc @@ -32,6 +32,6 @@ In addition to that, the document reader & document editor aims to support vario - AutoCAD (DXF) - Photoshop (PSD) -This app is open source. We are not affiliated with OpenOffice, LibreOffice or similar. Made in Austria. Ads are shown in order to support the development of this app. They are free to remove temporarily via the in-app menu. We highly appreciate all kinds of feedback via email. +This app is open source. We are not affiliated with OpenOffice, LibreOffice or similar. Made in Austria. ${ads} We highly appreciate all kinds of feedback via email. -ODF is the format used by office suites like Open Office and Libre Office. Text documents (Writer, ODT), as well as spreadsheets (Calc, ODS) and also presentations (Impress, ODP) are supported, including support with the file editor for complex formatting and embedded images. Graphs are no problem either. If you want to secure your data you can even open password-protected documents. Other applications that are using this format are LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office and 602Office. +ODF is the format used by office suites like Open Office and Libre Office. Text documents (Writer, ODT), as well as spreadsheets (Calc, ODS) and also presentations (Impress, ODP) are supported, including complex formatting and embedded images. Graphs are no problem either. If you want to secure your data you can even open password-protected documents. Other applications that are using this format are LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office and 602Office. diff --git a/fastlane/metadata/en-US/keywords.txt b/fastlane/metadata/en-US/keywords.txt index 598c3fc..5168f5a 100644 --- a/fastlane/metadata/en-US/keywords.txt +++ b/fastlane/metadata/en-US/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,openoffice,editor,docs,to,go,documents,file,opener,suite,writer,viewer,libreoffice +doc,docx,xls,xlsx,ppt,pptx,odt,ods,odp,odg,odf,openoffice,viewer,file,opener,office,writer,calc diff --git a/fastlane/metadata/en-US/name.txt b/fastlane/metadata/en-US/name.txt deleted file mode 100644 index 0c0d37a..0000000 --- a/fastlane/metadata/en-US/name.txt +++ /dev/null @@ -1 +0,0 @@ -Libre Office: Document reader diff --git a/fastlane/metadata/en-US/subtitle.txt b/fastlane/metadata/en-US/subtitle.txt index f9152c3..ba05c72 100644 --- a/fastlane/metadata/en-US/subtitle.txt +++ b/fastlane/metadata/en-US/subtitle.txt @@ -1 +1 @@ -ODF: ODS, ODT viewer & editor +LibreOffice documents & PDF diff --git a/fastlane/metadata/es-ES/description.txt b/fastlane/metadata/es-ES/description.txt index 840890c..d7d2790 100644 --- a/fastlane/metadata/es-ES/description.txt +++ b/fastlane/metadata/es-ES/description.txt @@ -1,13 +1,13 @@ -¡Vea y modifique documentos creados con LibreOffice u OpenOffice esté donde esté, con el lector y editor de documentos! +¡Lea documentos creados con LibreOffice u OpenOffice esté donde esté, los tenga donde los tenga, con el lector de documentos! -El lector de archivos y editor de documentos le permite abrir archivos ODF (Open Document Format) creados con LibreOffice u OpenOffice desde cualquier lugar. ¿Va en el autobús camino de clase y quiere repasar los apuntes antes del examen? ¡Ningún problema! Con el lector de documentos puede abrir sus archivos donde quiera y leerlos y buscar en ellos de forma clara y sencilla. ¿Le queda una última errata por corregir antes de enviar el documento a sus compañeros? ¡El editor de archivos ya permite modificar documentos! Rápido, sencillo y bien integrado. +El lector de archivos le permite abrir archivos ODF (Open Document Format) creados con LibreOffice u OpenOffice desde cualquier lugar. ¿Va en el autobús camino de clase y quiere repasar los apuntes antes del examen? ¡Ningún problema! Con el lector de documentos puede abrir sus archivos donde quiera y leerlos y buscar en ellos de forma clara y sencilla. También hay un editor de texto, para esa última errata antes de enviar un documento. Es muy nuevo y todavía no llega a todos los documentos, así que esta aplicación es, ante todo, un lector. También puede abrir archivos ODF (ODT, ODS y muchos más) creados con LibreOffice u OpenOffice desde otras aplicaciones. Entre las compatibles están GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox y muchas más. O use nuestro explorador de archivos integrado para abrir los documentos que tenga en el dispositivo. -EL LECTOR Y EDITOR DE DOCUMENTOS TODO EN UNO +EL LECTOR DE DOCUMENTOS TODO EN UNO *abra archivos ODF: ODT (writer), ODS (calc), ODP y ODG sin complicaciones -*edite documentos de forma básica con el editor de archivos para corregir erratas, añadir frases, etc. +*corrija una errata o añada una frase con el nuevo editor de texto *abra con seguridad documentos protegidos con contraseña *busque palabras clave en sus ODT (writer), ODS (calc) u ODG y resáltelas *imprima documentos si su dispositivo está conectado a una impresora @@ -18,7 +18,7 @@ EL LECTOR Y EDITOR DE DOCUMENTOS TODO EN UNO SUS DOCUMENTOS, DONDEQUIERA QUE VAYA -Además, el lector y editor de documentos procura admitir lo mejor posible muchos otros formatos de archivo: +Además, el lector de documentos procura admitir lo mejor posible muchos otros formatos de archivo: - Portable Document Format (PDF) - Archivos comprimidos: ZIP - Imágenes: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG, etc. @@ -32,6 +32,6 @@ Además, el lector y editor de documentos procura admitir lo mejor posible mucho - AutoCAD (DXF) - Photoshop (PSD) -Esta aplicación es de código abierto. No estamos afiliados con OpenOffice, LibreOffice ni programas similares. Desarrollada en Austria. Mostramos anuncios para financiar el desarrollo de la aplicación y puede quitarlos temporalmente desde el menú de la propia aplicación. Agradecemos muchísimo cualquier comentario por correo electrónico. +Esta aplicación es de código abierto. No estamos afiliados con OpenOffice, LibreOffice ni programas similares. Desarrollada en Austria. ${ads} Agradecemos muchísimo cualquier comentario por correo electrónico. -ODF es el formato que utilizan las suites ofimáticas como Open Office y Libre Office. Se admiten documentos de texto (Writer, ODT), hojas de cálculo (Calc, ODS) y presentaciones (Impress, ODP), incluida la compatibilidad del editor de archivos con los formatos complejos y las imágenes incrustadas. Las gráficas tampoco son un problema. Y si quiere proteger sus datos, puede abrir incluso documentos protegidos con contraseña. Otras aplicaciones que utilizan este formato son LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office y 602Office. +ODF es el formato que utilizan las suites ofimáticas como Open Office y Libre Office. Se admiten documentos de texto (Writer, ODT), hojas de cálculo (Calc, ODS) y presentaciones (Impress, ODP), incluidos los formatos complejos y las imágenes incrustadas. Las gráficas tampoco son un problema. Y si quiere proteger sus datos, puede abrir incluso documentos protegidos con contraseña. Otras aplicaciones que utilizan este formato son LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office y 602Office. diff --git a/fastlane/metadata/es-ES/keywords.txt b/fastlane/metadata/es-ES/keywords.txt index 6f7fe63..e68092e 100644 --- a/fastlane/metadata/es-ES/keywords.txt +++ b/fastlane/metadata/es-ES/keywords.txt @@ -1 +1 @@ -doc,docx,xlsx,odp,odg,odf,openoffice,visor,archivos,texto,hojas,cálculo,presentaciones,ofimática +doc,docx,odt,ods,odp,odg,odf,xlsx,pdf,visor,abrir,archivos,ofimática,hojas,cálculo,texto,openoffice diff --git a/fastlane/metadata/es-ES/name.txt b/fastlane/metadata/es-ES/name.txt deleted file mode 100644 index de1f7f9..0000000 --- a/fastlane/metadata/es-ES/name.txt +++ /dev/null @@ -1 +0,0 @@ -LibreOffice: lector y editor diff --git a/fastlane/metadata/es-ES/subtitle.txt b/fastlane/metadata/es-ES/subtitle.txt index 2030d71..30a5d64 100644 --- a/fastlane/metadata/es-ES/subtitle.txt +++ b/fastlane/metadata/es-ES/subtitle.txt @@ -1 +1 @@ -Abrir documentos ODT, ODS, PDF +Leer documentos de LibreOffice diff --git a/fastlane/metadata/fr-FR/description.txt b/fastlane/metadata/fr-FR/description.txt index 0b41bae..9248131 100644 --- a/fastlane/metadata/fr-FR/description.txt +++ b/fastlane/metadata/fr-FR/description.txt @@ -1,13 +1,13 @@ -Consultez et modifiez où que vous soyez les documents créés avec LibreOffice ou OpenOffice grâce à la visionneuse et à l'éditeur de documents ! +Consultez où que vous soyez les documents créés avec LibreOffice ou OpenOffice, peu importe où vous les rangez, grâce à la visionneuse de documents ! -La visionneuse et l'éditeur de documents vous permettent d'ouvrir partout vos fichiers ODF (Open Document Format) créés avec LibreOffice ou OpenOffice. Dans le bus, sur le chemin de l'école, vous voulez relire vos notes avant le grand examen ? Aucun souci ! Avec la visionneuse, vous ouvrez vos fichiers où bon vous semble, puis vous lisez vos documents et y faites des recherches, simplement et clairement. Il ne reste qu'une faute de frappe à corriger avant d'envoyer votre document à vos collègues ? L'éditeur prend désormais en charge la modification des documents ! Rapide, simple et bien intégré. +La visionneuse de documents vous permet d'ouvrir partout vos fichiers ODF (Open Document Format) créés avec LibreOffice ou OpenOffice. Dans le bus, sur le chemin de l'école, vous voulez relire vos notes avant le grand examen ? Aucun souci ! Avec la visionneuse, vous ouvrez vos fichiers où bon vous semble, puis vous lisez vos documents et y faites des recherches, simplement et clairement. Un éditeur de texte est également présent, pour la dernière faute de frappe avant l'envoi d'un document. Il est encore jeune et ne fonctionne pas avec tous les documents : cette application est avant tout une visionneuse. Vos fichiers ODF (ODT, ODS et bien d'autres) créés avec Libre Office ou OpenOffice s'ouvrent aussi depuis d'autres applications. Parmi celles qui sont prises en charge : GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox et beaucoup d'autres ! Ou utilisez notre explorateur de fichiers intégré pour ouvrir les fichiers de votre appareil. -LA VISIONNEUSE ET L'ÉDITEUR DE DOCUMENTS TOUT-EN-UN +LA VISIONNEUSE DE DOCUMENTS TOUT-EN-UN *ouvrez sans effort les fichiers ODF : ODT (writer), ODS (calc), ODP et ODG -*modifiez vos documents pour corriger une faute de frappe, ajouter une phrase, etc +*corrigez une faute de frappe ou ajoutez une phrase avec le jeune éditeur de texte *ouvrez en toute sécurité les documents protégés par mot de passe *recherchez des mots-clés dans vos ODT (writer), ODS (calc) ou ODG et mettez-les en évidence *imprimez vos documents si votre appareil est connecté à une imprimante @@ -18,7 +18,7 @@ LA VISIONNEUSE ET L'ÉDITEUR DE DOCUMENTS TOUT-EN-UN VOS DOCUMENTS AVEC VOUS - OÙ QUE VOUS SOYEZ -Par ailleurs, la visionneuse et l'éditeur de documents ont pour objectif de prendre en charge au mieux de nombreux autres formats de fichiers : +Par ailleurs, la visionneuse de documents a pour objectif de prendre en charge au mieux de nombreux autres formats de fichiers : - Portable Document Format (PDF) - Archives : ZIP - Images : JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG, etc @@ -32,6 +32,6 @@ Par ailleurs, la visionneuse et l'éditeur de documents ont pour objectif de pre - AutoCAD (DXF) - Photoshop (PSD) -Cette application est open source. Nous ne sommes affiliés ni à OpenOffice, ni à LibreOffice, ni à aucun projet similaire. Fabriquée en Autriche. Des publicités sont affichées afin de soutenir le développement de l'application. Vous pouvez les retirer temporairement, gratuitement, depuis le menu de l'application. Tous vos retours par e-mail sont les bienvenus. +Cette application est open source. Nous ne sommes affiliés ni à OpenOffice, ni à LibreOffice, ni à aucun projet similaire. Fabriquée en Autriche. ${ads} Tous vos retours par e-mail sont les bienvenus. -ODF est le format utilisé par les suites bureautiques comme Open Office et Libre Office. Les documents texte (Writer, ODT), les feuilles de calcul (Calc, ODS) et les présentations (Impress, ODP) sont pris en charge, y compris, avec l'éditeur, les mises en forme complexes et les images intégrées. Les graphiques ne posent pas non plus de problème. Et pour protéger vos données, vous pouvez même ouvrir des documents protégés par mot de passe. Les autres applications qui utilisent ce format sont LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office et 602Office. +ODF est le format utilisé par les suites bureautiques comme Open Office et Libre Office. Les documents texte (Writer, ODT), les feuilles de calcul (Calc, ODS) et les présentations (Impress, ODP) sont pris en charge, y compris les mises en forme complexes et les images intégrées. Les graphiques ne posent pas non plus de problème. Et pour protéger vos données, vous pouvez même ouvrir des documents protégés par mot de passe. Les autres applications qui utilisent ce format sont LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office et 602Office. diff --git a/fastlane/metadata/fr-FR/keywords.txt b/fastlane/metadata/fr-FR/keywords.txt index d94dbf9..2d57828 100644 --- a/fastlane/metadata/fr-FR/keywords.txt +++ b/fastlane/metadata/fr-FR/keywords.txt @@ -1 +1 @@ -doc,docx,odp,odg,odf,openoffice,bureautique,tableur,texte,fichiers,visionneuse,diaporama,calc,writer +doc,docx,ods,odp,odg,odf,xlsx,openoffice,visionneuse,bureautique,tableur,diaporama,calc,writer,texte diff --git a/fastlane/metadata/fr-FR/name.txt b/fastlane/metadata/fr-FR/name.txt deleted file mode 100644 index 20a7549..0000000 --- a/fastlane/metadata/fr-FR/name.txt +++ /dev/null @@ -1 +0,0 @@ -LibreOffice : éditeur ODT/ODS diff --git a/fastlane/metadata/fr-FR/subtitle.txt b/fastlane/metadata/fr-FR/subtitle.txt index 92d1a68..bb51199 100644 --- a/fastlane/metadata/fr-FR/subtitle.txt +++ b/fastlane/metadata/fr-FR/subtitle.txt @@ -1 +1 @@ -Lecteur de documents et PDF +Lecteur LibreOffice, ODT, PDF diff --git a/fastlane/metadata/hi/description.txt b/fastlane/metadata/hi/description.txt index 8b8d73e..88c1b0e 100644 --- a/fastlane/metadata/hi/description.txt +++ b/fastlane/metadata/hi/description.txt @@ -1,13 +1,13 @@ -चलते-फिरते भी Document Reader & Document Editor से LibreOffice या OpenOffice में बने डॉक्यूमेंट देखें और उनमें बदलाव करें! +चलते-फिरते Document Reader से LibreOffice या OpenOffice में बने डॉक्यूमेंट पढ़ें - वे जहाँ भी रखे हों! -यह फाइल रीडर और डॉक्यूमेंट एडिटर आपको LibreOffice या OpenOffice में बनी ODF (ओपन डॉक्यूमेंट फॉर्मेट) फाइलें कहीं भी खोलने देता है। बड़े इम्तहान से पहले स्कूल जाती बस में अपने नोट्स पर एक नजर डालनी है? कोई दिक्कत नहीं! Document Reader से आप फाइलें जहाँ चाहें खोल सकते हैं और अपने डॉक्यूमेंट साफ-सुथरे, आसान तरीके से पढ़ सकते हैं और उनमें खोज सकते हैं। साथियों को डॉक्यूमेंट भेजने से पहले बस एक आखिरी टाइपिंग की गलती सुधारनी रह गई है? File Editor अब डॉक्यूमेंट एडिट करने की सुविधा भी देता है! तेज, आसान और ऐप में पूरी तरह घुला-मिला। +यह फाइल रीडर आपको LibreOffice या OpenOffice में बनी ODF (ओपन डॉक्यूमेंट फॉर्मेट) फाइलें कहीं भी खोलने देता है। बड़े इम्तहान से पहले स्कूल जाती बस में अपने नोट्स पर एक नजर डालनी है? कोई दिक्कत नहीं! Document Reader से आप फाइलें जहाँ चाहें खोल सकते हैं और अपने डॉक्यूमेंट साफ-सुथरे, आसान तरीके से पढ़ सकते हैं और उनमें खोज सकते हैं। इसमें एक टेक्स्ट एडिटर भी है, डॉक्यूमेंट भेजने से पहले रह गई आखिरी टाइपिंग की गलती के लिए। वह अभी नया है और हर डॉक्यूमेंट तक नहीं पहुँचता, इसलिए यह ऐप पढ़ने के लिए ही है। LibreOffice या OpenOffice में बनी ODF फाइलें (ODT, ODS और कई और) आप दूसरे ऐप्स के भीतर से भी खोल सकते हैं। सपोर्ट किए जाने वाले ऐप्स में GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox और कई अन्य शामिल हैं! या फिर अपनी डिवाइस पर रखी फाइलें खोलने के लिए हमारे इंटीग्रेटेड फाइल एक्सप्लोरर का इस्तेमाल करें। -एक ही ऐप में डॉक्यूमेंट रीडर और डॉक्यूमेंट एडिटर +एक ही ऐप में पूरा डॉक्यूमेंट रीडर *बिना किसी झंझट के ODF फाइलें खोलें: ODT (writer), ODS (calc), ODP और ODG -*फाइल एडिटर से डॉक्यूमेंट में सामान्य एडिट करें - टाइपिंग की गलती सुधारें, वाक्य जोड़ें वगैरह +*नए टेक्स्ट एडिटर से कोई टाइपिंग की गलती सुधारें या कोई वाक्य जोड़ें *पासवर्ड से सुरक्षित डॉक्यूमेंट सुरक्षित ढंग से खोलें *अपने ODT (writer), ODS (calc) या ODG में कीवर्ड खोजें और उन्हें हाइलाइट करें *डिवाइस प्रिंटर से जुड़ी हो तो डॉक्यूमेंट प्रिंट करें @@ -18,7 +18,7 @@ LibreOffice या OpenOffice में बनी ODF फाइलें (ODT, O डॉक्यूमेंट साथ लेकर चलें - जहाँ भी आप जाएँ -इसके अलावा यह डॉक्यूमेंट रीडर और डॉक्यूमेंट एडिटर कई दूसरे फाइल फॉर्मेट को भी जहाँ तक हो सके सपोर्ट करता है: +इसके अलावा यह डॉक्यूमेंट रीडर कई दूसरे फाइल फॉर्मेट को भी जहाँ तक हो सके सपोर्ट करता है: - पोर्टेबल डॉक्यूमेंट फॉर्मेट (PDF) - आर्काइव: ZIP - इमेज: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG आदि @@ -32,6 +32,6 @@ LibreOffice या OpenOffice में बनी ODF फाइलें (ODT, O - AutoCAD (DXF) - Photoshop (PSD) -यह ऐप ओपन सोर्स है। OpenOffice, LibreOffice या इनसे मिलते-जुलते किसी भी संगठन से हमारा कोई संबंध नहीं है। ऑस्ट्रिया में बना। ऐप का विकास जारी रखने के लिए इसमें विज्ञापन दिखाए जाते हैं। ऐप के मेन्यू से उन्हें कुछ समय के लिए मुफ्त में हटाया जा सकता है। हर तरह की राय ईमेल से भेजें, हमें बहुत अच्छा लगेगा। +यह ऐप ओपन सोर्स है। OpenOffice, LibreOffice या इनसे मिलते-जुलते किसी भी संगठन से हमारा कोई संबंध नहीं है। ऑस्ट्रिया में बना। ${ads} हर तरह की राय ईमेल से भेजें, हमें बहुत अच्छा लगेगा। -ODF वह फॉर्मेट है जिसे Open Office और Libre Office जैसे ऑफिस सुइट इस्तेमाल करते हैं। टेक्स्ट डॉक्यूमेंट (Writer, ODT) के साथ स्प्रेडशीट (Calc, ODS) और प्रेजेंटेशन (Impress, ODP) भी सपोर्ट किए जाते हैं, और फाइल एडिटर जटिल फॉर्मेटिंग व इम्बेडेड इमेज को भी संभाल लेता है। ग्राफ भी कोई समस्या नहीं। अपने डेटा को सुरक्षित रखना चाहें तो पासवर्ड से सुरक्षित डॉक्यूमेंट भी खोल सकते हैं। इस फॉर्मेट को इस्तेमाल करने वाले दूसरे ऐप्लिकेशन हैं LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office और 602Office। +ODF वह फॉर्मेट है जिसे Open Office और Libre Office जैसे ऑफिस सुइट इस्तेमाल करते हैं। टेक्स्ट डॉक्यूमेंट (Writer, ODT) के साथ स्प्रेडशीट (Calc, ODS) और प्रेजेंटेशन (Impress, ODP) भी सपोर्ट किए जाते हैं, जटिल फॉर्मेटिंग और इम्बेडेड इमेज समेत। ग्राफ भी कोई समस्या नहीं। अपने डेटा को सुरक्षित रखना चाहें तो पासवर्ड से सुरक्षित डॉक्यूमेंट भी खोल सकते हैं। इस फॉर्मेट को इस्तेमाल करने वाले दूसरे ऐप्लिकेशन हैं LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office और 602Office। diff --git a/fastlane/metadata/hi/keywords.txt b/fastlane/metadata/hi/keywords.txt index 6ef5151..98a0c66 100644 --- a/fastlane/metadata/hi/keywords.txt +++ b/fastlane/metadata/hi/keywords.txt @@ -1 +1 @@ -doc,docx,odp,odg,odf,openoffice,word,excel,ppt,pptx,xls,xlsx,office,viewer,docs,दस्तावेज,ऑफिस +doc,docx,odt,ods,odp,odg,odf,xls,xlsx,ppt,pptx,pdf,openoffice,viewer,office,word,फाइल,ऑफिस diff --git a/fastlane/metadata/hi/name.txt b/fastlane/metadata/hi/name.txt deleted file mode 100644 index 7d20dd3..0000000 --- a/fastlane/metadata/hi/name.txt +++ /dev/null @@ -1 +0,0 @@ -LibreOffice: Reader & Editor diff --git a/fastlane/metadata/hi/subtitle.txt b/fastlane/metadata/hi/subtitle.txt index 4b1e52b..84e290a 100644 --- a/fastlane/metadata/hi/subtitle.txt +++ b/fastlane/metadata/hi/subtitle.txt @@ -1 +1 @@ -ODT, ODS, PDF फाइल एडिट करें +LibreOffice दस्तावेज रीडर diff --git a/fastlane/metadata/it/description.txt b/fastlane/metadata/it/description.txt index 1b8e5a2..ac0e5e3 100644 --- a/fastlane/metadata/it/description.txt +++ b/fastlane/metadata/it/description.txt @@ -1,13 +1,13 @@ -Visualizza e modifica ovunque tu sia i documenti creati con LibreOffice o OpenOffice, con Document Reader & Document Editor! +Leggi ovunque tu sia i documenti creati con LibreOffice o OpenOffice, dovunque tu li conservi, con Document Reader! -Il lettore di file ed editor di documenti ti permette di aprire i file ODF (Open Document Format) creati con LibreOffice o OpenOffice ovunque ti trovi. Sei sull'autobus verso scuola e vuoi ripassare gli appunti prima dell'esame? Nessun problema! Con Document Reader apri i file dove vuoi e leggi e cerchi nei tuoi documenti in modo semplice e pulito. È rimasto un ultimo errore di battitura da correggere prima di mandare il documento ai colleghi? Ora l'editor di file supporta anche la modifica dei documenti! Veloce, semplice e ben integrato. +Il lettore di file ti permette di aprire i file ODF (Open Document Format) creati con LibreOffice o OpenOffice ovunque ti trovi. Sei sull'autobus verso scuola e vuoi ripassare gli appunti prima dell'esame? Nessun problema! Con Document Reader apri i file dove vuoi e leggi e cerchi nei tuoi documenti in modo semplice e pulito. Qui dentro c'è anche un editor di testo, per l'ultimo errore di battitura prima che un documento parta. È giovane e non arriva ancora a tutti i documenti, perciò questa app resta prima di tutto un lettore. I file ODF (ODT, ODS e molti altri) creati con Libre Office o OpenOffice puoi aprirli anche dall'interno di altre app. Tra quelle supportate ci sono GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox e tante altre! Oppure usa il nostro esplora file integrato per aprire i file che hai sul dispositivo. -IL LETTORE ED EDITOR DI DOCUMENTI TUTTO IN UNO +IL LETTORE DI DOCUMENTI TUTTO IN UNO *apri senza complicazioni i file ODF: ODT (Writer), ODS (Calc), ODP e ODG -*modifica di base dei documenti con l'editor di file, per correggere errori di battitura, aggiungere frasi e altro ancora +*correggi un errore di battitura o aggiungi una frase con il giovane editor di testo *apri in tutta sicurezza i documenti protetti da password *cerca parole chiave nei tuoi ODT (Writer), ODS (Calc) o ODG ed evidenziale *stampa i documenti se il dispositivo è collegato a una stampante @@ -18,7 +18,7 @@ IL LETTORE ED EDITOR DI DOCUMENTI TUTTO IN UNO I TUOI DOCUMENTI SEMPRE CON TE, OVUNQUE TU VADA -Oltre a questo, il lettore ed editor di documenti punta a supportare al meglio anche molti altri formati di file: +Oltre a questo, il lettore di documenti punta a supportare al meglio anche molti altri formati di file: - Portable Document Format (PDF) - Archivi: ZIP - Immagini: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG, ecc. @@ -32,6 +32,6 @@ Oltre a questo, il lettore ed editor di documenti punta a supportare al meglio a - AutoCAD (DXF) - Photoshop (PSD) -Questa app è open source. Non siamo affiliati a OpenOffice, LibreOffice o simili. Made in Austria. La pubblicità serve a sostenere lo sviluppo dell'app e puoi rimuoverla temporaneamente dal menu dell'app. Ogni tuo commento via email è sempre benvenuto. +Questa app è open source. Non siamo affiliati a OpenOffice, LibreOffice o simili. Made in Austria. ${ads} Ogni tuo commento via email è sempre benvenuto. -ODF è il formato usato dalle suite per ufficio come Open Office e Libre Office. Sono supportati i documenti di testo (Writer, ODT), i fogli di calcolo (Calc, ODS) e anche le presentazioni (Impress, ODP), con un editor di file che gestisce la formattazione complessa e le immagini incorporate. Nemmeno i grafici sono un problema. Se vuoi proteggere i tuoi dati, puoi persino aprire documenti protetti da password. Altre applicazioni che usano questo formato sono LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office e 602Office. +ODF è il formato usato dalle suite per ufficio come Open Office e Libre Office. Sono supportati i documenti di testo (Writer, ODT), i fogli di calcolo (Calc, ODS) e anche le presentazioni (Impress, ODP), compresa la formattazione complessa e le immagini incorporate. Nemmeno i grafici sono un problema. Se vuoi proteggere i tuoi dati, puoi persino aprire documenti protetti da password. Altre applicazioni che usano questo formato sono LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office e 602Office. diff --git a/fastlane/metadata/it/keywords.txt b/fastlane/metadata/it/keywords.txt index 884d7d5..7762a53 100644 --- a/fastlane/metadata/it/keywords.txt +++ b/fastlane/metadata/it/keywords.txt @@ -1 +1 @@ -doc,docx,odg,odf,openoffice,file,ufficio,foglio,calcolo,presentazioni,testo,modifica,visualizza,apri +doc,docx,odt,ods,odp,odg,odf,xlsx,pdf,openoffice,file,ufficio,testo,foglio,calcolo,presentazioni diff --git a/fastlane/metadata/it/name.txt b/fastlane/metadata/it/name.txt deleted file mode 100644 index a9f2d23..0000000 --- a/fastlane/metadata/it/name.txt +++ /dev/null @@ -1 +0,0 @@ -LibreOffice: Editor Documenti diff --git a/fastlane/metadata/it/subtitle.txt b/fastlane/metadata/it/subtitle.txt index ce6a8d2..4689aac 100644 --- a/fastlane/metadata/it/subtitle.txt +++ b/fastlane/metadata/it/subtitle.txt @@ -1 +1 @@ -Lettore ODT, ODS, ODP e PDF +Lettore documenti LibreOffice diff --git a/fastlane/metadata/pl/description.txt b/fastlane/metadata/pl/description.txt index 7a7795c..53dcb3e 100644 --- a/fastlane/metadata/pl/description.txt +++ b/fastlane/metadata/pl/description.txt @@ -1,13 +1,13 @@ -Przeglądaj i edytuj w podróży dokumenty utworzone w LibreOffice lub OpenOffice — dzięki przeglądarce i edytorowi dokumentów w jednym! +Czytaj w podróży dokumenty utworzone w LibreOffice lub OpenOffice — wszędzie tam, gdzie je trzymasz, dzięki przeglądarce dokumentów! -Przeglądarka i edytor plików pozwala otwierać dokumenty ODF (Open Document Format) utworzone w LibreOffice lub OpenOffice wszędzie tam, gdzie jesteś. Jedziesz autobusem do szkoły i chcesz jeszcze zerknąć w notatki przed ważnym egzaminem? Żaden problem! Dzięki przeglądarce dokumentów otworzysz pliki, gdziekolwiek chcesz, a swoje dokumenty przeczytasz i przeszukasz w prosty, przejrzysty sposób. Została Ci do poprawienia ostatnia literówka, zanim wyślesz dokument współpracownikom? Edytor plików obsługuje teraz modyfikowanie dokumentów! Szybko, prosto i dobrze zintegrowane. +Przeglądarka plików pozwala otwierać dokumenty ODF (Open Document Format) utworzone w LibreOffice lub OpenOffice wszędzie tam, gdzie jesteś. Jedziesz autobusem do szkoły i chcesz jeszcze zerknąć w notatki przed ważnym egzaminem? Żaden problem! Dzięki przeglądarce dokumentów otworzysz pliki, gdziekolwiek chcesz, a swoje dokumenty przeczytasz i przeszukasz w prosty, przejrzysty sposób. Jest tu również edytor tekstu, na ostatnią literówkę przed wysłaniem dokumentu. Jest młody i nie radzi sobie jeszcze z każdym plikiem, więc ta aplikacja jest przede wszystkim do czytania. Pliki ODF (ODT, ODS i wiele innych) utworzone w LibreOffice lub OpenOffice otworzysz także prosto z innych aplikacji. Obsługiwane są między innymi GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox i wiele więcej! Możesz też skorzystać z wbudowanego eksploratora plików i otworzyć dokumenty zapisane na urządzeniu. -PRZEGLĄDARKA I EDYTOR DOKUMENTÓW — WSZYSTKO W JEDNYM +PRZEGLĄDARKA DOKUMENTÓW — WSZYSTKO W JEDNYM *otwieraj bez trudu pliki ODF: ODT (Writer), ODS (Calc), ODP i ODG -*poprawiaj literówki, dopisuj zdania i wprowadzaj inne podstawowe zmiany w edytorze plików +*popraw literówkę lub dopisz zdanie w młodym edytorze tekstu *bezpiecznie otwieraj dokumenty chronione hasłem *wyszukuj słowa kluczowe w plikach ODT (Writer), ODS (Calc) i ODG oraz podświetlaj wyniki *drukuj dokumenty, jeśli urządzenie jest połączone z drukarką @@ -18,7 +18,7 @@ PRZEGLĄDARKA I EDYTOR DOKUMENTÓW — WSZYSTKO W JEDNYM DOKUMENTY POD RĘKĄ — GDZIEKOLWIEK JESTEŚ -Poza tym przeglądarka i edytor dokumentów stara się jak najlepiej obsługiwać również wiele innych formatów plików: +Poza tym przeglądarka dokumentów stara się jak najlepiej obsługiwać również wiele innych formatów plików: - Portable Document Format (PDF) - Archiwa: ZIP - Obrazy: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG i inne @@ -32,6 +32,6 @@ Poza tym przeglądarka i edytor dokumentów stara się jak najlepiej obsługiwa - AutoCAD (DXF) - Photoshop (PSD) -Ta aplikacja jest oprogramowaniem open source. Nie jesteśmy powiązani z OpenOffice, LibreOffice ani podobnymi projektami. Made in Austria. Reklamy wspierają rozwój aplikacji, a w menu w aplikacji możesz je tymczasowo i bezpłatnie wyłączyć. Bardzo cenimy sobie każdą opinię przesłaną e-mailem. +Ta aplikacja jest oprogramowaniem open source. Nie jesteśmy powiązani z OpenOffice, LibreOffice ani podobnymi projektami. Made in Austria. ${ads} Bardzo cenimy sobie każdą opinię przesłaną e-mailem. -Format ODF wykorzystują pakiety biurowe takie jak Open Office i Libre Office. Obsługiwane są dokumenty tekstowe (Writer, ODT), arkusze kalkulacyjne (Calc, ODS), a także prezentacje (Impress, ODP) — edytor plików radzi sobie przy tym ze złożonym formatowaniem i osadzonymi obrazami. Wykresy również nie stanowią problemu. Jeśli chcesz zabezpieczyć swoje dane, otworzysz nawet dokumenty chronione hasłem. Z tego formatu korzystają też inne programy: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office i 602Office. +Format ODF wykorzystują pakiety biurowe takie jak Open Office i Libre Office. Obsługiwane są dokumenty tekstowe (Writer, ODT), arkusze kalkulacyjne (Calc, ODS), a także prezentacje (Impress, ODP) — łącznie ze złożonym formatowaniem i osadzonymi obrazami. Wykresy również nie stanowią problemu. Jeśli chcesz zabezpieczyć swoje dane, otworzysz nawet dokumenty chronione hasłem. Z tego formatu korzystają też inne programy: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office i 602Office. diff --git a/fastlane/metadata/pl/keywords.txt b/fastlane/metadata/pl/keywords.txt index b97450b..5c690b2 100644 --- a/fastlane/metadata/pl/keywords.txt +++ b/fastlane/metadata/pl/keywords.txt @@ -1 +1 @@ -doc,docx,odp,odg,odf,openoffice,arkusz,kalkulacyjny,prezentacje,przeglądarka,biuro,tekst,office,xlsx +doc,docx,odt,ods,odp,odg,odf,xlsx,pdf,openoffice,przeglądarka,plików,arkusz,kalkulacyjny,prezentacje diff --git a/fastlane/metadata/pl/name.txt b/fastlane/metadata/pl/name.txt deleted file mode 100644 index 621db12..0000000 --- a/fastlane/metadata/pl/name.txt +++ /dev/null @@ -1 +0,0 @@ -LibreOffice: edytor dokumentów diff --git a/fastlane/metadata/pl/subtitle.txt b/fastlane/metadata/pl/subtitle.txt index a1108fb..3911481 100644 --- a/fastlane/metadata/pl/subtitle.txt +++ b/fastlane/metadata/pl/subtitle.txt @@ -1 +1 @@ -Czytnik plików ODT, ODS, PDF +Czytnik dokumentów LibreOffice diff --git a/fastlane/metadata/pt-BR/description.txt b/fastlane/metadata/pt-BR/description.txt index b83fb8a..a2ad7e1 100644 --- a/fastlane/metadata/pt-BR/description.txt +++ b/fastlane/metadata/pt-BR/description.txt @@ -1,13 +1,13 @@ -Visualize e modifique em qualquer lugar os documentos criados no LibreOffice ou no OpenOffice com o leitor e editor de documentos! +Leia em qualquer lugar os documentos criados no LibreOffice ou no OpenOffice, onde quer que você os guarde, com o leitor de documentos! -O leitor e editor de arquivos abre documentos ODF (formato OpenDocument) criados no LibreOffice ou no OpenOffice onde você estiver. No ônibus a caminho da escola, querendo revisar as anotações antes da prova? Sem problema! Com o leitor de documentos você abre seus arquivos onde quiser e lê e pesquisa neles de um jeito limpo e simples. Falta corrigir só mais um erro de digitação antes de enviar o documento aos colegas? Agora o editor de arquivos também permite modificar documentos! Rápido, simples e bem integrado. +O leitor de arquivos abre documentos ODF (formato OpenDocument) criados no LibreOffice ou no OpenOffice onde você estiver. No ônibus a caminho da escola, querendo revisar as anotações antes da prova? Sem problema! Com o leitor de documentos você abre seus arquivos onde quiser e lê e pesquisa neles de um jeito limpo e simples. Aqui dentro também há um editor de texto, para aquele último erro de digitação antes de o documento sair. Ele ainda é novo e não dá conta de todos os documentos, por isso é para a leitura que este app existe. Você também pode abrir arquivos ODF (ODT, ODS e muitos outros) criados no Libre Office ou no OpenOffice a partir de outros apps. Entre os apps compatíveis estão GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox e muitos outros! Ou use o nosso explorador de arquivos integrado para abrir os arquivos que já estão no dispositivo. -O LEITOR E EDITOR DE DOCUMENTOS COMPLETO +O LEITOR DE DOCUMENTOS COMPLETO *abra arquivos ODF: ODT (Writer), ODS (Calc), ODP e ODG sem complicação -*edição básica no editor de arquivos para corrigir erros de digitação, acrescentar frases e mais +*corrija um erro de digitação ou acrescente uma frase com o novo editor de texto *abra com segurança documentos protegidos por senha *pesquise palavras nos seus ODT (Writer), ODS (Calc) ou ODG e veja-as destacadas *imprima documentos se o seu dispositivo estiver conectado a uma impressora @@ -18,7 +18,7 @@ O LEITOR E EDITOR DE DOCUMENTOS COMPLETO DOCUMENTOS SEMPRE COM VOCÊ, ONDE VOCÊ QUISER -Além disso, o leitor e editor de documentos procura abrir da melhor forma possível vários outros formatos de arquivo: +Além disso, o leitor de documentos procura abrir da melhor forma possível vários outros formatos de arquivo: - Portable Document Format (PDF) - Arquivos compactados: ZIP - Imagens: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG etc @@ -32,6 +32,6 @@ Além disso, o leitor e editor de documentos procura abrir da melhor forma poss - AutoCAD (DXF) - Photoshop (PSD) -Este app é de código aberto. Não temos vínculo com o OpenOffice, o LibreOffice ou similares. Feito na Áustria. Os anúncios ajudam a custear o desenvolvimento do app e podem ser removidos temporariamente pelo menu do próprio app. Adoramos receber todo tipo de feedback por e-mail. +Este app é de código aberto. Não temos vínculo com o OpenOffice, o LibreOffice ou similares. Feito na Áustria. ${ads} Adoramos receber todo tipo de feedback por e-mail. -O ODF é o formato usado por suítes de escritório como o Open Office e o Libre Office. São compatíveis documentos de texto (Writer, ODT), planilhas (Calc, ODS) e também apresentações (Impress, ODP), com suporte no editor de arquivos a formatações complexas e imagens incorporadas. Gráficos também não são problema. E se você quiser proteger seus dados, dá até para abrir documentos protegidos por senha. Outros aplicativos que usam esse formato são LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office e 602Office. +O ODF é o formato usado por suítes de escritório como o Open Office e o Libre Office. São compatíveis documentos de texto (Writer, ODT), planilhas (Calc, ODS) e também apresentações (Impress, ODP), incluindo formatações complexas e imagens incorporadas. Gráficos também não são problema. E se você quiser proteger seus dados, dá até para abrir documentos protegidos por senha. Outros aplicativos que usam esse formato são LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office e 602Office. diff --git a/fastlane/metadata/pt-BR/keywords.txt b/fastlane/metadata/pt-BR/keywords.txt index bc59aea..ebc12bc 100644 --- a/fastlane/metadata/pt-BR/keywords.txt +++ b/fastlane/metadata/pt-BR/keywords.txt @@ -1 +1 @@ -doc,docx,pdf,odt,ods,odp,odg,odf,openoffice,arquivos,escritório,visualizador,apresentação,abrir,ler +doc,docx,odt,ods,odp,odg,odf,xlsx,planilhas,apresentação,slides,leitor,abrir,openoffice,arquivos diff --git a/fastlane/metadata/pt-BR/name.txt b/fastlane/metadata/pt-BR/name.txt deleted file mode 100644 index 21acdfc..0000000 --- a/fastlane/metadata/pt-BR/name.txt +++ /dev/null @@ -1 +0,0 @@ -LibreOffice: Leitor e Editor diff --git a/fastlane/metadata/pt-BR/subtitle.txt b/fastlane/metadata/pt-BR/subtitle.txt index e8269a5..5adb1ce 100644 --- a/fastlane/metadata/pt-BR/subtitle.txt +++ b/fastlane/metadata/pt-BR/subtitle.txt @@ -1 +1 @@ -Documentos, planilhas, slides +Documentos LibreOffice e PDF diff --git a/fastlane/metadata/ru/description.txt b/fastlane/metadata/ru/description.txt index 36d8466..8169823 100644 --- a/fastlane/metadata/ru/description.txt +++ b/fastlane/metadata/ru/description.txt @@ -1,13 +1,13 @@ -Просматривайте и редактируйте документы, созданные в LibreOffice или OpenOffice, прямо на ходу — приложение для чтения и редактирования документов! +Читайте документы, созданные в LibreOffice или OpenOffice, прямо на ходу и где бы вы их ни хранили — приложение для чтения документов! -Приложение открывает файлы формата ODF (Open Document Format), созданные в LibreOffice или OpenOffice, где бы вы ни были. Едете в автобусе и хотите просмотреть конспект перед важным экзаменом? Не проблема! Открывайте файлы в любом месте, читайте документы и ищите в них нужное — просто и без лишних действий. Осталось исправить последнюю опечатку перед тем, как отправить документ коллегам? Теперь документы можно редактировать прямо здесь. Быстро, просто и удобно. +Приложение открывает файлы формата ODF (Open Document Format), созданные в LibreOffice или OpenOffice, где бы вы ни были. Едете в автобусе и хотите просмотреть конспект перед важным экзаменом? Не проблема! Открывайте файлы в любом месте, читайте документы и ищите в них нужное — просто и без лишних действий. Здесь есть и текстовый редактор — для последней опечатки перед тем, как отправить документ. Он совсем молодой и подходит пока не к каждому документу, поэтому главное в приложении — чтение. Файлы ODF (ODT, ODS и многие другие), созданные в Libre Office или OpenOffice, можно открывать и из других приложений: GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox и множества других! Или откройте файлы на устройстве через встроенный проводник. -ЧТЕНИЕ И РЕДАКТИРОВАНИЕ ДОКУМЕНТОВ В ОДНОМ ПРИЛОЖЕНИИ +ЧТЕНИЕ ДОКУМЕНТОВ В ОДНОМ ПРИЛОЖЕНИИ *открывайте файлы ODF: ODT (writer), ODS (calc), ODP и ODG без лишних хлопот -*редактируйте документы: исправляйте опечатки, дописывайте предложения и не только +*исправьте опечатку или допишите предложение в молодом текстовом редакторе *безопасно открывайте документы, защищенные паролем *ищите ключевые слова в ODT (writer), ODS (calc) или ODG — они подсвечиваются *печатайте документы, если устройство подключено к принтеру @@ -32,6 +32,6 @@ - AutoCAD (DXF) - Photoshop (PSD) -Это приложение с открытым исходным кодом. Мы никак не связаны с OpenOffice, LibreOffice или подобными проектами. Сделано в Австрии. Реклама помогает развивать приложение, и ее можно временно убрать через меню в приложении. Будем рады любым отзывам по электронной почте. +Это приложение с открытым исходным кодом. Мы никак не связаны с OpenOffice, LibreOffice или подобными проектами. Сделано в Австрии. ${ads} Будем рады любым отзывам по электронной почте. -ODF — это формат офисных пакетов Open Office и Libre Office. Поддерживаются текстовые документы (Writer, ODT), электронные таблицы (Calc, ODS) и презентации (Impress, ODP), в том числе сложное форматирование и встроенные изображения при редактировании. Диаграммы тоже не проблема. А если данные нужно защитить, вы сможете открыть и документы с паролем. Этот формат используют и другие приложения: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office и 602Office. +ODF — это формат офисных пакетов Open Office и Libre Office. Поддерживаются текстовые документы (Writer, ODT), электронные таблицы (Calc, ODS) и презентации (Impress, ODP), в том числе сложное форматирование и встроенные изображения. Диаграммы тоже не проблема. А если данные нужно защитить, вы сможете открыть и документы с паролем. Этот формат используют и другие приложения: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office и 602Office. diff --git a/fastlane/metadata/ru/keywords.txt b/fastlane/metadata/ru/keywords.txt index 176aedc..602a9c2 100644 --- a/fastlane/metadata/ru/keywords.txt +++ b/fastlane/metadata/ru/keywords.txt @@ -1 +1 @@ -doc,docx,xlsx,pdf,ods,odp,odg,openoffice,офис,чтение,текст,файлы,ридер,либре,открыть,презентации +doc,docx,odt,ods,odp,odg,odf,xlsx,pdf,openoffice,просмотр,офис,таблицы,презентации,открыть,ворд diff --git a/fastlane/metadata/ru/name.txt b/fastlane/metadata/ru/name.txt deleted file mode 100644 index cabed15..0000000 --- a/fastlane/metadata/ru/name.txt +++ /dev/null @@ -1 +0,0 @@ -LibreOffice: редактор ODF, ODT diff --git a/fastlane/metadata/ru/subtitle.txt b/fastlane/metadata/ru/subtitle.txt index 5a3551a..62fa67a 100644 --- a/fastlane/metadata/ru/subtitle.txt +++ b/fastlane/metadata/ru/subtitle.txt @@ -1 +1 @@ -Просмотр документов и таблиц +Чтение документов LibreOffice diff --git a/fastlane/metadata/sv/description.txt b/fastlane/metadata/sv/description.txt index 5478a86..1a81c2b 100644 --- a/fastlane/metadata/sv/description.txt +++ b/fastlane/metadata/sv/description.txt @@ -1,13 +1,13 @@ -Visa och redigera dokument som skapats i LibreOffice eller OpenOffice var du än är – med dokumentläsaren och dokumentredigeraren! +Läs dokument som skapats i LibreOffice eller OpenOffice var du än är, var du än förvarar dem – med dokumentläsaren! -Med filläsaren och dokumentredigeraren öppnar du ODF-dokument (Open Document Format) från LibreOffice eller OpenOffice var du än befinner dig. Sitter du på bussen till skolan och vill läsa igenom anteckningarna före det stora provet? Inga problem! Med dokumentläsaren öppnar du dina filer var du vill och läser och söker i dokumenten på ett rent och enkelt sätt. Är det bara ett sista stavfel kvar att rätta innan du skickar dokumentet till kollegorna? Filredigeraren stöder nu redigering av dokument! Snabbt, enkelt och väl integrerat. +Med filläsaren öppnar du ODF-dokument (Open Document Format) från LibreOffice eller OpenOffice var du än befinner dig. Sitter du på bussen till skolan och vill läsa igenom anteckningarna före det stora provet? Inga problem! Med dokumentläsaren öppnar du dina filer var du vill och läser och söker i dokumenten på ett rent och enkelt sätt. Här finns också en textredigerare, för det sista stavfelet innan ett dokument skickas i väg. Den är ung och når ännu inte alla dokument, så det är läsandet appen är till för. Du kan öppna ODF-filer (ODT, ODS och många fler) som du har skapat i LibreOffice eller OpenOffice direkt från andra appar. Bland de appar som stöds finns GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox och många andra! Eller använd vår inbyggda filhanterare för att öppna filer på enheten. -ALLT-I-ETT FÖR ATT LÄSA OCH REDIGERA DOKUMENT +ALLT-I-ETT FÖR ATT LÄSA DOKUMENT *öppna ODF-filer: ODT (Writer), ODS (Calc), ODP och ODG utan krångel -*grundläggande redigering i filredigeraren för att rätta stavfel, lägga till meningar med mera +*rätta ett stavfel eller lägg till en mening med den unga textredigeraren *öppna lösenordsskyddade dokument på ett säkert sätt *sök efter ord i dina ODT (Writer), ODS (Calc) eller ODG och få träffarna markerade *skriv ut dokument när enheten är ansluten till en skrivare @@ -18,7 +18,7 @@ ALLT-I-ETT FÖR ATT LÄSA OCH REDIGERA DOKUMENT DOKUMENTEN MED DIG – VAR DU ÄN ÄR -Dessutom stöder dokumentläsaren och dokumentredigeraren så många andra filformat som möjligt: +Dessutom stöder dokumentläsaren så många andra filformat som möjligt: - Portable Document Format (PDF) - Arkiv: ZIP - Bilder: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG med flera @@ -32,6 +32,6 @@ Dessutom stöder dokumentläsaren och dokumentredigeraren så många andra filfo - AutoCAD (DXF) - Photoshop (PSD) -Appen är öppen källkod. Vi har ingen koppling till OpenOffice, LibreOffice eller liknande. Tillverkad i Österrike. Annonser visas för att finansiera utvecklingen av appen, och de går att ta bort tillfälligt via menyn i appen. Vi uppskattar all form av återkoppling via e-post. +Appen är öppen källkod. Vi har ingen koppling till OpenOffice, LibreOffice eller liknande. Tillverkad i Österrike. ${ads} Vi uppskattar all form av återkoppling via e-post. -ODF är det format som används av kontorspaket som Open Office och Libre Office. Textdokument (Writer, ODT), kalkylblad (Calc, ODS) och presentationer (Impress, ODP) stöds, och filredigeraren klarar även komplex formatering och inbäddade bilder. Diagram är inte heller något problem. Vill du skydda dina uppgifter kan du dessutom öppna lösenordsskyddade dokument. Andra program som använder formatet är LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office och 602Office. +ODF är det format som används av kontorspaket som Open Office och Libre Office. Textdokument (Writer, ODT), kalkylblad (Calc, ODS) och presentationer (Impress, ODP) stöds, även med komplex formatering och inbäddade bilder. Diagram är inte heller något problem. Vill du skydda dina uppgifter kan du dessutom öppna lösenordsskyddade dokument. Andra program som använder formatet är LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office och 602Office. diff --git a/fastlane/metadata/sv/keywords.txt b/fastlane/metadata/sv/keywords.txt index 1dca801..bb12975 100644 --- a/fastlane/metadata/sv/keywords.txt +++ b/fastlane/metadata/sv/keywords.txt @@ -1 +1 @@ -doc,docx,odp,odg,odf,openoffice,dokument,kalkylblad,presentation,kontor,visare,öppna,filer,läsare +odt,ods,odp,odg,odf,doc,docx,xlsx,pdf,openoffice,kontor,filer,kalkylblad,presentation,writer,calc diff --git a/fastlane/metadata/sv/name.txt b/fastlane/metadata/sv/name.txt deleted file mode 100644 index 4d5665f..0000000 --- a/fastlane/metadata/sv/name.txt +++ /dev/null @@ -1 +0,0 @@ -LibreOffice: läsa & redigera diff --git a/fastlane/metadata/sv/subtitle.txt b/fastlane/metadata/sv/subtitle.txt index cb3cb7f..86bf5e7 100644 --- a/fastlane/metadata/sv/subtitle.txt +++ b/fastlane/metadata/sv/subtitle.txt @@ -1 +1 @@ -Dokumentläsare, ODT, ODS, PDF +Dokumentläsare för LibreOffice diff --git a/fastlane/metadata/tr/description.txt b/fastlane/metadata/tr/description.txt index 8132485..837b5b8 100644 --- a/fastlane/metadata/tr/description.txt +++ b/fastlane/metadata/tr/description.txt @@ -1,13 +1,13 @@ -Belge Okuyucu ve Belge Düzenleyici ile LibreOffice veya OpenOffice ile oluşturulmuş belgeleri hareket halindeyken görüntüleyin ve düzenleyin! +Belge Okuyucu ile LibreOffice veya OpenOffice ile oluşturulmuş belgeleri, nerede tutuyorsanız orada, hareket halindeyken okuyun! -Bu dosya okuyucu ve belge düzenleyici, LibreOffice veya OpenOffice ile oluşturulmuş ODF (Open Document Format) belgelerini nerede olursanız olun açmanızı sağlar. Otobüsle okula giderken sınav öncesi notlarınıza bir göz atmak mı istiyorsunuz? Sorun değil! Belge Okuyucu ile dosyalarınızı istediğiniz yerde açar, belgelerinizi temiz ve basit bir görünümde okur, içlerinde arama yaparsınız. Belgenizi iş arkadaşlarınıza göndermeden önce düzeltilecek son bir yazım hatası mı kaldı? Dosya Düzenleyici artık belgelerin düzenlenmesini de destekliyor! Hızlı, basit ve iyi entegre edilmiş. +Bu dosya okuyucu, LibreOffice veya OpenOffice ile oluşturulmuş ODF (Open Document Format) belgelerini nerede olursanız olun açmanızı sağlar. Otobüsle okula giderken sınav öncesi notlarınıza bir göz atmak mı istiyorsunuz? Sorun değil! Belge Okuyucu ile dosyalarınızı istediğiniz yerde açar, belgelerinizi temiz ve basit bir görünümde okur, içlerinde arama yaparsınız. Bir belge yola çıkmadan önceki son yazım hatası için burada bir metin düzenleyici de var. Henüz çok yeni ve her belgeye yetişemiyor, bu yüzden bu uygulamanın asıl işi okumak. LibreOffice veya OpenOffice ile oluşturduğunuz ODF dosyalarını (ODT, ODS ve daha birçoğu) diğer uygulamaların içinden de açabilirsiniz. Desteklenen uygulamalar arasında GMail, Google Drive, iCloud, OneDrive, Nextcloud, Box.net, Dropbox ve daha pek çoğu var! Ya da cihazınızdaki dosyaları açmak için yerleşik dosya gezginimizi kullanın. -HEPSİ BİR ARADA BELGE OKUYUCU VE BELGE DÜZENLEYİCİ +HEPSİ BİR ARADA BELGE OKUYUCU *ODF dosyalarını zahmetsizce açın: ODT (writer), ODS (calc), ODP ve ODG -*yazım hatalarını düzeltmek, cümle eklemek gibi işler için belgelerinizi dosya düzenleyiciyle temel düzeyde düzenleyin +*yeni metin düzenleyiciyle bir yazım hatasını düzeltin ya da bir cümle ekleyin *parola korumalı belgeleri güvenle açın *ODT (writer), ODS (calc) veya ODG belgelerinizde anahtar kelime arayın ve bulunanları vurgulayın *cihazınız bir yazıcıya bağlıysa belgeleri yazdırın @@ -18,7 +18,7 @@ HEPSİ BİR ARADA BELGE OKUYUCU VE BELGE DÜZENLEYİCİ BELGELERİNİZ YANINIZDA - NEREDE OLURSANIZ OLUN -Bunlara ek olarak belge okuyucu ve belge düzenleyici, diğer birçok dosya biçimini de elinden geldiğince desteklemeyi amaçlar: +Bunlara ek olarak belge okuyucu, diğer birçok dosya biçimini de elinden geldiğince desteklemeyi amaçlar: - Portable Document Format (PDF) - Arşivler: ZIP - Resimler: JPG, JPEG, GIF, PNG, WEBP, TIFF, BMP, SVG vb. @@ -32,6 +32,6 @@ Bunlara ek olarak belge okuyucu ve belge düzenleyici, diğer birçok dosya biç - AutoCAD (DXF) - Photoshop (PSD) -Bu uygulama açık kaynaklıdır. OpenOffice, LibreOffice veya benzeri programlarla herhangi bir bağlantımız yoktur. Avusturya'da üretilmiştir. Uygulamanın geliştirilmesini desteklemek için reklam gösterilir. Reklamları uygulama içi menüden geçici olarak kaldırabilirsiniz. Her türlü geri bildiriminizi e-posta ile bize iletmenizden memnuniyet duyarız. +Bu uygulama açık kaynaklıdır. OpenOffice, LibreOffice veya benzeri programlarla herhangi bir bağlantımız yoktur. Avusturya'da üretilmiştir. ${ads} Her türlü geri bildiriminizi e-posta ile bize iletmenizden memnuniyet duyarız. -ODF, Open Office ve Libre Office gibi ofis paketlerinin kullandığı biçimdir. Metin belgeleri (Writer, ODT), elektronik tablolar (Calc, ODS) ve sunumlar (Impress, ODP) desteklenir; dosya düzenleyici karmaşık biçimlendirmeyi ve gömülü resimleri de destekler. Grafikler de sorun değildir. Verilerinizi korumak isterseniz parola korumalı belgeleri bile açabilirsiniz. Bu biçimi kullanan diğer uygulamalar: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office ve 602Office. +ODF, Open Office ve Libre Office gibi ofis paketlerinin kullandığı biçimdir. Metin belgeleri (Writer, ODT), elektronik tablolar (Calc, ODS) ve sunumlar (Impress, ODP) desteklenir; karmaşık biçimlendirme ve gömülü resimler de buna dahildir. Grafikler de sorun değildir. Verilerinizi korumak isterseniz parola korumalı belgeleri bile açabilirsiniz. Bu biçimi kullanan diğer uygulamalar: LibreOffice, OpenOffice, NeoOffice, StarOffice, Go-oo, IBM Workplace, IBM Lotus Symphony, ChinaOffice, AndrOpen Office, Co-Create Office, EuroOffice, KaiOffice, Jambo OpenOffice, MagyarOffice, MultiMedia Office, MYOffice, NextOffice, OfficeOne, OfficeTLE, OOo4Kids, OpenOfficePL, OpenOfficeT7, OxOffice, OxygenOffice, Pladao Office, PlusOffice, RedOffice, RomanianOffice, SunShine Office, ThizOffice, UP Office, White Label Office, WPS Office Storm, Libre Office, Collabora Office ve 602Office. diff --git a/fastlane/metadata/tr/keywords.txt b/fastlane/metadata/tr/keywords.txt index 55a9ae4..beda24b 100644 --- a/fastlane/metadata/tr/keywords.txt +++ b/fastlane/metadata/tr/keywords.txt @@ -1 +1 @@ -doc,docx,odp,odg,odf,openoffice,dosya,ofis,editör,tablo,sunum,doküman,okuyucu,elektronik,txt,csv,rtf +doc,docx,odt,ods,odp,odg,odf,xlsx,openoffice,görüntüleyici,dosya,ofis,doküman,tablo,sunum,metin diff --git a/fastlane/metadata/tr/name.txt b/fastlane/metadata/tr/name.txt deleted file mode 100644 index 11fb5bc..0000000 --- a/fastlane/metadata/tr/name.txt +++ /dev/null @@ -1 +0,0 @@ -LibreOffice: Belge Düzenleyici diff --git a/fastlane/metadata/tr/subtitle.txt b/fastlane/metadata/tr/subtitle.txt index 5d7aece..5767abb 100644 --- a/fastlane/metadata/tr/subtitle.txt +++ b/fastlane/metadata/tr/subtitle.txt @@ -1 +1 @@ -ODT, ODS, PDF Görüntüleyici +LibreOffice, PDF belge okuyucu diff --git a/scripts/store-copy.py b/scripts/store-copy.py index a011c2d..a6a625c 100755 --- a/scripts/store-copy.py +++ b/scripts/store-copy.py @@ -249,7 +249,11 @@ def english(version, model, attempts): def translate(locale, version, source, model, attempts, review=True): - description = (listing.METADATA / locale / "description.txt").read_text(encoding="utf-8").strip() + # the description is shown to the agent as the app already speaks that + # language, so the ${...} an app fills in comes out rather than being read + # as something the listing says + path = listing.METADATA / locale / "description.txt" + description = listing.fill_in(path.read_text(encoding="utf-8"), [], where=path.name).strip() draft = produce( TRANSLATION_PROMPT.format( diff --git a/scripts/store-listing.py b/scripts/store-listing.py index 3816cb7..73498f6 100755 --- a/scripts/store-listing.py +++ b/scripts/store-listing.py @@ -11,9 +11,15 @@ # staged directory rather than at fastlane/metadata itself, and what is copied # in is named here rather than being whatever happens to be lying around. # -# scripts/store-listing.py --version 1.41 check the notes -# scripts/store-listing.py --version 1.41 --stage DIR notes alone -# scripts/store-listing.py --version 1.41 --stage DIR --full the whole listing +# scripts/store-listing.py --version 1.41 check the notes +# scripts/store-listing.py --version 1.41 --stage DIR notes alone +# scripts/store-listing.py --version 1.41 --stage DIR --app pro the whole listing +# +# The two apps share one listing and differ in a few places, so what is staged +# is read in three passes - `fastlane/metadata//`, then the app's own +# `all/`, then its `/` - and the last one to hold a file wins. A +# `${name}` left in any of that text is filled in the same way, from the app's +# `name.txt`, or with nothing where the app has none. # # A release run checks before it builds, so a version missing a translation # fails in seconds rather than once both apps are uploaded. @@ -21,13 +27,19 @@ import argparse import os -import shutil +import re import sys from pathlib import Path ROOT = Path(__file__).resolve().parent.parent METADATA = ROOT / "fastlane" / "metadata" +# What each app says instead. `/all/` is read into every locale, `/de-DE/` +# into that one - so a name that is the same in every language is one file, and a +# sentence that has to be translated is eleven. +APPS = ("pro", "lite") +EVERY_LOCALE = "all" + # what App Store Connect takes in one locale's "What's New" LIMIT = 4000 @@ -53,6 +65,26 @@ # category files say where the app sits in the store. Neither is release copy, # and a release is a poor moment to discover either had drifted. +# What App Store Connect refuses, rather than truncates. Checked against what is +# staged, since that is what goes up - a name is short enough on its own and too +# long once an app has added a word to it. +LIMITS = { + "name.txt": 30, + "subtitle.txt": 30, + "keywords.txt": 100, + "promotional_text.txt": 170, + "description.txt": LIMIT, + "release_notes.txt": LIMIT, +} + +# The names a `${...}` may have. Declared, so that a misspelt one is an error +# rather than a sentence that quietly disappears from the store. +FILL_INS = ("ads",) + +# the space in front comes with it, so a fill-in the app leaves empty does not +# leave a double space in the middle of a sentence +FILL_IN = re.compile(r"( ?)\$\{([a-z_]+)\}") + def locales(metadata=METADATA): """The locales the listing has, in order.""" @@ -69,6 +101,46 @@ def copy_path(locale, version, metadata=METADATA): return metadata / locale / "changelogs" / f"{version}.txt" +def sources(app, locale, metadata=METADATA): + """Where one locale's text is read from, least specific first.""" + places = [metadata / locale] + if app: + own = metadata.parent / f"metadata-{app}" + places += [own / EVERY_LOCALE, own / locale] + return places + + +def read(name, places): + """The last of `places` to hold `name`, or None. An empty file does not count: + deliver reads one as "leave this be" rather than as "clear it", so a blank + override would silently be no override at all.""" + found = None + for place in places: + path = place / name + if not path.is_file(): + continue + text = path.read_text(encoding="utf-8") + if text.strip(): + found = text + return found + + +def fill_in(text, places, where): + """Replace every `${name}` with what the app says, or with nothing.""" + + def replace(match): + space, name = match.groups() + if name not in FILL_INS: + raise ValueError( + f"{where}: ${{{name}}} is not one of {', '.join(FILL_INS)} - " + f"add it to FILL_INS in {Path(__file__).name} or fix the spelling" + ) + said = (read(f"{name}.txt", places) or "").strip() + return space + said if said else "" + + return FILL_IN.sub(replace, text) + + def collect(version, metadata=METADATA): """The copy of every locale. Returns (texts by locale, reasons it is not usable).""" texts = {} @@ -93,35 +165,49 @@ def collect(version, metadata=METADATA): return texts, problems -def stage(texts, directory, full=False, metadata=METADATA): +def stage(texts, directory, app=None, metadata=METADATA): """Write the metadata tree deliver uploads. - The release notes of this version always. With `full`, the rest of the - listing text beside them - which is what makes this repository, rather than - App Store Connect, the place the listing is written. + The release notes of this version always. With `app`, the rest of the listing + text beside them, as that app says it - which is what makes this repository, + rather than App Store Connect, the place the listing is written. """ directory = Path(directory) + if app and app not in APPS: + raise ValueError(f"no such app: {app} - one of {', '.join(APPS)}") + + oversized = [] + + def write(folder, name, text, places): + text = fill_in(text, places, where=f"{folder.name}/{name}") + limit = LIMITS.get(name) + if limit and len(text.strip()) > limit: + oversized.append(f"{folder.name}/{name} is {len(text.strip())} characters, over the store's {limit}") + (folder / name).write_text(text, encoding="utf-8") - for locale, text in texts.items(): + for locale, notes in texts.items(): folder = directory / locale folder.mkdir(parents=True, exist_ok=True) - (folder / "release_notes.txt").write_text(text + "\n", encoding="utf-8") + places = sources(app, locale, metadata) - if not full: + write(folder, "release_notes.txt", notes + "\n", places) + + if not app: continue for name in LOCALISED: - source = metadata / locale / name - # an empty file would say nothing to deliver anyway, which reads it - # as "leave this be" rather than "clear it" - if source.is_file() and source.read_text(encoding="utf-8").strip(): - shutil.copyfile(source, folder / name) + text = read(name, places) + if text is not None: + write(folder, name, text, places) - if full: + if app: for name in NON_LOCALISED: - source = metadata / name - if source.is_file() and source.read_text(encoding="utf-8").strip(): - shutil.copyfile(source, directory / name) + text = read(name, [metadata, metadata.parent / f"metadata-{app}"]) + if text is not None: + (directory / name).write_text(text, encoding="utf-8") + + if oversized: + raise ValueError("the store would refuse this listing:\n " + "\n ".join(oversized)) return directory @@ -146,9 +232,9 @@ def main(argv=None): help="also write the deliver metadata tree into DIR", ) parser.add_argument( - "--full", - action="store_true", - help="stage the whole listing, not the release notes alone", + "--app", + choices=APPS, + help="stage the whole listing as this app says it, not the release notes alone", ) args = parser.parse_args(argv) @@ -168,10 +254,10 @@ def main(argv=None): if args.stage: try: - stage(texts, args.stage, full=args.full) - except OSError as reason: + stage(texts, args.stage, app=args.app) + except (OSError, ValueError) as reason: return fail(str(reason)) - what = "the listing and notes" if args.full else "the notes" + what = f"the {args.app} listing and notes" if args.app else "the notes" print(f"staged {what} of {len(texts)} locales for {version} in {args.stage}") else: print(f"{version} has store copy in all {len(texts)} locales: {', '.join(texts)}") From 8609d7cb26b230e1403826b691febca0b9ac73c7 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 16 Aug 2026 15:43:18 +0200 Subject: [PATCH 6/6] Fail the release when a language or a field goes missing Both were counted up from what was on disk. A locale that lost its directory, or only its description, simply stopped being a locale: the check passed with ten, and that storefront kept whatever the console said. The eleven are written down now. Same for the listing itself. A field found nowhere was left out of what is staged, and App Store Connect reads a field it was not given as "leave this be" - so the run meant to replace the old words would have kept them instead. The name is the easiest to lose, since each app says it in one file for all eleven languages. Both come from the review of the Android half, opendocument-app/OpenDocument.droid#593. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Xryx81PvamT674wzzQujjg --- scripts/store-listing.py | 74 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+), 7 deletions(-) diff --git a/scripts/store-listing.py b/scripts/store-listing.py index 73498f6..8b65499 100755 --- a/scripts/store-listing.py +++ b/scripts/store-listing.py @@ -22,7 +22,10 @@ # `name.txt`, or with nothing where the app has none. # # A release run checks before it builds, so a version missing a translation -# fails in seconds rather than once both apps are uploaded. +# fails in seconds rather than once both apps are uploaded. Which languages +# there are, and which files a listing cannot be without, are written down below +# rather than counted up from what is on disk: either going missing should stop +# the release, not leave that storefront quietly as the console had it. # `scripts/store-copy.py` writes the release notes this reads. import argparse @@ -40,23 +43,53 @@ APPS = ("pro", "lite") EVERY_LOCALE = "all" +# The languages the store sells the app in. Written down rather than counted up +# from whatever directories are there: a locale that loses its description, or +# its directory altogether, would otherwise drop out of the check and out of the +# upload alike, and the release would pass without ever mentioning it. +LOCALES = ( + "de-DE", + "en-US", + "es-ES", + "fr-FR", + "hi", + "it", + "pl", + "pt-BR", + "ru", + "sv", + "tr", +) + # what App Store Connect takes in one locale's "What's New" LIMIT = 4000 # The text of the listing, per locale, as deliver names it. Listed rather than # globbed so that adding a file here is a decision: everything in this set is # pushed over whatever App Store Connect currently says. -LOCALISED = ( +# +# What a listing cannot be without. None of the three passes holding one of these +# is an error rather than a file left out of what is staged: deliver reads a +# field it was not given as "leave this be", so the console would keep the old +# words through the one run meant to replace them. The name is the easiest to +# lose - each app says it in a single file, for all eleven languages at once. +REQUIRED = ( "name.txt", "subtitle.txt", "description.txt", "keywords.txt", +) + +# The rest, which a locale may genuinely not have. +OPTIONAL = ( "promotional_text.txt", "marketing_url.txt", "support_url.txt", "privacy_url.txt", ) +LOCALISED = REQUIRED + OPTIONAL + # Attached to the version rather than to a locale. NON_LOCALISED = ("copyright.txt",) @@ -87,13 +120,30 @@ def locales(metadata=METADATA): - """The locales the listing has, in order.""" + """The locales the listing has, in order. Every one of LOCALES, or an error.""" # `review_information` and the loose category files sit beside them, so a # description is what makes a directory one of them found = sorted(d.name for d in metadata.iterdir() if (d / "description.txt").is_file()) - if not found: - raise ValueError(f"{metadata} holds no locale directories") - return found + + lost = [locale for locale in LOCALES if locale not in found] + strange = [locale for locale in found if locale not in LOCALES] + if lost or strange: + reasons = [] + if lost: + reasons.append(f"nothing to read in {', '.join(lost)} under {metadata}") + if strange: + reasons.append( + f"{', '.join(strange)} is not one of the languages the store sells in - " + f"add it to LOCALES in {Path(__file__).name} if it now is" + ) + raise ValueError("the listing is not in the languages it should be:\n " + "\n ".join(reasons)) + + return sorted(LOCALES) + + +def shown(path): + """A path as it is worth reading in an error: from the repository, where it is in it.""" + return path.relative_to(ROOT) if path.is_relative_to(ROOT) else path def copy_path(locale, version, metadata=METADATA): @@ -148,7 +198,7 @@ def collect(version, metadata=METADATA): for locale in locales(metadata): path = copy_path(locale, version, metadata) - display = path.relative_to(ROOT) if path.is_relative_to(ROOT) else path + display = shown(path) if not path.is_file(): problems.append(f"{locale}: no {display}") @@ -177,6 +227,7 @@ def stage(texts, directory, app=None, metadata=METADATA): raise ValueError(f"no such app: {app} - one of {', '.join(APPS)}") oversized = [] + unsaid = [] def write(folder, name, text, places): text = fill_in(text, places, where=f"{folder.name}/{name}") @@ -199,6 +250,8 @@ def write(folder, name, text, places): text = read(name, places) if text is not None: write(folder, name, text, places) + elif name in REQUIRED: + unsaid.append(f"{name}, in none of {', '.join(f'{shown(p)}/' for p in places)}") if app: for name in NON_LOCALISED: @@ -206,6 +259,13 @@ def write(folder, name, text, places): if text is not None: (directory / name).write_text(text, encoding="utf-8") + if unsaid: + raise ValueError( + "the listing does not say everything it has to:\n " + + "\n ".join(unsaid) + + "\nUnwritten is not blank: App Store Connect would keep what it already has." + ) + if oversized: raise ValueError("the store would refuse this listing:\n " + "\n ".join(oversized))